Unterschied zwischen EJB 2.1 und EJB 3.0

 EJB 2.1 gegen EJB 3.0

Der Hauptübergang vom EJB 2.1 zum EJB 3.0 konzentrierte sich hauptsächlich auf Leistung in Bezug auf Geschwindigkeit, Leistung und Einfachheit. Die Änderung würde sich darauf konzentrieren, wie das neue Programm mit anderen Programmierern wie dem Java EE5 zusammenarbeiten würde.

Von einer Anwendung von EJB 2.1 bis zum neuen EJB 3.0 Architect kann es richtig sein, festzustellen, dass die verbesserte Version eine Antwort auf die früheren Mängel der damaligen EJB 2.1 darstellt.

Betrachten wir einige der wichtigsten Übergänge.

Einfachheit

Der EJB 3.0 bietet eine einfache Handhabung der Inhalte, was vielleicht einer der herausragenden Faktoren ist. Im Gegensatz zum EJB 2.1 können Sie jetzt eine Enterprise Java Bean-Anwendung mit viel Einfachheit erstellen.

Dies ist darauf zurückzuführen, dass die EJB 3.0-Operation auf der POJO-Konfiguration (Plain Old Java Object) basiert, die Daten mithilfe von Java-Annotationen erfasst, die in den Implementierungsdeskriptoren enthalten waren. In den meisten Fällen sind Implementierungsdeskriptoren am wenigsten erforderlich.

Im Gegensatz zu EJB 2.1, bei dem mehr unterstützende Codes notiert werden müssen, ist das Gegenteil der Fall, wenn EJB 3.0-Komponenten verwendet werden, die Sie dazu auffordern müssen, weniger unterstützende Codes aufzubewahren und weniger Support-Codes zu verwenden.

Wirksamkeit

Es wird angegeben, dass der neue EJB 3.0 im Vergleich zum EJB 2.1 um etwa 45% wirksamer ist. Dies ist auf die wesentlichen Änderungen des EJB 2.1 zurückzuführen, die im Folgenden erläutert werden.

Das Ersetzen der DTD, die die Anordnungsdeskriptoren von ejb-jar.xml durch das modifizierte XML-Schema identifiziert hat, sowie eine verbesserte Methode zur Erstellung von Enterprise-Beans haben dazu geführt, dass die EJB 2.1 nicht mehr verwendet werden kann. Die Einführung von Plain Old Java Object basiert auf der Quintessenz der Java-API.

Während mit der Einführung von Session-Beans die zusätzliche Verstärkung für Internet-Services geändert wurde, hat EJB 3.0 die Funktion des Feder-Entity-Beans eingeführt. Diese Entitäten basieren auf einem einfachen alten Java-Objekt und erfordern weder die darin ausgeführten EJB-Codes noch eine Schnittstelle. Darüber hinaus können sie außerhalb eines EJB-Containers arbeiten

Spezifikationen

Wenn EJB 2.1 es erforderlich machte, dass die konstituierende Schnittstelle diejenige aus der EJB-Struktur übertrifft, werden sie jetzt bei Verwendung von EJB 3.0 als Nur alte Java-Objekte geschrieben, die die einfache alte Java-Schnittstelle manifestieren und daher keine Home-Schnittstelle erfordern.

Einführung verbesserter Methoden wie der Verwendung von Metadaten-Annotationen und anderer Mechanismen zum Erstellen der Java-Codes und XML-Deskriptoren, im Gegensatz zu den EJB 2.1-Verteilungsdeskriptoren, die umständlich und ungenau waren.

Für die EJB 2.1-Anwendung war es erforderlich, dass der J2EE-Container die für die genaue Bearbeitung der EJB erforderlichen Dienste postuliert und somit schwierig zu testen ist. In EJB 2.1 ist häufig auf JNDI angewiesen, wenn Anwendungen monoton und zeitaufwändig sind.

Für EJB 3.0 sind keine bestimmten Zuordnungen für Schnittstellen und Deskriptoren erforderlich. Dies liegt daran, dass die Anmerkungen einen geeigneten Ersatz für die Zuweisungsdeskriptoren besitzen. Sie können bei der Verwendung der EJB 3.0-Anwendung häufiger Standardwerte verwenden als bei der EJB 2.1. Der EJB 3.0 bietet weniger überprüfte Inkonsistenzen, die für Kreativität sorgen.

Zusammenfassung

Der EJB 3.0 im neuen Übergang vom EJB 2.1.

Im Gegensatz zur EJB 2.1-Version ist die Arbeit mit der EJB 3.0 einfach.

Der EJB 3.0 verwendet Entitäten, die hauptsächlich auf Plain Old Java Object (POJO) basieren.

Bei EJB 2.1 müssen mehr Unterstützungscodes notiert werden als bei EJB 3.0, durch die die Anzahl der Unterstützungscodes reduziert wird.

Die DTD im EJB 2.1 wird durch das modifizierte XML-Schema im EJB 3.0 ersetzt.

Java-Codes werden von den verbesserten Anwendungen in der EJB 3.0 leicht generiert, anders als in der EJB3.1, wo der Prozess sehr schwierig ist.