Glassfish v3 - The Killer Java EE 6 Appserver Is Out - Top Ten Favorites

Glassfish v3 - the killer appserver for the killer platform (Java EE 6) is out. What I like: 

  1. Easy installation: you can use the installer or just download the ZIP and extract it. Even easier than Glassfish v2 - you had to execute an ANT target to install the domain.
  2. Built-in monitoring capabilities: you can monitor web applications, EJBs, JMS directly from the admin console, command line or JMX. 
  3. Stability / high quality: Although I even tested the esoteric parts of the spec (like TransactionSynchronizationRegistry), It was really hard to find a serious bug. I filed some issues - but none of them would be show stopper in a real world project.
  4. Administration: You can monitor, deploy your applications and configure glassfish through the admin console, command line, direct XML editing (actually not directly supported, but works very well) and REST interface.
  5. Developer friendliness: Glassfish v3 is tightly integrated with Eclipse, IntelliJ and NetBeans. Incremental deployment of EJBs / JSF 2.0 / REST / JMS (EARs, EJB-JARs or WARs) takes < 300 ms on average - just by saving the class. If it takes considerably longer - your virus scanner is probably turned on :-). Glassfish v3 is embeddable - you can fire up your EJB container in few seconds.
  6. Lightweight nature: The footprint is rather low. You can run midrange applications with -Xmx512m. The full Java EE 6 server (zip) is about 75 MB. Together with NetBeans it takes about 145 MB (Mac OS X). The EJB 3.1 container is smaller, than 1 MB.
  7. Performance / Scalability: Glassfish V2 won some performance metrics. Glassfish v3 seems (I didn't compared them yet) to be as fast as V2. I already managed to connect with several thousands clients via Grizzly. During a load test we accidentally opened several thousands HTTP, Stateful Session Bean, JPA sessions with standard configuration. Glassfish v3 just worked.
  8. Bleeding edge: HK2, REST administration interface, update configuration, DTrace / BTrace support, JRuby, Python, PHP support. 
  9. Hype compliance: Glassfish v3 is (probably) the only server which you can run on Felix and Equinox OSGi kernel. Although I successfully avoided unnecessary use of OSGi in my projects so far - it's not KISS - I was asked about the OSGi support. It is good to be able to answer the question with a double "yes".
  10. Standard compliance: Glassfish v3 is the reference implementation of the Java EE 6. It implements all required specs pretty well.
If you need some projects to play with Glassfish v3 - most of the 34 http://kenai.com/projects/javaee-patterns/ projects were developed and tested with Glassfish v3.

Comments:

The download link for Netbeans 6.8 final release doesn't seem to work in both IE and Opera. Do know if there is an alternative download page?

Posted by alex on December 10, 2009 at 06:41 PM CET #

The link is now working

Posted by alex on December 10, 2009 at 06:59 PM CET #

Alternate download page (when java.net is down): http://sun.com/glassfishv3 or http://java.sun.com/javaee/downloads/index.jsp

Posted by Alexis MP on December 10, 2009 at 11:36 PM CET #

Glassfish V3 doesn't provide any high availability or clustering support, which is a very important feature for most enterprise applications. So, although it has a lot of potential, until it provides these features there will be limited adoption in production quality systems.

Jboss on the other hand is coming up with a full JEE6 compliant AS with full clustersing support soon.

Let me know what you think

Posted by Raz on January 29, 2010 at 04:15 AM CET #

Funny how I come across this 2 years later and JBoss still hasn't shipped a commercial version of Java EE 6...

Posted by Alexis MP on December 09, 2011 at 02:52 PM CET #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments
License