Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jetty, Tomcat, Nginx, Geronimo, Glassfish: I'm confused

As someone new to the Java EE ecosystem, I'm confused with these products which share a tremendous amount of keywords. And half of them come from Apache software foundation.

Can someone address me with a brief distinctive explanation for each of them?

like image 548
parsa Avatar asked Jan 17 '11 11:01

parsa


People also ask

Which is better Glassfish or Tomcat?

Tomcat is very popular for simple web applications, as compared to Glassfish. By comparison, Tomcat server administration is easier than Glassfish administration, since there are fewer moving parts in Tomcat. Both Tomcat and Glassfish are open sources and free, but they have different licenses.

Is Nginx same as Tomcat?

Key Differences between Nginx vs Tomcat Apache Tomcat is an HTTP web server that is basically designed to process Java servlets, whereas Nginx is an open-source, efficient, and very high-performance web server and a reverse proxy server.

What is Tomcat and Glassfish?

Tomcat is merely an HTTP server and Java servlet container. JBoss and GlassFish are full-blown Java EE 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 Java EE servers weigh in at hundreds of megs.

What is Tomcat and Nginx?

Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and WebSocket technologies. Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.


3 Answers

Jetty and Tomcat are web-containers, while Geronimo, Glassfish and JBoss support the whole J2EE stack (more or less). And, tataaa, they use/include Tomcat or Jetty for web-containers. The most important part of a fullblown J2EE server besides the web-container used to be the EJB-container allowing for deployment of EJBs, having them run in a transactional context etc. Today, J2EE is actually called Java EE. Entity EJBs (JPA) can run outside the EJB-container, say in Tomcat, but then outside the transaction handling that an EJB-container would provide.

like image 164
Jon Martin Solaas Avatar answered Oct 18 '22 23:10

Jon Martin Solaas


Tomcat and Jetty are web servers can manage servlets, but not Java EE.

Glassfish and JBOSS can manage Java EE fully.

And Nginx is a HTTP server and a reverse proxy. You can for example load balance multiple deployed Glassfish instances behind an nginx server.

Nginx is also used for security reasons, so you can hide your application server behind it.

like image 37
H6. Avatar answered Oct 18 '22 21:10

H6.


They are all application/web servers.

How would you compare Apache Tomcat & Glassfish as production servers?

http://www.opensource-it.com/enterprise_software/http_servers

like image 1
Navi Avatar answered Oct 18 '22 21:10

Navi