On 03/29/2011 12:48 PM, gonzalo diethelm wrote:
> Hi John, great insights (and confirmations) of my guesses...
>
>> I too want some kind of container support for my java apps that are run
>> from jars.  The use of initd and all works but it doesnt feel right -
>> whereas a container like tomcat does.  I am considering OSGI containers -
>> but lack any experience there.  J2EE app servers seem too heavyweight.  So
>> much container that I will never use and I would sooner gnaw off my own
>> arm than do EJBs to myself
> Exactly my feelings. In fact, we DO use EJBs "to ourselves" all over the 
> place, and it sucks (or so it seems to me) in terms of performance and 
> maintainability.

Depending on the app, I usually use either Winstone or Jetty-runner
instead of a full blown appserver. Both are combined with spring.

With winstone I use the winstone-maven plugin to create a jarfile that
contains all dependencies. I then deploy the jar using a custum
puppetscript that gives the service a port number and builds the
surrounding infrastructure - i.e. a userid, a directory to run the
service in and an init.d script for the service.

Thus a run my services all as different processes on my hosts instead of
all existing in a single JVM. This makes it easy to debug and upgrade
single services without worrying about sideeffects - and I do not have
to learn OSGi.

It also makes it very easy to keep all dependencies in my pom file.

I haven't gotten quite as far using jetty-runner for my own wars, but it
works very well for Solr.

If someone has a simple maven setup for doing the same thing as the
winstone-maven plugin does but for Jetty, I'm all ears :)

Regards,
Tarjei



>> In terms of exposure I would go for REST over soap all day long.  As soon
>> as you go for SOAP you have to accept that all SOAP toolkits suck
>> differently.  I fully agree with the REST zealots - it is blissfully
>> simple making it easy to understand and consume.
> Great, thanks for confirming this.
>
>> I'm not sure I have seen
>> a CAMEL component that gives you the sophistication needed - or I haven't
>> seen an example.  I would generally build an app for this kind of exposure
>> - either Spring MVC or - and I think I am warming more to this - a grails
>> app.  I like the grails app because it gives you the URL mapping config
>> explicitly.  Spring would tempt you to use the annotations which are cool
>> - but distribute your URL mappings throughout the code base
> Could you expand on this? The proof-of-concept I am working on has:
>
> * A RESTful service that exposes queries and updates on a set of entities 
> (accounts, balances, etc.).
> * A servlet client that uses this service to provide information to a web 
> app. The web app itself is not yet built (and that is not my cup of tea 
> anyway), but my design implies that the servlet should be able to call my 
> RESTful service in order to access its business logic.
>
> I have concluded that a good way to build the client part (my servlet) is via 
> Spring; it provides templates for all the ways I foresee to access my 
> services (REST and JMS) and it makes it simple to call all the services by 
> using "{}" placeholders.
>
> I am still not sure how to package this thing. It seems to me a good 
> architecture for my example would have all these layers:
>
> 1. A pure POJO defining a model object (such as an Account).
> 2. On the service side, POJO #1 is used in conjunction with an ORM layer 
> (Hibernate, JPA, etc.) to access the RDBMS.
> 3. On the client side, POJO #1 is used to encapsulate data returned from my 
> service.
> 4. On the client side, I would also need an AccountManager class to 
> encapsulate all the REST comings and goings, so that any code that has to 
> call the service can simply do it through an instance of this class. This way 
> the URL mappings would be consolidated in a single place.
> 5. This would all have to be packaged smartly, so that the client side does 
> not require any unneeded JARs (such as Hibernate).
>
> This is what I meant when I asked about "the stubs on the client side". If I 
> change POJO #1, I would have to modify AccountManager; if I wanted to keep 
> track of this automatically, things start looking pretty close to more 
> traditional Web Service tooling.
>
>> You have Websphere and you have my sympathies.  I have been dealing with
>> that lately and its made me consider a career change!!!
> I try to look at it as a black box, but I can see the operations guys slowly 
> loosing their minds managing the beast...
>
>> Hope this helps - significantly to coax contributions from some of the
>> guys on here.  They seem pretty good to me
> It helps a lot, thanks again.
>


-- 
Regards / Med vennlig hilsen
Tarjei Huse
Mobil: 920 63 413

Reply via email to