Enterprise JavaBeans
Los Enterprise JavaBeans (también conocidos por sus siglas EJB) son una de las API que forman parte del estandar de construcción de aplicaciones empresariales J2EE de Sun Microsystems.Su especificación detalla cómo los servidores de aplicaciones proveen objetos desde el lado del servidor que son, precisamente, los EJBs:
- comunicación remota utilizando CORBA
- persistencia
- transacciones
- control de la concurrencia
- eventos utilizando JMS (Java messaging service)
- servicios de nombres y de directorio
- seguridad
- ubicación de componentes en un servidor de aplicaciones.
| Table of contents |
|
2 Tipos de Enterprise JavaBeans 3 Funcionamiento de un Enterprise JavaBean 4 Historia de los Enterprise JavaBeans 5 Bibliografía recomendada 6 Enlaces externos |
Los EJBs proporcionan un modelo de componentes distribuido estándar para el lado del servidor. El objetivo de los Enterprise beans es dotar al programador de un modelo que le permita abstraerse de los problemas generales de una aplicación empresarial (concurrencia, transacciones, persistencia, seguridad, ...) para centrarse en el desarrollo de la lógica de negocio en sí. El hecho de estar basado en componentes nos permite que éstos sean flexibles y sobre todo reutilizables.
No hay que confundir a los Enterprise JavaBeans con los JavaBeans. Los JavaBeans también son un modelo de componentes creado por Sun Microsystems para la construcción de aplicaciones, pero no pueden utilizarse en entornos de objetos distribuidos al no soportar nativamente la invocación remota (RMI).
Existen tres tipos de EJBs:
Los EJBs se disponen en un contenedor EJB dentro del servidor de aplicciones. La especificación describe cómo el EJB interactúa con su contenedor y cómo el código cliente interactúa con la combinación del EJB y el contenedor.
Cada EJB debe facilitar una clase de implementación Java y dos interfaces Java. El contenedor EJB creará instancias de la clase de implementación Java para facilitar la implementación EJB. Los interfaces Java son utilizados por el código cliente del EJB. Los dos interfaces, conocidos como interfaz "home" e interfaz remoto, especifican las signaturas de los métodos remotos del EJB. Los métodos remotos se dividen en dos grupos:
El servidor llamará a un método corresponidente a una instancia de la clase de implementación Java para manejar la llamada del método remoto. La imagen muestra un cliente Java típico interactuando remotamenet con un EJB en su contenedor EJB utilizando llamadas al método remoto y mensajes JMS.
Como indicamos anteriormente, el interface "home" permite al código cliente manipular ciertos métodos de clase del EJB, esto es, métodos que no están asociados a ninguna instancia particular.
La especificación EJB 1.1 establece el tipo de métodos de clase que se pueden definir como métodos que crean un EJB o para encontrar un EJB existente si es un "bean" de entidad.
La especificación EJB 2.0 permite a los desarrolladores de aplicacione definir nuevos métodos de clase sin limitarse a su sola creación, borrado y búsqueda.
El interface remoto especifica los métodos de instancia específicos de la clase bean.
Las clases de implementación EJB las suministran los desarrolladores de aplicaciones, que facilitan la lógica del asunto ("business logic") o mantienen los datos ("business data") del interface de objeto, esto es, implementan todos los métodos especificados por el interfaz remoto y, posiblemente, algunos de los especificados por el interfaz "home".
Las llamadas al método en el interfaz "home" se remiten al método correspondiente de la clase de implementación del bean con el prefijo 'ejb' añadido y con la primera letra del interfaz "home" convertida en mayúscula y manteniendo exactamente el mismo tipo de argumentos.
Las llamadas a métodos en el interfaz remoto se remiten al método de implementación correspondiente del mismo nombre y argumentos.
La especificación EJB ha ido evolucionando a la par que lo hacía la propia especificación J2EE. Las diferentes versiones que han existido hasta la fecha son:
Definición
Tipos de Enterprise JavaBeans
Funcionamiento de un Enterprise JavaBean
Dado que se trata simplemente de interfaces Java y no de clases concretas, el contenedor EJB es necesario para generar clases para esas interfaces que actuarán como un proxy en el cliente. el cliente invoca un método en los proxies generados que a su vez sitúa los argumentos método en un mensaje y envía dicho mensaje al servidor EJB. Los proxies usan RMI-IIOP para comunicarse con el servidor EJB.
Interface "Home"
Interface remoto
Clase de implementación EJB
Correspondencia entre métodos de interfaz y métodos de implementación
Historia de los Enterprise JavaBeans
Existe una propuesta de una nueva revisión de la especificación de Enterprise JavaBeans, la EJB 3.0, cuyo objetivo es simplificar la implementación de beans sin por ello sacrificar su potencia y flexibilidad.Bibliografía recomendada
Enlaces externos

Haz Enciclopedia.com tu página de inicio y aprende algo nuevo cada día