In August 2003, Apache Software Foundation (the team responsible for the development of the popular Apache HTTP server) announced plans to create an Open-source, certified Java-EE server-so that Geronimo was born. As the Java EE compliant server, Geronimo is a large project that includes a different set of features. In the 1th installment of this two-part series, I'll introduce Geronimo from the user's perspective, giving you a correct understanding of the scope of the project really involved. Then I'll explain some of the terms that you'll definitely encounter when you're learning the Geronimo document or analyzing the source code for this project. Finally, a brief overview of Geronimo from the perspective of system design--there are several important concepts.
After reading this article, as a user of the server, you can further explore Geronimo-and even participate in the development of this open source project. Part 2nd of this series will provide some hands-on experience with the server, and will explore the configuration, development, and management of the application in more detail.
I sincerely thank the Geronimo team's Geir Magnusson, Jr., Jeremy Boynes, David jencks and Alan D. Cabrera for their valuable comments on the first draft of this article.
GERONIMO:J2EE 1.4 Compliant Servers
As a Java EE server, Geronimo can deploy and run WEB applications and enterprise applications. You can use Java serverpage (JSP), servlet, filter, and Enterprise JavaBean (EJB) to build your application. The application can access the external RDBMS through the Java Data Access API (JDBC) connector, access the directory service through Java naming and directory Interface (JNDI), and through the Java message Ser Vice (JMS) accesses transactional message queues, accesses e-mail through JavaMail, and so on.
For the Geronimo project, there are advantages and disadvantages to doing the Java EE certification (see the cost of certification). To qualify for certification, Geronimo must support all mandatory functions specified in the Java EE specification (see Resources). The specification also refers to a set of other specifications that have their own mandatory terms. Figure 1 shows some of the things that have to be done to qualify for Geronimo.
Figure 1. As a Java EE 1.4 compliant server for Geronimo
In Figure 1, the bold text in the box is the name of a particular API, and italics indicate how Geronimo is implementing them at the moment. You may have recognized some of the italicized project names.