views:

192

answers:

3

I am starting to look into Enterprise Java and the book I am following mentions that it will use JBoss. Netbeans ships with Glassfish. I have used Tomcat in the past.

What are the differences between these three programs?

+4  A: 

Tomcat is just a servlet container, i.e. it implements only the servlets and jsp specification. Glassfish and JBoss are full JEE servers(including stuff like EJB, JMS, ...), with Glassfish being the reference implementation of the latest JEE 6 stack, but JBoss is not fully supporting it yet.

Petar Minchev
+1  A: 

jboss and glassfish include tomcat as the servlet container, however the two application servers (jboss and glassfish) also provide a bean container (and a few other things aswell I imagine)

NimChimpsky
Glassfish can do anything Tomcat can but that does not mean it "includes" Tomcat. Glassfish has it's own web container.
Martin
+1  A: 

Tomcat is merely an HTTP server and Java servlet container. JBoss and GlassFish are full-blown JEE application servers, including an EJB container and all the other features of that stack. On the other hand, Tomcat has a lighter memory footprint (~60-70 MB), while those JEE servers weigh in at hundreds of megs. Tomcat is very popular for simple web applications, or applications using frameworks such as Spring that do not require a full JEE server. Administration of a Tomcat server is arguable easier, as there are fewer moving parts.

However, for applications that do require a full JEE stack (or at least more pieces that could easily be bolted-on to Tomcat), JBoss and GlassFish are two of the most popular open source offerings (the third one being Apache Geronimo). JBoss has a larger and deeper user community, and a more mature codebase. However, JBoss lags significantly behind GlassFish in implementing the current JEE specs. Also, for those who prefer a GUI-based admin system... GlassFish's admin console is extremely slick, whereas most administration in JBoss is done with a command-line and text editor. GlassFish comes straight from Sun/Oracle, with all the advantages that can offer. JBoss is NOT under the control of Sun/Oracle, with all the advantages THAT can offer.

Steve Perkins