Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

JBoss, Geronimo, or Tomcat?

Three open source Java application servers compared

  • Print
  • Feedback

Page 3 of 4

Hibernate 3.x support

Hibernate provides object-relational mapping (ORM) services for the Java language. Its easy-to-use framework lets you map an object-oriented model into a traditional relational database, which is a powerful advancement for Java development. Put simply, Hibernate manages persistence by allowing you to store POJOs in an SQL database of virtually any type. The SQL data access is then transparent to your application, making application data and object management much easier.

Hibernate is an open source package, originally developed by a team led by Gavin King of JBoss. It now runs on many Java EE servers, and works with J2SE as well. JBoss 4.2, Geronimo 2, and Tomcat 6 all support Hibernate 3.

JBoss Seam support

JBoss Seam is a powerful application framework that unifies a number of Java and Web technologies such as asynchronous JavaScript and XML (Ajax), JSF, EJB 3, Java Portlets, and business-process management (BPM).

Seam is a JBoss project, so JBoss 4.2 naturally supports it, as does Geronimo 2. According to the makers of Seam, they have ensured that Seam applications can run on Tomcat using the JBoss embeddable EJB 3 container.

Clustering support

Clustering is the term for running several parallel servers, all of which provide the same services, yielding what's often called "high availability": because more clients can be supported by your cluster of servers, if one servers in the cluster dies, the other servers will still support the clients. In the case of Java EE servers, the Java applications are still accessible even if one server in the cluster dies. Clustering provides scalability for enterprise Java applications, improves performance, and eliminates a single point of failure.

JBoss 4.2, Geronimo 2, and Tomcat 6 all support clustering in some way. According to Chantal Yang, JBoss uses a "high-performance and reliable clustering layer through buddy replication and fine-grained replication." On Geronimo 2, a patch made to correct clustering issues was released recently, so there may still be some testing to be done with Geronimo on this point. If you are interested in using Geronimo with clustering, consult the Apache Software Foundation.

Eclipse IDE support

Eclipse is arguably the most popular IDE for Java development, so integrating it with your Java EE server is one way to foster good development. JBoss, Geronimo, and Tomcat all support Eclipse integration. JBoss has its own version of Eclipse, called Red Hat Developer Studio, which is in beta at the time of this writing.

Installation and deployment

Installation notes
Tomcat 6 and JBoss 4.x are packaged in a tar file using GNU's tar command. Solaris, Mac OS X, and other Unix systems with a non-GNU tar command will not be able to expand the GNU tar file. Solution: simply get the GNU Tar program. Geronimo has downloads specific for non-GNU Unix-type systems, so you won't encounter this problem with Geronimo installs.

Installing all three of the Java servers under test is extremely easy. Aside from expanding the downloaded zip or tar package, all you need to do is set the JAVA_HOME environment variable to point to your Java 1.5 installation. You must set this environment variable before running the startup or shutdown scripts to start and stop these servers. Note that with Linux/Unix systems you might need to issue a chmod command to give execute permissions to the scripts.

Deployment

Geronimo 2 really shines when it comes to general configuration and deployment. I found it a breeze to configure and deploy a Java application through its Web console (see Figure 1 below). As Jeff Genender explains

The Geronimo console includes a lot of different wizards to help make the configuration of the application server as simple as possible. Geronimo includes wizards that allow you to test database connection pools, security realms, etc. [...] Instead of having to edit XML configuration, or stopping and restarting a server, you can walk through an easy to use wizard [... ]The database connection pool wizard will even download most drivers right off the Internet for you, so you do not have to find the proper driver for your database.

The Geronimo console also allows you to configure most features of its embedded Tomcat 6 container, without ever needing to touch an XML configuration file.

Geronimo Web console

Figure 1. Geronino Web console (click for larger image)

  • Print
  • Feedback

Resources

Downloads:

More about Java EE application servers: