Espero que esto de Oracle doc ayude a alguien como yo a comprender el tema de EJB de una manera simple.
¿Qué es un bean empresarial? Escrito en el lenguaje de programación Java, un Enterprise Bean es un componente del lado del servidor que encapsula la lógica de negocios de una aplicación. La lógica de negocios es el código que cumple el propósito de la aplicación. En una aplicación de control de inventario, por ejemplo, los beans empresariales pueden implementar la lógica de negocios en métodos llamados checkInventoryLevel y orderProduct. Al invocar estos métodos, los clientes pueden acceder a los servicios de inventario proporcionados por la aplicación.
Beneficios de los Enterprise Beans Por varias razones, los Enterprise Beans simplifican el desarrollo de grandes aplicaciones distribuidas. Primero, debido a que el contenedor EJB proporciona servicios de nivel de sistema a beans empresariales, el desarrollador de beans puede concentrarse en resolver problemas comerciales. El contenedor EJB, en lugar del desarrollador de beans, es responsable de los servicios a nivel del sistema, como la gestión de transacciones y la autorización de seguridad.
Segundo, debido a que los beans en lugar de los clientes contienen la lógica de negocios de la aplicación, el desarrollador del cliente puede enfocarse en la presentación del cliente. El desarrollador del cliente no tiene que codificar las rutinas que implementan las reglas de negocios o las bases de datos de acceso. Como resultado, los clientes son más delgados, un beneficio que es particularmente importante para los clientes que se ejecutan en dispositivos pequeños.
Tercero, debido a que los beans empresariales son componentes portátiles, el ensamblador de aplicaciones puede construir nuevas aplicaciones a partir de beans existentes. Estas aplicaciones pueden ejecutarse en cualquier servidor Java EE compatible siempre que utilicen las API estándar.
Cuándo usar Enterprise Beans Debe considerar usar Enterprise Beans si su aplicación tiene alguno de los siguientes requisitos:
La aplicación debe ser escalable. Para dar cabida a un número creciente de usuarios, es posible que deba distribuir los componentes de una aplicación en varias máquinas. Los beans empresariales de una aplicación no solo pueden ejecutarse en diferentes máquinas, sino que también su ubicación será transparente para los clientes.
Las transacciones deben garantizar la integridad de los datos. Los beans Enterprise admiten transacciones, los mecanismos que gestionan el acceso concurrente de objetos compartidos.
La aplicación tendrá una variedad de clientes. Con solo unas pocas líneas de código, los clientes remotos pueden localizar fácilmente beans empresariales. Estos clientes pueden ser delgados, diversos y numerosos.