river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Trasuk <tras...@stratuscom.com>
Subject Re: Getting Started
Date Fri, 09 Jan 2015 06:23:26 GMT

Hi Dennis:

There is some work pending...The overall plan is like this:

- Show the browser, because the browser is useful.  I agree that it’s a bad example, and
frankly, I was shocked to find it was in the examples section of the JTSK (I long ago put
it into separate module and forgot where it came from and how to build it).  However the browser
is great for seeing that you actually have some services deployed.  This portion is not so
much instructive example, as providing a utility.  Also, it lets us begin to introduce the
idea of policy files,  configurations and the Service Starter.

(One could argue that you could just run the browser out of the JTSK directory.  But I honestly
think that a look at the JTSK will simply scare people off, and is unnecessary since we published
to Central.  I’ll repeat my assertion that the vast majority of people who write web apps
have never compiled Tomcat or any other part of JEE).

- Add enough pieces to run the infrastructure services.  Initially just Reggie, probably,
but then whatever other services the examples need.  You need the infrastructure after all,
and this shows a little more about how configurations work, as well as the Service Starter.

- Add a service module, properly structured into API and implementation, as we’ve been talking
about.  Initially, this service is plain old Jeri, no authentication, etc.

- Add a client module that talks to that service.  Type in your name, it calls the hello service,
service responds with ‘hi there’.

- Would be kind of nice to have a web app client for the service too, but personally I was
going to leave that for later.

- Add another configuration that adds-in SSL-based security.  I suspect that this might be
more instructive as a completely separate server and client.  We’ll see how we feel when
we get there.

The github links are basically the hello-world and its api and client, as implemented for
the River Container project (hence the hello-module, not required for plain old River).  I’ll
likely just copy them over to ‘river-examples’.  In the case of my container project,
it doesn’t need the browser or infrastructure services, because they’re built and packaged
with the container.

Anyhow, that’s where I’m going with this. The goal is to be able to say “Hey, you want
that micro-service thing everybody’s talking about?  Here’s how to do it with River”.
 And then point people to a set of well-documented examples.

 I suspect it would be interesting to have an example with Gradle as well.  Could that fit
in with this project?  My gut feel is that it might be confusing to have both build styles
together.  Perhaps you might want to wait til I have the other examples done, then port it?
 Should be pretty easy, since as you say, the module structure is probably similar.



On Jan 8, 2015, at 11:34 PM, Dennis Reedy <dennis.reedy@gmail.com> wrote:

> Greg,
> Wow, I really liked the other link(s) better. Are there commits pending? All I see is
the browser, and I don't think the browser is at all a good reference for an example. Is that
where you're going?
> Thanks
> Dennis
>> On Jan 8, 2015, at 916PM, Greg Trasuk <trasukg@stratuscom.com> wrote:
>> Misfired on the url below.  The project at https://svn.apache.org/repos/asf/river/river-examples/river-examples/trunk
is straight River, not the github url below.
>> Cheers,
>> Greg Trasuk
>> On Jan 8, 2015, at 9:12 PM, Greg Trasuk <trasukg@stratuscom.com> wrote:
>>> On Jan 8, 2015, at 8:17 PM, Dennis Reedy <dennis.reedy@gmail.com> wrote:
>>>> I don't know if pushing your River container approach is best for an example,
but a stock River example with straight forward conventions allows developers to understand
how to structure a project, how to build it, and most importantly how to test it. Without
those basic fundamentals of an example it doesn't make much sense to pursue. 
>>> I’m not pushing the river container here.  The project in https://github.com/trasukg/river-container-examples
is straight River, with the one caveat that (as we discussed on the list a few weeks ago)
I have pulled out the old com.sun.jini.start package to a different project, which is at https://svn.apache.org/repos/asf/river/river-rt-tools/trunk',
and renamed it to ‘org.apache.river.tools.rt.start’.  I only mentioned the river container
examples to show that we’re in basic agreement on how to structure a project that implements
a service and client.
>>> Now if you ask me, the convoluted structure of a Starter-based project makes
its own argument for a container, but that’s a whole different conversation.
>>> But in any case, I’ll try to add the actual client and service examples into
the examples project in the next few days, and then I think you’ll see that we’re really
not disagreeing very much.  I’m planning on yer basic ‘hello-world’ service. 
>>> Cheers,
>>> Greg Trasuk

View raw message