logo

Was ist EJB?

EJB ist ein Akronym für Enterprise-Java-Bean . Dabei handelt es sich um eine von Sun Microsystems bereitgestellte Spezifikation zur Entwicklung sicherer, robuster und skalierbarer verteilter Anwendungen.

Informationen zu verteilten Anwendungen finden Sie unter RMI-Tutorial Erste.

Um eine EJB-Anwendung auszuführen, benötigen Sie eine Anwendungsserver (EJB-Container) wie Jboss, Glassfish, Weblogic, Websphere usw. Es führt Folgendes aus:

  1. Lebenszyklusverwaltung,
  2. Sicherheit,
  3. Transaktionsmanagement und
  4. Objekt-Pooling.

Die EJB-Anwendung wird auf dem Server bereitgestellt und wird daher auch als serverseitige Komponente bezeichnet.

EJB ist wie COM ( Komponentenobjektmodell ), bereitgestellt von Microsoft. Es unterscheidet sich jedoch von Java Bean, RMI und Web Services.


Wann wird Enterprise Java Bean verwendet?

  1. Die Anwendung benötigt Fernzugriff . Mit anderen Worten: Es wird verteilt.
  2. Die Anwendung muss skalierbar sein . EJB-Anwendungen unterstützen Lastausgleich, Clustering und Failover.
  3. Die Anwendung benötigt eine gekapselte Geschäftslogik . Die EJB-Anwendung ist von der Präsentations- und der persistenten Schicht getrennt.

Arten von Enterprise Java Bean

Es gibt drei Arten von Enterprise-Beans in Java.

Session-Bean

Session Bean enthält Geschäftslogik, die vom lokalen, Remote- oder Webservice-Client aufgerufen werden kann.

Nachrichtengesteuerte Bean

Wie Session Bean enthält es die Geschäftslogik, wird jedoch durch die Übergabe einer Nachricht aufgerufen.

Entitätsbohne

Es kapselt den Zustand, der in der Datenbank beibehalten werden kann. Es ist veraltet. Jetzt wird es durch JPA (Java Persistent API) ersetzt.


Unterschied zwischen RMI und EJB

Sowohl RMI als auch EJB bieten Dienste für den Zugriff auf ein Objekt, das in einer anderen JVM ausgeführt wird (bekannt als Remote-Objekt), von einer anderen JVM aus. Die Unterschiede zwischen RMI und EJB sind unten aufgeführt:

RMIEJB
In RMI müssen Middleware-Dienste wie Sicherheit, Transaktionsverwaltung, Objekt-Pooling usw. vom Java-Programmierer durchgeführt werden.In EJB werden Middleware-Dienste automatisch vom EJB-Container bereitgestellt.
RMI ist keine serverseitige Komponente. Es ist nicht erforderlich, dass es auf dem Server bereitgestellt wird.EJB ist eine serverseitige Komponente und muss auf dem Server bereitgestellt werden.
RMI basiert auf der Socket-Programmierung.Die EJB-Technologie basiert auf RMI.

EJB und Webservice

In EJB müssen sowohl die Bean-Komponente als auch der Bean-Client in der Java-Sprache geschrieben sein.

Wenn der Bean-Client in einer anderen Sprache geschrieben werden muss, z .Netz , php usw., wir müssen mitmachen Internetdienste (SOAP oder REST). Daher ist EJB mit Webservice die bessere Option.


Nachteile von EJB

  1. Erfordert Anwendungsserver
  2. Erfordert nur einen Java-Client. Für einen Client in einer anderen Sprache müssen Sie sich für einen Webservice entscheiden.
  3. Es ist schwierig, EJB-Anwendungen zu verstehen und zu entwickeln.