JEE - Enterprise Java Beans

Introducción a Enterprise Java Beans


Un Enterprise Java Bean (EJB) es un componente del lado del servidor que encapsula la lógica de negocio de una aplicación. Permiten construir aplicaciones portables, reutilizables y escalables usando el lenguaje Java.

Algunas de sus características más destacadas y que ayudan a comprender las funcionalidades de los EJB son las siguientes:

  • Contienen la lógica de negocio, que opera sobre los datos de la empresa.
  • Las instancias de un EJB son administradas en tiempo de ejecución por un contendedor.
  • Los servicios como transacción y seguridad, pueden ser especificados junto a la lógica de negocio del bean a través de anotaciones, o en un descriptor de despliegue XML.
  • El acceso del cliente es negociado por el contenedor en el cual el EJB es desplegado. Este acceso es transparente para el cliente.
  • El contenedor asegura que los beans y sus clientes pueden ser desplegados en múltiples ambientes de ejecución sin compilación.


El uso de Enterprise Java Beans representa muchos beneficios:

  • Simplifican el desarrollo, ya que el contendor EJB es responsable de la administración de transacciones y autorizaciones de seguridad.
  • La lógica del negocio reside en los Enterprise Beans y no en el lado del cliente, permitiendo que el desarrollo del lado del cliente este desacoplado de la lógica del negocio.
  • Los Enterprise Beans son componentes portables, reutilizables y pueden ser desplegados en servidores que usen los estándares del API JEE.
  • Pueden residir en diferentes servidores y pueden ser invocados por un cliente remoto.

Es recomendable su utilización en aplicaciones multiusuario que se desea que sean escalables y en las que necesitamos asegurar la integridad de los datos de las transacciones. 

A partir de la versión EJB 3.0 y Java EE5 se simplifica el desarrollo de Enterprise Java Beans mediante el uso de clases POJO (Plain Old Java Objects) y anotaciones XML. Lo que hace más fácil e  interesante el uso de EJB en las aplicaciones. 

pojo + annotation xml = ejb

Clasificación


Los Enterprice Java Beans están divididos en las siguientes clases:

EJB de sesión o Session Beans: representa los procesos de negocio, gestionan la interacción con los clientes, sirviendo de fachada de los servicios proporcionados por otros componentes disponibles en el servidor. A su vez, los beans de sesión se dividen en varias subclases como son los Stateless Session Bean, Stateful Session Bean y Singleton Session Bean que se comentan a continuación:

Stateless Session Bean: los beans de sesión sin estado son objetos distribuidos que no mantienen un estado entre diferentes invocaciones concurrentemente. Estos son normalmente usados para proveer servicios y son compartidos por varios clientes. Son muy eficientes a nivel de uso de memoria y recursos en el servidor.

Stateful Session Bean: en los bean de sesión con estado, las variables de instancia del bean almacenan datos específicos obtenidos durante la conexión con el cliente. Cada bean, por tanto, almacena el estado conversacional de un cliente, de forma que acciones llevadas a cabo en invocaciones anteriores son tenidas en cuenta en invocaciones posteriores. Son menos eficientes a nivel de uso de memoria y recursos en el servidor.

Singleton Session Bean: es tipo de bean es introducido en la versión EJB 3.1 y se trata de un componente que puede ser compartido por muchos clientes y del que se crea sólo una instancia, por lo que son los más eficientes en cuanto al uso de memoria y recursos.

EJB dirigidos por mensajes o Message-driven Beans: actúan como escuchadores de eventos y permiten el procesamiento de mensajes de forma asíncrona.

EJB de entidad o Entity Beans: se trata de una clase (POJO) que representa una tabla de una base de datos, y cada instancia de esta clase representa un registro de la tabla, es decir, crean un mapeo entre las propiedades de una clase y los campos de una tabla y permiten especificar las relaciones que existen entre las clases (uno a uno, uno a muchos, muchos a uno y muchos a muchos).

No hay comentarios :

Publicar un comentario