La Web del Programador: Comunidad de Programadores
 
    Pregunta:  18542 - DIFERENCIA ENTRE EJB Y BEANS
Autor:  Merboy Mx
Hola

Tengo una duda, espero alguien pueda contestarla ... Cual es la diferencia entre un Java Bean y un EJB?


  Respuesta:  Rafael Hernampérez Martín
Estimado amigo,

La diferencia entre Java Beans y EJBs son abismales. Ambos son componentes reutilizables, pero se comportan de distinta manera.

Los Java Beans están más orientados a la creación de componentes visuales conducidos o no por eventos. También permiten almacenar registros de base de datos, pero todo, absolutamente, debe ser controlado mediante código.

Los EJBs se generan dentro de un marco en la plataforma J2EE. Dicho marco gestiona la seguridad, la persistencia, la comunicación (interna bajo especificaciones Corba a través de RMI), el acceso a los componentes y bastantes cosas más. Los EJBs se ejecutan como una capa MiddleWare dentro de la capa de negocio de un servidor Web, y es el propio marco el que se encarga de crear, asignar, ejecutar y destruir los EJBs, sin intervención de ningún programa ni clase ni nada. Existen dos tipos de EJBs, de sesión y de entidad. Los EJBs de sesión se comportan como una extensión del cliente en el servidor, y se corresponde únicamente a cada cliente, como si fuera su sesión. Sin embargo, los EJBs de entidad se comportan como una unidad de almacenamiento (como un registro único) y puede ser compartido por múltiples clientes. En este tipo de EJBs el marco puede administrar su persistencia, es decir, su acceso a la base de datos y su bloqueo correspondiente de manera automática.

Si deseas más información sobre este tema, lo encontrarás en la página oficial de Sun, o en la de Ozito (http://members.es.tripod.de/Ozito/)

Un cordial saludo