Article translated by: Waldo RamÃrez Montaño
_*ArtÃculo original en inglés, donado por:* Hernan Cunico_
Visión general de Apache Geronimo
Apache Geronimo es un servidor de aplicaciones J2EE robusto, completamente funcional. Geronimo integra una cantidad de otros proyectos _"código abierto" (open ource)_, como se les describe en la lista siguiente:
- Jetty
Jetty es un servidor de aplicaciones Web, que soporta Java Servlet 2.4 y JavaServer Pages 2.0. Puede consultar mayor detalle de Jetty en la siguiente URL:
http://jetty.mortbay.org/
- Apache Tomcat
Tomcat es un servidor de aplicaciones Web, que soporta Java Servlet 2.4 y JavaServer Pages 2.0. Puede consultar mayor detalle de Tomcat en la siguiente URL:
http://tomcat.apache.org/
- Apache Derby
Derby es un Sistema de Administración de Bases de Datos Relacionales (Relational Database Management System, RDBMS) con pequeño "perfil" (footprint), completamente funcional, con soporte JDBC. Puede consultar mayor detalle de Derby en la siguiente URL:
http://db.apache.org/derby
- Apache Axis
Axis en una implementación del Protocolo de Acceso de Objeto Simple (Simple Object Access Protocol, SOAP). Axis proporciona soporte para Servicios Web (Web Services) e Interoperabilidad de Servicios Web (Web Services Interoperability, WS-I). Puede consultar mayor detalle de Axis en la siguiente URL:
http://ws.apache.org/axis/
- ApacheDS
ApacheDS es una implementación del Protocolo Ligero de Acceso a Directorios (Lightweight Directory Access Protocol, LDAP). ApacheDS proporciona servicios LDAP v3, métodos de autenticación segura y extensiones para Seguridad de la Capa de Transporte (Transport Layer Security, TSL) entre otros. Puede consultar mayor detalle de ApacheDS en la siguiente URL:
http://directory.apache.org/
- TranQL
TranQL es un marco de trabajo para la construcción de máquinas persistentes. Puede consultar mayor detalle de TranQL en la siguiente URL:
http://tranql.codehaus.org/
- OpenEJB
OpenEJB es un Sistema Contenedor de EJB, modular, configurable y extendible, asà como un Servidor EJB.
http://www.openejb.org/
- MX4J
MX4J es una implementación de las Extensiones de Administración Java (Java Management Extensions, JMX) y del API Remoto JMX (JMX Remote API, JSR-160). Puede consultar mayor detalle de MX4J en la siguiente URL:
http://mx4j.sourceforge.net/
- ActiveMQ
ActiveMQ es un proveedor de Servicio MensajerÃa Java (Java Messaging Service, JMS) y Fábrica de Mensaje (Message Fabric) que soporta clustering, multicast, XA y persistencia, entre otros. Puede consultar mayor detalle de ActiveMQ en la siguiente URL:
http://activemq.codehaus.org/
- Spring framework
Spring es un marco de trabajo para aplicaciones J2EE que pretende reducir el esfuerzo de desarrollo para la construcción de aplicaciones a partir de componentes de Inversión de Control (Inversion of Control, IoC). Puede consultar mayor detalle del marco de trabajo Spring en la siguiente URL:
http://www.springframework.org/
Regresar a la sección superior
Visión general de GBeans
Como introducción, casi todo en Apache Geronimo es un Geronimo Bean, ó más amigable, un GBean. Apache Geronimo esta construido en un kernel ligero que proporciona integración centralizada. El propósito de su kernel es el administrar el ciclo de vida de los GBeans, asà como sus dependencias.
GBeans son los cimientos a partir de los cuales esta hecho Apache Geronimo. Como se mencionó previamente, casi todo en Geronimo es un GBean, esto es, contenedores, aplicaicones, conectores, etc, tal que un GBean pueda agregar con certeza a otros GBeans, en especial a los de gran dimensión. Una instancia de servidor Geronimo es básicamente una colección de GBeans, tal que el kernel de Geronimo pudiese ser, en esencia, un contenedor de GBean.
GBeans pueden mantener estados, definir dependencias (internas y externas) y reaccionar a ciertos eventos del ciclo de vida. Esta capacidad puede ser usada para guardar el estado actual del GBean y recobrar a dicho estado en un tiempo posterior. GBeans también pueden ser administrados a través de una interfaz de administración (lÃnea de comandos ó la Consola Geronimo), permitiéndoles poder ser iniciados, detenidos y editados, al vuelo.
GBeans podrÃan registrar interés en el estado de otros GBeans con caracterÃsticas particulares. Cuando un GBean con dichas caracterÃsticas es iniciado, una referencia a dicho GBean es inyectada en el GBean que registró interés. Este proceso es conocido como *inyección de dependencia* lo cual provoca que GBeans sean un marco de trabajo poderoso para la construcción de sistemas vagamente acoplados (loosely coupled).
En pocas palabras, el marco de trabajo GBeans proporciona:
- Componentes con modelo estilo Inversión de Control (IoC) (Inversion of Control).
- Acoplación de identidad lógica en un modelo de clasificación.
- Atributos administrados, con propósitos de configuración/instrumentación.
- Atributos persistentes, las propiedades son almacenadas en estado fuera de lÃnea (offline).
- Operaciones lógicas que pueden ser re-mapeadas.
- Referencias a y dependencias en otros GBeans.
- Modelo de ciclo de vida.
La siguiente figura ilustra el ciclo de vida de GBeans.
Regresar a la sección superior