quality@glassfish.java.net

Re: Differences between Tomcat and Glassfish

From: Jan Luehe <Jan.Luehe_at_Sun.COM>
Date: Tue, 16 Sep 2008 11:00:17 -0700

On 09/16/08 01:56 AM, Dick Davies wrote:
> On Tue, Sep 16, 2008 at 6:01 AM, Alan Vargas <Alan.Vargas_at_sun.com> wrote:
>
>> Hello everyone,
>>
>> Well, I'm a Sun Campus Ambassador in Mexico, and each of us in all of the
>> world we will celebrate the Software Freedom Day in our campus. I will be
>> celebrating this event on September 20th, and i will talk about Glassfish to
>> my fellow students, but some of they've been used another server like Tomcat
>> and Apache...my question for you is:
>>
>> Which are the differences between Glassfish and Apache & Tomcat...?
>>
>
> off the top of my head (and comparing to early TC5, which is when I
> lasted used tomcat)
>
> * admin gui / asadmin are decent (no editing server.xml)
> * full JEE stack
> * Grizzy works better than Coyote (no need to put apache in front of Glassfish)
> * excellent clustering support
> * strong monitoring
>

Thanks, Dick. for starting the list.

Following are a few more GlassFish differentiators with respect to Tomcat:

- Support for dynamic reconfiguration of virtual servers and HTTP listeners
  (no server restart required)

- More fine-grained associations between virtual servers and HTTP listeners

- Support for default web modules

- Alternate docroots at virtual server and web module levels

- Support for "ad-hoc contexts" (used by Java Web Start and EJB
  webservice endpoints)

- In-memory (JSR 199 style) JSP compilations

- Various session management enhancements for enterprise quality
  clustering features, including HADB and in-memory replication

- Pluggable HTTP session id generators

- Support for serialization of otherwise non-serializable classes stored
  as HTTP session attributes, including javax.naming.InitialContext and
  non-serializable objects that may be part of an EJB SFSB's conversational
  state

- Support for Java Authentication and Authorization JSRs (JSR 115 & JSR 196)

- Virtual server security realms

- Various I18N enhancements for HTTP request encoding detection
  (configurable in sun-web.xml)

- Various performance optimizations, including flattened valve invocation

- Support for bytecode preprocessing (required to support EJB 3.0
persistence
  entities bundled inside standalone web applications)

- Extension points to support JSR 289 Converged HTTP sessions


Jan