|Developer(s)||Apache Software Foundation|
|Stable release||3.0.0 (July 13, 2012[±])|
|Preview release||3.0-beta-1 / November 13, 2011|
|Operating system||Cross-platform (JVM)|
|Type||Web Application Server|
|License||Apache License 2.0|
Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license. Geronimo 2 is currently compatible with the Java Enterprise Edition (Java EE) 5.0 specification such as JDBC, RMI, e-mail, JMS, web services, XML, Enterprise JavaBeans, Connectors, servlets, portlets and JavaServer Pages. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Geronimo 3 is compatible with Java EE 6.0.
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, which is based on Geronimo. Other commercial supporters include AMD, Chariot Solutions, Simula Labs, and Virtuas.
Like an enterprise operating system, Geronimo is built on a kernel—a microkernel that lays the foundation for everything above it. Geronimo's kernel is Java EE agnostic. Its sole purpose is to manage Geronimo's building blocks. Geronimo is marked by an architectural design that is based on the concept of Inversion of Control (IoC) (sometimes 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 EE. It works with Java EE services and components to build specific configurations—one of which is a full Java EE solution 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. The GBeans interface makes it possible to switch between two servlet containers, for example Jetty or Tomcat, without affecting the whole architecture using a GBeans interface. This flexible architecture makes it possible for the Geronimo developers to integrate several existing field-tested open source software projects.
Here a list of the open source components that are included in the Geronimo project.
|Apache Tomcat||HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages (JSP) 2.1.|
|Jetty||HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages 2.1—an alternative to the Tomcat server.|
|Apache ActiveMQ||Open source Java Message Service (JMS) 1.1 applications provider and supporter of message-driven beans (MDBs).|
|Apache OpenEJB||Open source Enterprise JavaBeans (EJB) Container System and EJB Server that supports Enterprise JavaBeans at the 3.0 level, including Container Managed Persistence 2 (CMP2) and EJB Query Language (EJBQL).|
|Apache OpenJPA||Open source Java Persistence API (JPA) 1.0 implementation.|
|Apache ServiceMix||Open source Enterprise Service Bus (ESB) and component suite based on the Java Business Integration (JBI) standard on JSR 208.|
|Apache Axis and Apache Scout||Axis is a Simple Object Access Protocol (SOAP) implementation, while Scout is a JSR 93 (JAXR) implementation. These provide support for Web Services and Web Services Interoperability Organization (WS-I) Basic Profile support.|
|Apache CXF||Web Services frameworks with variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.|
|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. (The project is currently in incubation under the Apache Incubator.)|
|MX4J||Java Management Extensions that supplies tools for managing and monitoring applications, system objects, devices and service oriented networks.|
- Mulder, Aaron (2007), Apache Geronimo Development and Deployment, Addison-Wesley Professional, ISBN 0-321-33483-3
- Kumar, Kishore (2006), Pro Apache Geronimo, Apress, ISBN 1-59059-642-0
- Genender, Jeff; Snyder, Bruce; Li, Sing (2006), Professional Apache Geronimo, Wrox, ISBN 0-471-78543-1
- Blevins, David (2004), Geronimo: A Developer's Notebook, O'Reilly Media, ISBN 0-596-00671-3
See also 
Other Java EE application servers:
- Apache Geronimo
- Geronimo resources area at IBM developerWorks
- WebSphere Application Server Community Edition resources area at IBM developerWorks
- Announcing IBM WebSphere Application Server Community Edition
- Geronimo 2.0.2 vs 1.1.1 Performance report
- What's new in WebSphere Application Server Community Edition V2.0
- What’s new in WebSphere Application Server Community Edition V2.1
- What’s new in WebSphere Application Server Community Edition V3.0
- Apache Geronimo Unleashed at javapolis 2006
- Impact 2008 IBM Websphere CE compared to Jboss
- Presentations listed on Geronimo Wiki