GlassFish VS Tomcat

Overview: GlassFish and Tomcat

GlassFish is the open source application server delivered by Sun Microsystems for the Java EE platform. which was originally launched by Sun in 2005. On 4 May 2006, Project GlassFish released the first version that supports the Java EE 5 specification.Currently it is avaiable for versions 3.0.1, 3.1, 3.2 and 4.0 with themes revolving around clustering, virtualization and integration with Coherence and other Oracle technologies. It is a fast, in security, production-quality, high expansibility, industry-leading Java EE containers.

Overview is free software, which under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL).Also commercially supported to adds an enterprise-quality app server to the options available to the open source community and builds on the foundation set by Sun Java System AppServer.

Apache Tomcat(or Jakarta Tomcat or simply Tomcat) is an open source software implementation of the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed under the Java Community Process.it is very popular in java commiunty. In general, applications that run on Tomcat will also run unchanged on GlassFish. Tomcat is supported Native Windows and Unix wrappers for platform integration.

GlassFish vsTomcat difference

Glassfish, JBoss, Websphere, etc. are heavy weight application servers that support the EJB standard and many more advanced features out of the box, GlassFish is a collection of Java EE containers, one of which is a Web container, Tomcat is only a Web container .

Web Container Feature Alignment: GlassFish vs Tomcat

Compounding the advantages of GlassFish Server and GlassFish Web Container over Tomcat, the GlassFish Community has provided support for well-known features of Tomcat within GlassFish. The table below summarizes the Tomcat features that are provided by GlassFish and the additional GlassFish capabilities not currently provided by Tomcat. Here is a table with ClassFish vs tomcat  features.

Pri Standard features Tomcat GlassFish v2 GlassFish v3
1 Tomcat valves Yes Yes Yes
2 mod_jk support Yes Yes Yes
3 Tomcat valves Yes Yes Yes
4 Webdav support Yes Yes Yes
5 CGI support Yes Yes Yes
6 Tomcat bug ixes Yes Yes Yes
7 Java EE certiied Yes
8 Servlet 2.5, JSP 2.1 Yes Yes
9 JSF 1.2 Yes Yes
10 Metro Web Services stack(NET interoperability) Yes Yes
11 jMaki (AJAX framework) Yes Yes
12 Jersey/JAX-RS 1.0 (RESTful Web Services) Yes Yes
13 Sophisticated Admin console and CLI Yes Yes
14 JMX Yes Yes
15 Node Agent and Cluster Management Yes
16 Upgrade Tool Yes
17 Application client container Yes
18 Java Webstart support Yes Yes
19 Tomcat bug ixes Yes Yes
20 JDBC Connection Pooling Yes Yes Yes
21 JTA/JTS Yes Yes
22 J2EE Connector Architecture 1.5 Yes Yes
23 Native jRuby/Rails deployment—no need for servlet container Yes
24 Rapid redeployment—maintain session state on redeploy Yes
25 Veriication tools Yes Yes
26 Image Packaging System (IPS) tools Yes
27 Grizzly(Java NIO) Yes Yes
28 Comet (HTTP Push) Yes Yes
29 CORBA Yes Yes
30 Modular architecture based on OSGi Yes
31 Embeddable Server Yes
32 Centralized admin of load balancer plug-in Yes
33 High availability Yes Yes
34 In-memory compilation of JSPs Yes
35 Integration with Identity Manager, Access Manager, Registry Server, and Java Business Integration Yes

GlassFish VS Tomcat Performance Comparison

GlassFish and Tomcat testing environment
Version: Sun Java System Application Server 9.1_02 (build b04-fcs) (glassfish stable version)
Tomcat 5.5.25
OS:  linux
Testing Tool: Jmeter
Target: jruby on rails

Tomcat Performance Results:

Label #Samples Average Median 90% Line Min Max Error % Throughput KB/sec
Http Request 400 12695 1390 41641 187 58031 20.75% 2.6/sec 153.7

GlassFish Performance Results:

Label #Samples Average Median 90% Line Min Max Error % Throughput KB/sec
Http Request 1000 25539 22453 39719 5109 83094 0.00% 3.7/sec 282.4

Reference

https://glassfish.dev.java.net/
http://tomcat.apache.org/
Oracle glassfish whitepaper

Rate article
ASJAVA.COM
Add a comment

Your email address will not be published. Required fields are marked *

  1. Vatar

    Tomcat also supports Java Web Start.

    Reply
  2. Sam

    Technically inaccurate – Tomcat supports JMX, and ASF provides bugfixes for Tomcat. Intellectually a dishonest article.

    Reply
  3. Thai Dang Vu

    Why did you use Glassfish v2, v3 prelude and Tomcat 5.5, 6 in the comparisons in Oct 2010? Why not use Glassfish v3, 3.1 and Tomcat 7?

    Reply
  4. Justin Lee

    Uh, no it isn’t. It is more reasonable to compare the latest stable releases of all the software. Anything else is pointless noise that does little to help clarify technology decisions. Especially if you’re using *prerelease* software like GlassFish v3 Prelude. At the very least, don’t call Prelude the current version because it very obviously is not.

    Reply
  5. admin author

    Tomcat 5.5 is an acknowledged stable version and mostly widely used, So I take it do comparison. it is more reasonable and Convincing to compare tomcat and Glassfish which was both released in the same time.

    Reply
  6. Julio Aguilar

    In the table of features, what is “Tomcat bug ixes”? Why is repeated in lines 6 and 19?
    If you mean bug fixes, why should glassfish have tomcat bug fixes?

    Why different sample numbers for the perormance test?

    Reply
  7. Satish

    GlassFish v3 – Will this doest support “Integration with Identity Manager, Access Manager, Registry Server, and Java Business Integration”, where as GlassFish v2 Supports

    Reply
  8. pblakez

    Total bull Tomcat 6.0.18..20 has been stable for ages even hosting providers have had it for a year

    Reply
  9. Huang

    Why for glassfish you use 1000 samples while for tomcat you use 400 samples? Won’t the differences affect the performance itself?

    Reply
  10. Rafael

    Nice updated comparison table, just what I was looking for 🙂
    If there were any conclusions of this article, what would they be? For what I see, there’s no advantage on using Tomcat over Glassfish, right? Even if we are only deploying the Web container..

    Reply