views:

380

answers:

4

I need to design a web service layer on top of an existing application. Really, I'm most interested in WS-Security and JMS support, possibly JTA.

What is the best server to use for this? Would it be a wise decision to go with lightweight Tomcat (which I'm experienced with), or would I be better off with a server that implements the full J2EE stack, such as JBoss, Weblogic, or even Glassfish?

+2  A: 

You may want to experiment with JBoss and see how it can go with what you want, though, if you want to stay with Tomcat, you may want to look at the Spring Framework and see if that will have the features you want, as it is a way to have J2EE without having a J2EE container.

It depends on if you want to experiment with some ideas and see what will work for you, or just doing one thing, and stick with it regardless.

I tend to experiment until I feel comfortable that I know enough to make the best decision.

Personally I would go with Tomcat and Spring, but I have used Spring before.

It would be helpful if you could give a use case for using some of the features you mentioned, to see if there may be a better answer.

James Black
+4  A: 

Generally, unless you know that you're trying to use JEE services particularly, you're better off with just Tomcat. The JEE environment is very heavyweight; J2EE was designed with really big environments like eBay in mind. (I wrote Sun's first J2EE architecture course; I've been following these arguments for a long time.)

But then, you say "JMS" which is strictly a JEE service.

Charlie Martin
And migrating from Tomcat to a full JEE stack is relatively straightforward.
skaffman
+1  A: 

Unless you need something in the J2EE stack that Tomcat doesn't offer, I would use Tomcat.

Plus you can always change later if you decide you want to use items from the J2EE stack if don't code specifically for the container.

Stephane Grenier
A: 

I think you should start using a full-stack JEE container. You can of course attach JEE functionality to Tomcat, but when you're sticking together JMS, JTA, WS, etc. what you're doing is building JEE server by yourself. JBoss, Glassfish, JonAS etc they all provide an already tested and (hopefully) more stable solution than yours :)

Megadix