EJB is een acroniem voor zakelijke javaboon . Het is een specificatie van Sun Microsystems om beveiligde, robuuste en schaalbare gedistribueerde applicaties te ontwikkelen.
Voor informatie over gedistribueerde applicaties gaat u naar RMI-zelfstudie Eerst.
Om de EJB-applicatie uit te voeren, hebt u een applicatie server (EJB Container) zoals Jboss, Glassfish, Weblogic, Websphere enz. Het voert het volgende uit:
- levenscyclus management,
- beveiliging,
- transactiebeheer, en
- het poolen van objecten.
De EJB-applicatie wordt op de server geïmplementeerd en wordt daarom ook wel een server-side component genoemd.
EJB is als COM ( Component-objectmodel ) geleverd door Microsoft. Maar het is anders dan Java Bean, RMI en Web Services.
Wanneer Enterprise Java Bean gebruiken?
- Applicatie heeft externe toegang nodig . Met andere woorden, het wordt gedistribueerd.
- Applicaties moeten schaalbaar zijn . EJB-applicaties ondersteunen taakverdeling, clustering en fail-over.
- Applicatie heeft ingekapselde bedrijfslogica nodig . EJB-applicatie is gescheiden van presentatie- en persistente laag.
Soorten Enterprise Java Bean
Er zijn 3 soorten enterprise bean in Java.
Sessie Boon
Session bean bevat bedrijfslogica die kan worden aangeroepen door een lokale, externe of webserviceclient.
Berichtgestuurde boon
Net als Session Bean bevat het de bedrijfslogica, maar wordt deze aangeroepen door een bericht door te geven.
Entiteit Boon
Het omvat de status die in de database kan worden gehandhaafd. Het is verouderd. Nu is het vervangen door JPA (Java Persistent API).
Verschil tussen RMI en EJB
Zowel RMI als EJB bieden services voor toegang tot een object dat in een andere JVM draait (ook wel extern object genoemd) vanaf een andere JVM. De verschillen tussen RMI en EJB worden hieronder weergegeven:
KMI | EJB |
---|---|
In RMI moeten middleware-services zoals beveiliging, transactiebeheer, objectpooling enz. worden uitgevoerd door de Java-programmeur. | In EJB worden middleware-services automatisch geleverd door EJB Container. |
RMI is geen component aan de serverzijde. Het is niet vereist dat het op de server wordt geïmplementeerd. | EJB is een component aan de serverzijde en moet op de server worden geïmplementeerd. |
RMI is gebouwd bovenop socketprogrammering. | EJB-technologie is gebouwd bovenop RMI. |
EJB en Webservice
In EJB moeten de beancomponent en de beanclient beide in Java-taal zijn geschreven.
Als de bonenclient in een andere taal moet worden geschreven, zoals .netto , php enz., we moeten mee webservices (ZEEP of RUST). EJB met webservice is dus een betere optie.
Nadelen van EJB
- Vereist applicatieserver
- Vereist alleen een Java-client. Voor een andere taalclient moet u voor webservice kiezen.
- Complex om ejb-applicaties te begrijpen en te ontwikkelen.