lunes, 16 de abril de 2018

Java EE: EJB Enterprise Java Beans

Introducción

Los Enterprise JavaBeans (EJB), son usados para el desarrollo y despliegue de componentes que forman parte de una aplicación distribuida. aplicaciones que son escalables, transaccionales y seguras.
Los EJB están definidos como JSR 345, la especificación completa se encuentra en https://jcp.org/aboutJava/communityprocess/final/jsr345/index.html
Un EJB típicamente contiene la lógica del negocio y opera sobre los datos del negocio. La información del servicio, tal como atributos de la transacción y seguridad, pueden ser descritos usando metadatos como las anotaciones, o en un descriptor de despliegue en XML.
Una instancia de un bean es gestionado en tiempo de ejecución por un contenedor. El bean es accedido desde el cliente, siendo el contenedor en el está desplegado  un intermediario entre ellos. El cliente puede también estar en el servidor en forma de un bean, un bean CDI, o algún tipo de servlet. En cualquier caso, el contenedor de EJB proporciona todo lo requerido para una aplicación empresarial. Esto permite al desarrollador de la aplicación enfocarse en la lógica del negocio y no preocuparse sobre detalles de bajo nivel y manejo de estados, concurrencia, multihilos, pool de conexiones, u otras APIs complejas de bajo nivel.

Hay dos tipos de enterprise beans:
  • Beans de Sesión (Session beans)
  • Beans dirigidos por mensajes (Message-driven beans)
Los EJB han pasado por varias versiones, antes de la versión 3.0 teníamos exclusivamente los entity beans para poder persistir datos a nuestra base de datos. Ahora tenemos la Java Persistence Api (JPA) la cual es más recomendable de usar para la persistencia de datos.

Tipos de Beans de Sesión
Los beans de sesión se dividen en tres tipos: con estado, sin estado y singleton

Beans de Sesión con Estado (Stateful Session Beans)
Un bean con estado es un tipo de bean de sesión que está diseñado para que lo utilice un solo cliente durante su vida útil y mantiene un estado conversacional fuertemente acoplado con el cliente al que está llamando.

Beans de Sesión sin Estado
Este tipo de bean no mantiene un estado conversacional con el cliente, es por ello que no tiene variables de instancias, 

Referecia:
http://docs.oracle.com/javaee/6/tutorial/doc/gipjg.html

No hay comentarios:

Publicar un comentario