Apache Geronimo es un servidor de aplicaciones de código abierto desarrollado por Apache Software Foundation y distribuido bajo la licencia Apache .
Geronimo 3, la versión actual, es compatible con la especificación Java Enterprise Edition (Java EE) 6 y, por lo tanto, admite tecnologías como JMS , Enterprise JavaBeans , Connectors , servlets , JSP , JSF , Unified Expression Language y JavaMail . Esto permite a los desarrolladores crear aplicaciones empresariales que sean portátiles y escalables, y que se integren con tecnologías heredadas. La versión anterior, Geronimo 2, es compatible con Java EE 5.
IBM ha proporcionado en el pasado un apoyo considerable al proyecto a través de marketing, contribuciones de código y la financiación de varios colaboradores del proyecto. En octubre de 2005, IBM anunció una edición gratuita de su servidor de aplicaciones WebSphere llamada Websphere Application Server Community Edition (WASCE), que en realidad es una distribución de Geronimo y, a pesar de su nombre, no está relacionada con el servidor comercial WebSphere. [1] Sin embargo, IBM ha retirado la comercialización y el soporte para WASCE en 2013. [2] Otros patrocinadores comerciales incluyeron a AMD , Chariot Solutions, Simula Labs y Virtuas.
La actividad en Apache Geronimo ha cesado prácticamente. Los que habían contribuido con tanta prolijidad a Geronimo, como David Jencks y otros que están en IBM, ahora están trabajando en el servidor de aplicaciones Liberty Profile . [3]
Al igual que un sistema operativo empresarial , Geronimo se basa en un núcleo , un micronúcleo que establece las bases para todo lo que está por encima de él. El núcleo de Geronimo es independiente de Java EE. Su único propósito es administrar los bloques de construcción de Geronimo. Geronimo se caracteriza por un diseño arquitectónico que se basa en el concepto de Inversión de Control (IoC) (a veces llamado Inyección de Dependencia ), lo que significa que el núcleo no tiene dependencia directa de ninguno de sus componentes . El núcleo es un marco para servicios que controla el ciclo de vida del servicio y el registro . El núcleo se basa en Java EE. Funciona con servicios y componentes de Java EE para crear configuraciones específicas, una de las cuales es una pila de soluciones Java EE completa .
La mayoría de los servicios de Geronimo se agregan y configuran a través de GBeans para convertirse en parte del servidor de aplicaciones general. Un GBean es la interfaz que conecta el componente al núcleo. Cada GBean puede mantener el estado, depender de otros GBeans e interrelacionarse con ellos, y operar sobre eventos del núcleo y otros GBeans. La interfaz GBeans permite cambiar entre dos contenedores de servlets , por ejemplo Jetty o Tomcat , sin afectar a toda la arquitectura mediante una interfaz GBeans. Esta arquitectura flexible permite a los desarrolladores de Geronimo integrar varios proyectos de software de código abierto existentes y probados en campo.
Aquí hay una lista de los componentes de código abierto que están incluidos en el proyecto Geronimo.
Otros servidores de aplicaciones Java EE: