Unterschied zwischen EJB2 und EJB3

Unterschied zwischen EJB2 und EJB3

EJB2 gegen EJB3

EJB (Enterprise JavaBeans) ist eine Java -API (Application Programming Interface). EJB beschreibt ein architektonisches Modell für die Entwicklung von Unternehmensanwendungen. Dies ist ein verwaltetes serverseitiges Modell, das die Geschäftslogik der Enterprise-Anwendung erfassen kann. IBM ist EJBs ursprünglicher Schöpfer, der es 1997 entwickelt hat. Sun Microsystems hat es 1999 übernommen.

Vor der Einführung von EJB wurde festgestellt. Infolgedessen wurde EJB eingeführt, um diese häufigen Probleme wie Persistenz, Transaktionsintegrität und Sicherheit anzugehen. EJB bietet Standardmethoden, um diese Back -End -Probleme zu lösen, indem angeben, wie der Anwendungsserver Transaktionen verarbeiten, in JPA -Dienste (Java Persistence API) integriert, die Contracy Control, die Ereignisse von JMS (Java Message Service) verarbeiten, Namensprobleme mit JNDI (JNDI (JNDI) lösen können (JAVA Message Service), Probleme mit JNDI ((JME Java-Namens- und Verzeichnisschnittstelle), entwickeln sichere Programme mit JCE (Java Cryptography Extension) und JAAS (Java Authentifizierung und Autorisierungsdienst), die Komponenten bereitstellen und mit dem RMI-IIIP (Java Remote Method Invocation Interface über das Internet-Inter-ORB-Protokoll) aus der Ferne kommunizieren. Entwickeln Sie Webdienste, rufen Sie asynchrone Methoden auf und nutzen Sie den Timer -Dienst.

EJB2

EJB2 (EJB 2.0) wurde am 22. August 2001 veröffentlicht. Es beschreibt die Spezifikation für die Entwicklung verteilter objektorientierter Anwendungen in Java durch Kombination von Tools, die von verschiedenen Anbietern entwickelt wurden. Eines der Hauptziele von EJB2 war es, den Programmierern die Entwicklung von Unternehmensanwendungen leichter zu ermöglichen, ohne Details auf niedriger Ebene zu verstehen, z. B. Multi-Threading- und Verbindungspooling. Ein weiteres Ziel war es, den Programmierern zu ermöglichen, einmal eine „Bohne“ zu schreiben und irgendwo ohne Neukompilation zu laufen (Einhaltung des Slogans "Slogan" der Java -Programmiersprache "einmal schreiben, überall rennen"). Darüber hinaus beabsichtigte EJB2, Komponenten zu ermöglichen, die von verschiedenen Anbietern problemlos zusammenarbeiten und Anbieter ermöglichen, Erweiterungen für ihre Produkte zu schreiben, die EJBs unterstützen können.

EJB3

EJB3 (EJB 3.0) wurde am 11. Mai 2006 veröffentlicht. EJB3 machte Programmierer die Leben sehr einfach, indem sie es ihnen ermöglichten, Anmerkungen anstelle von Bereitstellungsdeskriptoren zu verwenden, die in früheren Versionen verwendet wurden. EJB3 enthält eine Geschäftsschnittstelle und eine bestimmte Entitäts-Bean, die diese Geschäftsschnittstelle implementieren kann und die Notwendigkeit der Verwendung von Home/Remote-Schnittstellen und dem EJB-Jar entfernen kann.XML -Datei. Die Gesamtleistung von EJB3 ist im Vergleich zu EJB2 erheblich verbessert, und die Konfigurierbarkeit, Flexibilität und Portabilität in dieser Version von EJB ist erheblich zugenommen.

Was ist der Unterschied zwischen EJB2 und EJB3?

EJB3 hat eine spürbare Verbesserung der Konfiguration und Leistung gegenüber EJB2. Ein Grund für diese Leistungsverbessern. Die Konfiguration von EJB3 ist viel einfacher, da der Programmierer keine Home/Remote -Schnittstellen und andere implementieren muss (e.G. SessionBean), die die Notwendigkeit beseitigt, Container -Rückrufmethoden zu verwenden (z. B. EJBACTIVATE und EJBSTORE).

Darüber hinaus ist EJB3 in den Bereichen Flexibilität und Portabilität besser als EJB2. Zum Beispiel ist es einfach, EJB3 -Entitäten in DAO (Data Access Object) umzuwandeln und umgekehrt, da EJB3 -Entitäten leicht sind (im Gegensatz zu den Schwergewichts -EJB2 -Entitäten, die oben genannte Schnittstellen implementieren). Datenbankabfragen in EJB3 sind sehr flexibel, da sie anstelle der älteren Version von EJB-QL eine raffinierte EJB-QL verwendet. EJB3 beseitigt alle Portabilitätsprobleme von EJB2 (die Entity -Beans für den Datenbankzugriff verwendet), indem sie mehr allgemeinere JPA für alle Datentransaktionen unterstützt.

Im Gegensatz zu EJB2, das einen EJB -Container benötigt, um auszuführen, kann EJB3 in einem unabhängigen JVM (Java Virtual Machine) ausgeführt werden, ohne Container verwenden zu müssen (dies ist möglich, da keine Standardschnittstellen implementiert werden). Im Gegensatz zu EJB2 ist EJB3 mit Persistenzanbietern, die von Dritten angeboten werden. Ein weiterer wichtiger Unterschied zwischen EJB3 und EJB2 besteht darin, dass EJB3 Annotationsbasis -Sicherheit verwenden kann, während EJB2 Bereitstellungsdeskriptoren basierte Sicherheit verwendete. Dies bedeutet, dass Konfigurations- und Einrichtungsaufgaben in EJB3 viel einfacher sind, und es gibt eine erhebliche Verringerung der Leistungsaufwand im Vergleich zu EJB2.