Enterprise Java Beans (EJB) es una de las varias API de Java para la fabricación estándar de software empresarial. EJB es un elemento de software del lado del servidor que resume la lógica comercial de una aplicación. El repositorio web de Enterprise Java Beans produce un dominio de tiempo de ejecución para elementos de software relacionados con la web, incluida la confiabilidad de la computadora, la administración del ciclo de vida de Java Servlet (JSL), el procedimiento de transacción y otros servicios web. La enumeración EJB es un subconjunto de la enumeración Java EE.
La enumeración EJB fue desarrollada originalmente por IBM en 1997 y luego adoptada por Sun Microsystems en 1999 y mejorada bajo el Java Community Process.
La enumeración EJB tiene como objetivo proporcionar una forma estándar de implementar el software empresarial del lado del servidor que normalmente se encuentra en las aplicaciones empresariales. Dicho código de máquina aborda los mismos tipos de problemas, y los programadores a menudo vuelven a implementar repetidamente las soluciones a estos problemas. Se supone que Enterprise Java Beans gestiona preocupaciones comunes como la resistencia, la probidad transaccional y la seguridad de una manera estándar que deja a los programadores libres para concentrarse en las partes particulares del software empresarial en cuestión.
Para ejecutar la aplicación EJB, necesitamos un servidor de aplicaciones (contenedor EJB) como Jboss, Glassfish, Weblogic, Websphere, etc. Realiza:
1. Gestión del ciclo de vida
2. Seguridad
3. Gestión de transacciones
4. Agrupación de objetos
Tipos de Enterprise Java Beans
Hay tres tipos de EJB:
1. Bean de sesión: el bean de sesión contiene lógica de negocios que puede ser invocada por un cliente local, remoto o de servicio web. Hay dos tipos de beans de sesión: (i) Bean de sesión con estado y (ii) Bean de sesión sin estado.
- (i) Bean de sesión con estado:
el bean de sesión con estado realiza tareas comerciales con la ayuda de un estado. El bean de sesión con estado se puede utilizar para acceder a varias llamadas a métodos almacenando la información en una variable de instancia. Algunas de las aplicaciones requieren que la información se almacene en llamadas a métodos independientes. En un sitio de compras, los artículos elegidos por un cliente deben almacenarse como datos, es un ejemplo de bean de sesión con estado.
- (ii) Bean de sesión sin estado:
el bean de sesión sin estado implementa la lógica comercial sin tener un mecanismo de almacenamiento persistente, como un estado o una base de datos, y puede usar datos compartidos. El bean de sesión sin estado se puede usar en situaciones en las que no se requiere información para usar entre métodos de llamada.
2. Bean controlado por mensajes: al igual que el Bean de sesión, contiene la lógica empresarial pero se invoca al pasar un mensaje.
3. Entity Bean: Resume el estado que puede quedar en la base de datos. Está en desuso. Ahora, se reemplaza con JPA (Java Persistent API). Hay dos tipos de beans de entidad:
- (i) Persistencia gestionada por bean:
en un bean de entidad del tipo de persistencia gestionada por bean, el programador tiene que escribir el código para las llamadas a la base de datos. Persiste en múltiples sesiones y múltiples clientes.
- (ii) Persistencia administrada
por contenedor: la persistencia administrada por contenedor es un bean empresarial que persiste en la base de datos. En la persistencia administrada por contenedor, el contenedor se encarga de las llamadas a la base de datos.
Cuándo usar Enterprise Java Beans
1. La aplicación necesita acceso remoto. En otras palabras, se distribuye.
2. La aplicación debe ser escalable. Las aplicaciones EJB admiten el equilibrio de carga, la agrupación en clústeres y la conmutación por error.
3.La aplicación necesita una lógica empresarial encapsulada. La aplicación EJB se diferencia de la capa persistente y de demostración.
Ventajas de Enterprise Java Beans
1. El repositorio EJB brinda servicios de nivel de sistema a beans empresariales, el desarrollador de beans puede concentrarse en resolver problemas comerciales. En lugar del desarrollador de beans, el repositorio EJB es responsable de los servicios a nivel del sistema, como la gestión de transacciones y la autorización de seguridad.
2. Los beans en lugar de los clientes contienen la lógica comercial de la aplicación, el desarrollador del cliente puede concentrarse en la presentación del cliente. El desarrollador del cliente no tiene que codificar el patrón que ejecuta las reglas comerciales o accede a las bases de datos. Debido a esto, los clientes son más delgados, lo que es un beneficio particularmente importante para los clientes que se ejecutan en dispositivos pequeños.
3.Enterprise Java Beans son elementos portátiles, el ensamblador de aplicaciones puede crear nuevas aplicaciones a partir de los beans que ya existen.
Desventajas de Enterprise Java Beans
1. Requiere servidor de aplicaciones
2. Requiere solo cliente Java. Para otro cliente de idioma, debe optar por el servicio web.
3. Complejo para entender y desarrollar aplicaciones EJB.