logo

Cos'è l'EJB

EJB è l'acronimo di bean Java aziendale . Si tratta di una specifica fornita da Sun Microsystems per sviluppare applicazioni distribuite sicure, robuste e scalabili.

Per ottenere informazioni sulle applicazioni distribuite, visitare Tutorial sull'RMI Primo.

Per eseguire l'applicazione EJB, è necessario un file server dell'applicazione (EJB Container) come Jboss, Glassfish, Weblogic, Websphere ecc. Esegue:

  1. gestione del ciclo di vita,
  2. sicurezza,
  3. gestione delle transazioni e
  4. raggruppamento di oggetti.

L'applicazione EJB viene distribuita sul server, quindi è chiamata anche componente lato server.

EJB è come COM ( Modello oggetto componente ) fornito da Microsoft. Ma è diverso da Java Bean, RMI e Web Services.


Quando utilizzare Enterprise Java Bean?

  1. L'applicazione necessita dell'accesso remoto . In altre parole, viene distribuito.
  2. L'applicazione deve essere scalabile . Le applicazioni EJB supportano il bilanciamento del carico, il clustering e il failover.
  3. L'applicazione necessita di una logica aziendale incapsulata . L'applicazione EJB è separata dalla presentazione e dal livello persistente.

Tipi di Java Bean aziendali

Esistono 3 tipi di bean enterprise in Java.

Fagiolo di sessione

Il bean di sessione contiene la logica aziendale che può essere richiamata dal client locale, remoto o del servizio web.

Bean guidato dai messaggi

Come Session Bean, contiene la logica aziendale ma viene richiamato passando un messaggio.

Fagiolo di entità

Incapsula lo stato che può essere persistente nel database. È deprecato. Ora è sostituito con JPA (Java Persistent API).


Differenza tra RMI ed EJB

Sia RMI che EJB forniscono servizi per accedere a un oggetto in esecuzione in un'altra JVM (nota come oggetto remoto) da un'altra JVM. Le differenze tra RMI ed EJB sono riportate di seguito:

RMIEJB
In RMI, i servizi middleware come sicurezza, gestione delle transazioni, pooling di oggetti ecc. devono essere eseguiti dal programmatore Java.In EJB, i servizi middleware vengono forniti automaticamente da EJB Container.
RMI non è un componente lato server. Non è necessario che sia distribuito sul server.EJB è un componente lato server, è necessario che sia distribuito sul server.
RMI è costruito sulla parte superiore della programmazione del socket.La tecnologia EJB è costruita sulla parte superiore di RMI.

EJB e servizio Web

In EJB, sia il componente bean che il client bean devono essere scritti in linguaggio Java.

Se il client bean deve essere scritto in un'altra lingua come .netto , php ecc., dobbiamo andare avanti servizi web (SAPONE o RIPOSO). Quindi EJB con servizio web sarà l'opzione migliore.


Svantaggi dell'EJB

  1. Richiede il server delle applicazioni
  2. Richiede solo client Java. Per client in altre lingue, è necessario utilizzare il servizio web.
  3. Complesso da comprendere e sviluppare applicazioni ejb.