Wednesday March 26, 2008
My first entry/blog on blogs.sun.com: Comparing GlassFish v2 to Geronimo v2.0.0
Recently I did a comparison of two open source products, Sun's GlassFish project VS IBM's Geronimo project. Here are 12 bullet points for your consideration. There are a few standout features in favour of GlassFish over Geronimo, these include:
1/ To download Geronimo you need to log in and leave behind your reasons for the download; "still looking", evaluating etc. etc. GlassFish does not ask for such details when downloading...
2/ Support for the up-most / latest standards in GlassFish compared to Geronimo, for example: The WebSphere Application Server CE 2.0 supports (ships with): XML-Web Services (JAX-WS)/JAX-Binding (JAXB) 2.0, compared to 2.1 in GlassFish.
3/ In Geronimo to configure virtual hosts, clustering, deployment to clusters you need to use their CLI, GlassFish has a central administration console for this (CLI or GUI console), as mentioned here: virtual-host To deploy an app to a certain virtual host in Geronimo: Deploying an app to a virtual host (again via command line). Compared to: Clustering web applications with GlassFish
4/ Everything you can do via the administration console, you can do via the CLI, see: Administration console and CLI for more information. [A far more powerful CLI tool than Geronimo has on offer]
5/ Clustering support is limited in Geronimo, as listed here This feature does not replicate stateful session Enterprise JavaBeans (EJBs). You will need to avoid stateful session EJBs in your distributed applications. This feature does not replicate dynamic updates to the Java Naming and Directory Interface (JNDI). You will need to configure all the JNDI names used by your distributed applications in every node of the cluster. This feature does not replicate distributable web applications to other nodes in the cluster. You will need to deploy your distributable web applications to every node. GlassFish v2 has full clustering support, see wiki entry Clustering can be administered through the GUI Console as listed here (and VIA command line). Applications can also be deployed to a cluster using the GUI console/CLI.
6/ The Documentation is weak in Geronimo compared to GlassFish, for example the administration guide, see Tuning Java under the Administration section here compared to GlassFish's JVM tuning
7/ The JVM settings need to be changed from command line (for Geronimo) using "VI" (or your chosen file editor), in GlassFish, you can change these settings through the management console.
8/ In Geronimo the common libraries area is interesting. The console lists each and every library from different directories (a.k.a. very basic classpath management IMO)
9/ The admin console for Geronimo, ("http://.:8080/console" ) runs on the same port as the TomcatWebConnector, a.k.a "HTTP" for the Web Server component.
10/ WebSphere CE 2.0 has limited support for 64bit JVM's (can only use IBM's) see for more information Geronimo's 64bit JVM Support
11/ GlassFish v2 has call-flow monitoring built in to the admin console for example Call Flow Monitoring in GlassFish and Call Flow Monitoring in GlassFish
12/ Glassfish has a unique position in the market right now whereby, the same binaries that are released to open-source form Sun's Commercially Supported Application 9.1, see: Productizing Open Source Projects for more information, the only differences being listed here: FAQ GlassFish VS SJSA91 With Geronimo you get to use Java EE 5, but when you need to move to clustering, failover etc. etc. and you move to WebSphere 6.1 you need to make sure your code is 1.4 compliant. The feature packs don't currently cover the full Java EE 5 spec.
Please don't hesitate to leave comments below and I'll be sure to respond where I can.
Posted at 03:02PM Mar 26, 2008 by Chris Fleischmann in GlassFish | Comments[0]