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:
- Lebenszyklusverwaltung,
- Sicherheit,
- Transaktionsmanagement und
- 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?
- Die Anwendung benötigt Fernzugriff . Mit anderen Worten: Es wird verteilt.
- Die Anwendung muss skalierbar sein . EJB-Anwendungen unterstützen Lastausgleich, Clustering und Failover.
- 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:
RMI | EJB |
---|---|
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
- Erfordert Anwendungsserver
- Erfordert nur einen Java-Client. Für einen Client in einer anderen Sprache müssen Sie sich für einen Webservice entscheiden.
- Es ist schwierig, EJB-Anwendungen zu verstehen und zu entwickeln.