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?
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?
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.
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)
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.