
1. Servicios proporcionados
1.1. Manejo de Transacciones
1.2. Seguridad
1.3. Concurrencia
1.4. Servicios de red
1.5. Gestión de recursos
1.6. Persistencia
1.7. Gestión de mensajes
1.8. Escalabilidad
1.9. Adaptación en tiempo de despliegue
2. Tipos de Beans
2.1. De entidad
2.1.1. Representan “cosas” reales o abstractas. Describen tanto el estado como la conducta de objetos. Las variables de instancia se almacenan de forma persistente.
2.2. Dirigidos por mensaje
2.2.1. El hilo de ejecución de un cliente no se bloquea. Los mensajes pueden enviarse desde cualquier componente J2EE o por una aplicación o sistema JMS
2.3. De sesión
2.3.1. Sin estado
2.3.1.1. Puede estar asignado a múltiples clientes, pues no es persistente Cuando se invoca el contenedor obtiene una instancia.
2.3.2. Con estado
2.3.2.1. Las variables almacenan datos obtenidos durante la conexión, pero NO se guardan cuando el cliente termina la sesión. Es más pesado que el de beans de sesión sin estado.
3. Clientes de Beans
3.1. El cliente puede ser una clase Java cualquiera o un servlet.
4. Funcionamiento de Componentes
4.1. Cliente
4.1.1. Realiza peticiones al bean Nunca se comunica directamente con el bean Las peticiones del cliente se hacen a través del objeto EJB.
4.2. Servidor
4.2.1. Puede ejecutarse en una maquina virtual distinta. Dependiendo del tipo de bean es aquí donde se almacenan los cambios. Almacena al contenedor
4.3. Contenedor
4.3.1. Contiene todas las clases y objetos necesarios para el funcionamiento de los beans (interfaz y servicios).