Introducción a los EJB (parte 2)

      No hay comentarios en Introducción a los EJB (parte 2)

Empezando con los Enterprise Java Beans

Esta es la segunda y última parte de una introducción a los Enterprise Java Beans. En la primera parte introdujimos el concepto de EJB y como se usa para encapsular la lógica de negocio, y hablamos de los dos tipos de EJB: Beans de sesión y dirigidos por mensajes. En esta parte, introduciremos la idea de accesos a beans y hablaremos de los tres modos de acceso.

Tres modos de acceso a los beans

Los EJB pueden clasificarse en tres modos de acceso dependiendo en el acceso permitido al cliente.
El modo por defecto es acceso local. Esto significa que al bean no puede accederse a través de la red, sino sólo desde dentro del contenedor mismo. El mode remoto significa que al EJB puede accederse a través una aplicación externa, mientras que el modo servicio web significa que al EJB se puede acceder mediante un cliente usando un servicio web como protocolo.
El modo de acceso se especifica a través de una anotación.

Modo de gestión

El modo de gestión determina quien es responsable de configurar los servicios del bean. Por defecto, el contenedor gestiona la configuración de los beans y este es el modo que se usa con más frecuencia. El contenedor realiza configuraciones inteligentes por defecto, basándose en convenios.
Sin embargo, el desarrollador puede tomar el control y gestionar la configuración de los beans dentro de la propia clase del bean. Esto significa que la característica de transiciones del bean, seguridad y otras están en manos del desarrollador. Esto se hace a través de anotaciones de servicio.

Anotaciones de servicio

La configuración del bean se hace a través de metadatos pasados por la anotación apropiada.
La concurrencia se puede configurar a través de anotaciones como @Lock que controla las operaciones de lectura y escritura, y los tiempos de espera (timeout) puede configurarse de forma explicita a través de la anotación @AccessTimeout.
El alcance de una transacción puede controlarse a través de las anotaciones @TransactionAttribute y @Transactional.
También pueden definirse opciones de seguridad. Por ejemplo, @PermitAll puede usarse para especificar que todos los roles de seguridad pueden invocar el método anotado y @RolesAllowed especifica los roles de seguridad que pueden acceder al método.
El acceso al cliente puede controlarse a través de las anotaciones @Remote y @Local y se le puede dar un comportamiento especial a los beans para hacerlos asíncronos y ejecutarse en horas programadas con un cron.

Resumen de accesos de los EJB

Para resumir todo lo comentado aquí, tenemos esta tabla (en inglés) que muestra los diferentes tipos de componentes del EJB en relación con el acceso del cliente.

Como seguir

Si te gusta leer acerca de Java EE, hemos publicado varios artículos (en inglés) acerca de Java EE. Aquí tenemos una lista de algunos de los temas que pueden interesarte (todos en inglés):

Aprender más

Si quieres aumentar tus conocimientos de Java EE puedes acceder a mis vídeos (en inglés) de formación en Lynda.com. Cubren una gran variedad de APIs de Java EE.

Nota: puedes encontrar el artículo original en https://readlearncode.com/java-ee/introduction-to-ejb-part-bean-access-mode/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *