Geronimo Application Server

From Wikipedia, the free encyclopedia

Apache Geronimo
Apache Geronimo Logo

Apache Geronimo Web based console
Developer: Apache Software Foundation
Latest release: 1.1.1 / September 18, 2006
OS: Cross-platform
Use: Web Application Server
License: Apache 2.0 Licence
Website: http://geronimo.apache.org

The Geronimo project is a free software application server developed by the Apache Software Foundation and distributed under the Apache license.

Geronimo is currently compatible with the Java 2 Platform, Enterprise Edition (J2EE) 1.4 specification. When compared to other application servers such as JBoss, WebLogic and WebSphere, Geronimo's most distinctive features are its:

  • Modular GBean-based architecture, which allows users to remove unneeded services and build very lightweight configurations of the server
  • Non-Profit ASF leadership, which provides legal protection, ensures stability across the loss of individual contributors and insulates the project from commercial conflicts of interest
  • Diverse support community, in which companies compete freely and openly to provide services, with none enjoying any particular trademark advantage

Software consulting giant IBM has provided considerable support to the project through marketing, code contributions, and the funding of several project committers. In October 2005, IBM announced a free edition of its WebSphere application server named Websphere Application Server Community Edition suite based on Geronimo.

Other commercial supporters include AMD, Chariot Solutions, Simula Labs and Virtuas.

Contents

[edit] Open Source Projects

Like most other enterprise operating systems, Geronimo is built on a kernel -- a microkernel that lays the foundation for everything above it. Geronimo's kernel is J2EE agnostic. Its sole purpose is to manage Geronimo's building blocks. Geronimo is marked by a sleek architectural design which is based on the concept of Inversion of Control (IoC) (sometime called dependency injection), which means that the kernel has no direct dependency on any of its components. The kernel is a framework for services that controls the service life cycle and registry. The kernel is based on Java 2 Platform, Enterprise Edition (J2EE). It works with the services and components to build specific configurations -- one of which is a full J2EE stack. A majority of the Geronimo services are added and configured through GBeans to become a part of the overall application server. A GBean is the interface that connects the component to the kernel. Each GBean can maintain state, depend on, and interrelate with other GBeans, and operate on events from the kernel and other GBeans. It is possible to switch between two servlet containers, for example Jetty or Tomcat without affecting the whole architecture using a GBeans interface.

This flexible architecture helps Geronimo developers integrate several existing, field-tested open-source projects to meet their goal (not reinventing the wheel). Many of these projects are mature and well known.

Here a list of the open source component are included in the Geronimo project.

Component Description
Apache Tomcat Web application server supporting Java Servlet 2.4 and JavaServer Pages™ (JSP) 2.0
Jetty Web application server supporting Java Servlet 2.4 and JavaServer Pages 2.0 -- an alternative to the Tomcat server
ActiveMQ Open source Java Message Service (JMS) 1.1 applications provider and supporter of message-driven beans (MDBs)
OpenEJB Open source Enterprise JavaBeans (EJB) Container System and EJB Server that supports Enterprise JavaBeans at the 2.1 level, including Container Managed Persistence 2 (CMP2) and EJB Query Language (EJBQL)  [1]
ServiceMix Is an Open source (ESB) and component suite based on the Java Business Interface (JBI) standard on JSR 208.  [1]
Apache Axis and Scout A Simple Object Access Protocol (SOAP) implementation (Axis) and JSR 93 (JAXR) implementation (Scout) for Web services and Web Services Interoperability Organization (WS-I) Basic Profile support
Apache Derby Full-fledged relational database management system (RDBMS) with native Java Database Connectivity (JDBC) support
Apache WADI Clustering, load balancing and failover solution for the web application container tier  [1]
Apache Yoko Robust and high performance CORBA server  [1]

Note (1): The project is currently in incubation under the Apache Incubator

[edit] History

[edit] See also

[edit] External links

[edit] Books

  • Apache Geronimo Development and Deployment by Aaron Mulder
  • Geronimo: A Developer's Notebook by David Blevins
  • Professional Apache Geronimo by Jeff Genender, Bruce Snyder and Sing Li