Diferencia entre EJB2 y EJB3

Diferencia entre EJB2 y EJB3

EJB2 vs EJB3

EJB (Enterprise Javabeans) es una API Java (interfaz de programación de aplicaciones) que se encuentra dentro de la especificación Java EE (Plataforma Java, Enterprise Edition). EJB describe un modelo arquitectónico para el desarrollo de aplicaciones empresariales. Este es un modelo administrado del lado del servidor que puede capturar la lógica comercial de la aplicación empresarial. IBM es el creador original de EJB que lo desarrolló en 1997. Sun Microsystems lo adoptó en 1999.

Antes de la introducción de EJB, se descubrió que los programadores volvieron a implementar soluciones a los problemas encontrados en el código comercial de fondo. Como resultado, se introdujo EJB para abordar estos problemas comunes, como la persistencia, la integridad transaccional y la seguridad. EJB proporciona formas estándar de manejar estos problemas de back -end, especificando cómo el servidor de aplicaciones debe procesar las transacciones, integrarse con los servicios de JPA (API de persistencia Java), manejar el control de concurrencia, manejar eventos JMS (servicio de mensajes Java), resolver problemas con JNDI ( Java Naming and Directory Interface), desarrolle programas seguros con JCE (Java Cryptography Extension) y JAAS (Servicio de Autenticación y Autorización de Java), Implemente componentes, se comunique de forma remota con RMI-IIOP (Interfaz de invocación de método remoto Java en el Protocolo Inter-ORB de Internet) , desarrollar servicios web, invocar métodos asincrónicos y utilizar el servicio de temporizador.

EJB2

EJB2 (EJB 2.0) fue lanzado el 22 de agosto de 2001. Describe la especificación para desarrollar aplicaciones distribuidas orientadas a objetos en Java mediante la combinación de herramientas desarrolladas por diferentes proveedores. Uno de los principales objetivos de EJB2 era permitir a los programadores desarrollar aplicaciones empresariales más fácilmente sin tener que comprender los detalles de bajo nivel, como la agrupación de subprocesos múltiples y de conexión. Otro objetivo era permitir a los programadores escribir un "frijol" una vez y ejecutar en cualquier lugar sin recompilación (adherirse al eslogan de "escribir una vez, ejecutar en cualquier lugar" del lenguaje de programación Java). Además, EJB2 tenía la intención de permitir que los componentes desarrollados por diferentes proveedores se interoperan fácilmente y permitan a los proveedores escribir extensiones para sus productos que pueden admitir EJBS.

EJB3

EJB3 (EJB 3.0) fue lanzado el 11 de mayo de 2006. EJB3 hizo que los programadores hicieran la vida muy fácil al permitirles usar anotaciones en lugar de descriptores de implementación que se usaron en versiones anteriores. EJB3 contiene una interfaz comercial y una entidad específica que puede implementar esa interfaz comercial, eliminando la necesidad de usar interfaces de inicio/remoto y EJB-JAR.archivo XML. El rendimiento general de EJB3 ha mejorado mucho en comparación con EJB2, y hay un aumento considerable en la configuración, flexibilidad y portabilidad en esta versión de EJB.

¿Cuál es la diferencia entre EJB2 y EJB3??

EJB3 tiene una mejora notable en la configuración y el rendimiento sobre EJB2. Una razón para esta mejora del rendimiento es el uso del POJO (objeto Java Old Old) con descriptores de despliegue de metadatos y XML por EJB3 en lugar de las búsquedas JNDI utilizadas en EJB2 para referencias de objetos. La configuración de EJB3 es mucho más simple porque el programador no necesita implementar interfaces de inicio/remoto y otras (E.gramo. SessionBean), que elimina la necesidad de usar métodos de devolución de llamada de contenedores (como EJBActivate y Ejbstore).

Además, EJB3 es mejor que EJB2 en las áreas de flexibilidad y portabilidad. Por ejemplo, es fácil convertir entidades EJB3 a DAO (objeto de acceso a datos) y viceversa porque las entidades EJB3 son livianas (a diferencia de las entidades EJB2 de peso pesado, que implementan interfaces mencionadas anteriormente). Las consultas de bases de datos escritas en EJB3 son muy flexibles porque utiliza un EJB-QL refinado, en lugar de la versión anterior de EJB-QL, que tenía varias limitaciones. EJB3 elimina todos los problemas de portabilidad de EJB2 (que utiliza frijoles de entidad para el acceso a la base de datos) al admitir JPA más generalizado para todas las transacciones de datos.

A diferencia de EJB2, que necesita un contenedor EJB para ejecutar, EJB3 se puede ejecutar en un JVM independiente (Java Virtual Machine) sin tener que usar contenedores (esto es posible porque no implementa interfaces estándar). A diferencia de EJB2, EJB3 es fácilmente conectable con proveedores de persistencia ofrecidos por terceros. Otra diferencia importante entre EJB3 y EJB2 es que EJB3 puede usar la seguridad basada en anotaciones, mientras que EJB2 usó la seguridad basada en descriptores de implementación. Esto significa que las tareas de configuración y configuración son mucho más fáciles en EJB3, y hay una reducción considerable en los gastos generales de rendimiento en comparación con EJB2.