Apache Geronimo is an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
application server developed by the
Apache Software Foundation and distributed under the
Apache license.
Geronimo 3, the current version, is compatible with the
Java Enterprise Edition (Java EE) 6 specification and therefore supports technologies such as
JMS,
Enterprise JavaBean
Jakarta Enterprise Beans (EJB; formerly Enterprise JavaBeans) is one of several Java APIs for modular construction of enterprise software. EJB is a server-side software component that encapsulates business logic of an application. An EJB ...
s,
Connectors,
servlets
A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web applicatio ...
,
JSP,
JSF,
Unified Expression Language
The Jakarta Expression Language (EL; formerly Expression Language and Unified Expression Language) is a special purpose programming language mostly used in Jakarta EE web applications for embedding and evaluating expressions in web pages.
The ...
and
JavaMail Jakarta Mail (formerly JavaMail) is a Jakarta EE API used to send and receive email via SMTP, POP3 and IMAP. Jakarta Mail is built into the Java EE platform, but also provides an optional package for use in Java SE.
The current version is 2. ...
. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. The older Geronimo 2 is compatible with Java EE 5.
IBM has in the past 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
IBM WebSphere refers to a brand of proprietary computer software products in the genre of enterprise software known as "application and integration middleware". These software products are used by end-users to create and integrate applications w ...
application server named
Websphere Application Server Community Edition (WASCE), which is actually a distribution of Geronimo and despite its name not related to the commercial WebSphere server. However, IBM has withdrawn marketing and support for WASCE in 2013. Other commercial supporters included
AMD, Chariot Solutions, Simula Labs, and Virtuas.
Activity on Apache Geronimo has now largely ceased. Previous prolific Geronimo committers like David Jencks and others who are at IBM are now working on the
Liberty Profile application server.
Components
Like an enterprise
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
, Geronimo is built on a
kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine lea ...
—a
microkernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
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
In software engineering, inversion of control (IoC) is a design pattern in which custom-written portions of a computer program receive the flow of control from a generic framework. A software architecture with this design inverts control as com ...
(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
In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on t ...
.
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
A jetty is a structure that projects from land out into water. A jetty may serve as a breakwater, as a walkway, or both; or, in pairs, as a means of constricting a channel. The term derives from the French word ', "thrown", signifying somet ...
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
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
projects.
Here a list of the open source components that are included in the Geronimo project.
See also
Other Java EE application servers:
*
Apache TomEE
Apache TomEE (pronounced "Tommy") is the Java Enterprise Edition of Apache Tomcat (Tomcat + Jakarta EE = TomEE) that combines several Java enterprise projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces and others ...
*
WildFly
WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mul ...
(formerly JBoss AS)
*
WebSphere AS
*
WebLogic Server
*
List of application servers
*
GlassFish
GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by Payara, Oracle and Red Hat. The supported ...
*
Payara Server
Payara Server is an open-source application server derived from GlassFish Server Open Source Edition. It was created in 2014 by C2B2 Consulting as a drop in replacement for GlassFish after Oracle announced it was discontinuing commercial support ...
References
Bibliography
*
*
*
*
External links
Apache Geronimo
{{Java (Sun)
Geronimo
Geronimo ( apm, Goyaałé, , ; June 16, 1829 – February 17, 1909) was a prominent leader and medicine man from the Bedonkohe band of the Ndendahe Apache people. From 1850 to 1886, Geronimo joined with members of three other Central Apache ...
Java enterprise platform
Free software application servers