views:

1859

answers:

8
+8  Q: 

Best J2EE server

At my shop, we use WebSphere, but I hate it with a passion.

  • Updates are a nightmare
  • It's not J2EE compliant
  • Automated deploys are very difficult

What is the best J2EE Application Server out there and why?

Edit: We see largish scale activity 50k+ daily logins, 50ish Web Applications, Several MDBs and an EJB.

+13  A: 

We Use Glassfish.

  • updates are a breeze
  • it's fully J2EE compliant
  • automated deploys are easy (through the asadmin command line interface)
  • it has a very nice administration UI which lets you tweak a running server in every way you need to
  • it's robust, stable, well supported and documented
  • it receives regular security and performance updates
  • it's free
  • it doesn't leak memory on redeploying our projects, like Tomcat has a tendency to do
rustyshelf
A: 

It depends what you want to use it for. I use Jetty for setting up development servers, because you can check the entire thing into source control along with a script to start it up running your web app. A new developer can download the code and have a running server with only the VCS, Java, and a browser installed.

Jetty probably isn't the best choice for a bank's account management site, though.

_**Edit:** Okay, this is off-topic since you're asking about a huge installation. Honestly, I've never met an enterprise-scale Java app server that wasn't painful on some level._

Jason Wadsworth
jetty is not an enterprise server
NimChimpsky
+1  A: 

I can't believe I'm going to post this, but I'd say that I've had my best experience with Oracle's oc4j/OAS. I was first forced to use it when my company was bought by Oracle, and had to port from Weblogic/Websphere to it.

Plusses:

  • Use oc4j on development servers. It's a very lightweight J2EE-compliant container. It is simple to install, restarts quickly, and supports auto deployment of apps (drop into a target directory).
  • In production, use OAS, which provides a full-scale platform for managing clustered servers, integrates with an Apache front-end easily, and has pretty decent management capabilities. For example, to scale your server, click a button to add a new JVM underneath it.
  • Your code in the production environment is still running under an oc4j instance, just like in development, so the risk of seeing something new is eliminated (well, drastically reduced anyway).

The major problem with it is that it's going to be retired by Oracle in favor of Weblogic eventually (probably 1 1/2 to 2 years away).

John Stauffer
that must be the reason why they bought Weblogic and now deprecating OAS
01
Not my experiences at all. OC4J isn't J2EE-compliant and there are major differences between the standalone OC4J and the full blown app server.
John Topley
A: 

We're a Jboss shop, but I think the plan is for us to move into Tomcat 6 (we're quite a way behind the Jboss curve as it stands). Jboss has some annoyances though!

Mat Mannion
tomcat its not a full app/enterprise server. It does not support ejb
NimChimpsky
A: 

I use Apache Tomcat. It's easy to use and it's free. I've never had any problems with it.

http://tomcat.apache.org/

Michael Angstadt
its not an ejb container, thus not a full app/enterprise server : http://en.wikipedia.org/wiki/Application_server#Java_application_servers
NimChimpsky
Tomcat is a Web Container, not a full blown Java EE Application Server.
Ophidian
+2  A: 

Your comments about WebSphere are interesting. What version were you running and on what platform? I admit that earlier version left a little to be desired (especially 3.x and 4) but later version are much better. As always it depends on exactly what you are doing, but if you want a high availability server that can scale both horizontally and vertically then WebSphere is a good place to start. In terms of updates and deployments I have worked in places were we have been able to do CI deployments into a WAS environment.

But my answer would be WAS as the best application server. I have used JBOSS, Glassfish and Jetty as well. I found the earlier versions of BEA to very good but haven't used it in a while...

mransley
+2  A: 

Weblogic is exepensive, but one feature that makes it enterprise ready is that it can be configured via wlconfig scripts. Many app servers can only be configured via an admin console which is error-prone. Scripts can be checked into a configuration management system which makes configuration a repeatable process.

Paul Croarkin
A: 

Webs' fear sucks beyons any recognition! Certainly in combination with RAD you are sure your developer productivity level drops to a ratio of getting stuff done about 2 hours a day. The other 6 hours you're fixing problems with either deploying, solving bugs, setting your project settings straight again because it suddenly changed your build-path settings and so on. With RAD and Webs'Fear you will get the feeling your app behaves totally different every time and is maybe even alive and an incarnation of the devil himself crawling around in your computer and I totally mean this! I have never ever in my 16 year-career encountered anything so totally suck suck sucking as this product! It is as bad as the installation scripts of OS2 in the ninetees. Oh crap, true, wasn't that IBM as well? How these guys manage to remain so big is a total mystery to me!! There must exist a LOT of morons in companies deciding to go IBM, really...

Lawrence
This is not an answer to the question. You should post this type of comment as, well, a comment. Though, of course, you can't leave comments til you get 50 reputation.
Jeff