This article is participating in “Java Theme Month – Java Debug Notes Event”, see < Event link > for more details.

Lift to ask:Tomcat,JBoss,GlassfishWhat’s the difference?

I’m learning enterprise-class Java. The book I read uses JBoss as a server. Netbeans recommends Glassfish. I used to use Tomcat

Is there any difference between the three server software?

Answer a

You should use GlassFish as a javaee enterprise application.

Here are some concepts:

Web Server concept: Handling HTTP requests (usually from a browser)

Servlet container concept: It can handle servlets and JSPS

Application server concept: it manages javaee applications (typically servlets/JSPS/ejbs)

Tomcat: an open source Apache project with two versions:

  1. Tomcat - Web profile– a lightweight application server that does not support Javaee features such as EJB, JMS, etc
  2. Tomcat EE– this is a certified Javaee container that supports all Javaee technologies

No business support available (only community support)

JBoss: maintained by Redhat, it is a certified Javaee container with full stack support for Javaee. It also comes in two versions:

  1. Community Edition (AS)– Community support only
  2. Enterprise Edition (EAP)– You must have a license to use it (it is based on the number of cores on the server)

Glassfish: maintained by Orcale, this is also a full-stack certified Javaee container that has its own web container. Because it comes from Oracle itself, all new specifications will be tested and implemented using Glassfish first, so it always supports the latest specification.

Answer two

Tomcat is simply an HTTP server and Java Servlet container. JBoss and GlassFish are mature javaee application servers. Tomcat has a smaller memory footprint (about 60 to 70MB), while those javaee servers weigh hundreds of megabytes. Tomat is commonly used on simple web applications, or with framework applications such as Spring that do not require a full javaee server, which is easy to manage because it has few components.

However, JBOSS and GlassFish are two popular open source projects for applications that require a full javaee stack. JBoss has a more active user community and a more mature code base. However, JBoss is significantly behind GlassFish in implementing the javaee specification. Also, GlassFish’s administration console is very flexible for those who prefer guI-based administration systems, whereas most of the administration in JBoss is done through the command line and text editor. GlassFish comes directly from Sun/Oracle and has all the advantages it can provide. JBoss is not managed by Sun/Oracle.

The article translated from Stack Overflow:stackoverflow.com/questions/3…