java java-ee ejb javabeans websphere-commerce

java - EntityBean, SessionBean, databean y accessbean



java-ee ejb (2)

He intentado aprender sobre los beans Java en WebSphere Commerce, pero me confundí mucho. Por favor, ayúdame. Necesito saber:

¿Cuál es la diferencia entre EntityBean , SessionBean , DataBean y AccessBean y cómo se comparan?


Aunque encontré la diferencia entre Session y Entity, y entre Access y Data, no entiendo cómo se relacionan entre sí.

Toda la ayuda sería muy apreciada.


En Java, casi cualquier clase se llama frijol. Entonces no confundas con eso. Los diferentes términos de bean que muestra son conceptos de la función que tiene una clase en su aplicación.

Por lo general, la entidad bean representa alguna entidad de su dominio. Un usuario, un libro, un automóvil o lo que sea. Por lo general, tiene algunas propiedades (nombre, apellido, etc.). Un objeto abstracto (o conceptual) de su dominio. Desafortunadamente, en EJB entity bean es un controlador de negocio para un objeto de dominio que maneja todas las acciones complejas en las que puede estar involucrado un objeto de dominio (como crear un nuevo libro con dependencias, vender libro, libro de pedidos y todo lo que tu dominio permita hacer con un libro ) Todos sus casos de uso.

El propio objeto de dominio (un libro) con sus propiedades (título, número de ISBN, precio, cantidad de páginas) está representado por un bean de datos, que generalmente se asigna a algunas tablas y filas de la base de datos.

El bean de sesión suele ser algún tipo de contenedor de información vinculado a la sesión de un usuario (y por lo tanto tiene algún ciclo de vida, ya que la sesión de los usuarios caducará). Esta podría ser información, si el usuario está autenticado o qué datos el usuario está editando actualmente. Por lo tanto, el bean de sesión debe tener un puntero a un bean de entidad que represente los datos centrales de los usuarios.

Los beans de acceso parecen ser algunos clones en el patrón "Objeto de acceso a datos / DAO". Se trata de clases de toda la aplicación que le permiten acceder a las entidades al proporcionar métodos como "getUserByUsername" o buscar métodos para diferentes búsquedas y encapsular el acceso a bases de datos y otros almacenamientos.


El bean de entidad representa un bean Java codificado por la especificación EJB y esta clase java se usa para identificar un registro en una tabla. Session Bean también es un Java Bean siguiendo la especificación EJB; pero este bean puede considerarse equivalente a una clase java que tiene lógica comercial con o sin interacción con bean de entidad (es decir, datos DB). Por lo tanto, un bean de sesión, por ejemplo, ProcessRegistrationBean, actuará en un bean de entidad, por ejemplo, PersonBean.

Ahora, para la segunda parte de la pregunta sobre qué es access y databean: estos dos beans son extensiones de beans de Entity provistos por la aplicación Websphere que brindan un acceso conveniente a los beans de entidad que ocultan la complejidad de la búsqueda JNDI y los métodos de interfaz doméstica / remota de la especificación EJB. .
Esto significa que si desea obtener información de un usuario, puede hacerlo fácilmente simplemente creando el UserAccessBean (que se genera desde entity bean para el usuario) a través de su constructor no arg y luego inicialícelo configurando el id de usuario. AccessBean detrás de las escenas usa la interfaz de inicio para acceder a la interfaz remota y todas esas cosas EJB ocurren sin que necesite conocerlas explícitamente, por lo tanto, es más fácil para el desarrollador.

Databean son extensiones de sus beans de acceso correspondientes, es decir, UserDataBean extiende UserAcessBean.

El uso sugerido de AccesBean está en la capa Java, por ejemplo, SessionBean (esto también significa que no tiene que tratar directamente con bean de entidad) y DataBean en la capa JSP. Así es como todos estos están relacionados