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?
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.
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.
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.
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.
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With