tutorial services mega experto desde cero java jsf java-ee ejb

java - services - diferencia entre jsf beans y ejb beans



ejb+jpa+jsf tutorial (3)

Alexis

Primero necesita saber la diferencia entre frijoles JSF y beans EJB.

JSF Bean: los beans JSF son clases pojo que solían leer el valor del componente de jsf. hay dos tipos de frijoles en jsf

Managed Bean trata sobre cómo se crea e inicializa un Java Bean. Como sabes, jsf usa el modelo de inicialización perezosa. Significa que el bean en el ámbito particular se crea y se inicializa no en el momento en que se inicia el alcance, sino a pedido, es decir, cuando se necesita por primera vez el bean.

Backing Bean es sobre el rol que juega un bean administrado en particular. Esta es una función para ser una representación del lado del servidor de los componentes ubicados en la página. Por lo general, los beans de respaldo tienen un alcance de solicitud, pero no es una restricción.

EJB Bean es un componente del lado del servidor que encapsula la lógica comercial de una aplicación. La lógica de negocios es el código que cumple el propósito de la aplicación.

principalmente hay tres tipos de beans de sesión-

1.Statefull Session Bean

2. Bean de sesión sin estado

3. Bean de sesión Singleton (ejb 3.1)

Necesito alguna aclaración. Sé cómo trabajar con JSF y sus beans de sesión correspondientes, pero me estoy confundiendo con EJB. ¿Cuál es la diferencia entre los beans introducidos con EJB y los beans de sesión utilizados con JSF (por ejemplo, conozco los beans de sesión sin estado / completos y los beans de entidad, el administrador de entidades, etc.). Lo que simplemente no entiendo es cuándo usar EJB y cuándo usar beans jsf. Además de los beans de entidad, ambos beans de sesión stateful / less de ejb parecen ser similares a los beans de sesión de jsf. He leído acerca de inyectar ejb''s en jsf, pero ¿por qué no usar simplemente ejb junto con beans jsf? Espero que puedas entender mi confusión. Gracias.


De hecho, existe cierta confusión entre los diferentes tipos de beans administrados en Java EE. Para aumentar la confusión, Java EE 6 introdujo un tercer tipo de bean gestionado: un bean CDI.

En esta respuesta trato de explicar un poco las diferencias y similitudes: ¿cómo se comparan CDI y EJB? ¿interactuar?

Dicho brevemente, los beans administrados JSF principalmente no ofrecen soporte para transacciones, que es algo que a menudo se necesita cuando se trabaja con lógica empresarial y especialmente con JPA.

También tenga en cuenta que el término session como en la sesión con ámbito de beans administrados es un tipo de sesión completamente diferente a la que se refiere el término en beans de sesión stateless y statefull.


Hay otra respuesta gread en el sitio donde se explican las diferencias de CDI y EJB. Ayuda mucho cuando finalmente captas la imagen completa. Dónde usar EJB 3.1 y CDI?