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. Cheers, Greg. On Jan 8, 2015, at 11:34 PM, Dennis Reedy <dennis.re...@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 <tras...@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 <tras...@stratuscom.com> wrote: >> >>> >>> On Jan 8, 2015, at 8:17 PM, Dennis Reedy <dennis.re...@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 >> >