logo

Què és EJB

EJB és l'acrònim de empresa java bean . És una especificació proporcionada per Sun Microsystems per desenvolupar aplicacions distribuïdes segures, robustes i escalables.

Per obtenir informació sobre aplicacions distribuïdes, visiteu Tutorial RMI primer.

Per executar l'aplicació EJB, necessiteu un servidor d'aplicacions (EJB Container) com ara Jboss, Glassfish, Weblogic, Websphere, etc. Realitza:

  1. gestió del cicle de vida,
  2. seguretat,
  3. gestió de transaccions, i
  4. agrupació d'objectes.

L'aplicació EJB es desplega al servidor, de manera que també s'anomena component del costat del servidor.

EJB és com COM ( Model d'objectes components ) proporcionat per Microsoft. Però, és diferent de Java Bean, RMI i Web Services.


Quan utilitzeu Enterprise Java Bean?

  1. L'aplicació necessita accés remot . En altres paraules, es distribueix.
  2. L'aplicació ha de ser escalable . Les aplicacions EJB admeten l'equilibri de càrrega, l'agrupació en clúster i la substitució per error.
  3. L'aplicació necessita una lògica empresarial encapsulada . L'aplicació EJB està separada de la presentació i la capa persistent.

Tipus de Enterprise Java Bean

Hi ha 3 tipus de beans empresarials a Java.

Session Bean

El bean de sessió conté lògica empresarial que pot ser invocada per un client local, remot o de servei web.

Missatge Driven Bean

Igual que Session Bean, conté la lògica empresarial, però s'invoca passant el missatge.

Entitat Bean

Encapsula l'estat que es pot mantenir a la base de dades. Està obsolet. Ara, es substitueix per JPA (Java Persistent API).


Diferència entre RMI i EJB

Tant RMI com EJB, ofereixen serveis per accedir a un objecte que s'executa en una altra JVM (coneguda com a objecte remot) des d'una altra JVM. Les diferències entre RMI i EJB es donen a continuació:

RMIEJB
A RMI, els serveis de middleware com la seguretat, la gestió de transaccions, l'agrupació d'objectes, etc. han de ser fets pel programador de Java.A EJB, EJB Container proporciona els serveis de middleware automàticament.
RMI no és un component del servidor. No cal que estigui desplegat al servidor.EJB és un component del costat del servidor, cal que es desplega al servidor.
RMI es construeix a la part superior de la programació de socket.La tecnologia EJB es basa en la part superior de RMI.

EJB i servei web

A EJB, el component bean i el client bean s'han d'escriure en llenguatge java.

Si bean client s'ha d'escriure en un altre idioma, com ara .net , php etc, hem d'anar amb serveis web (SABÓ o DESCANS). Així que EJB amb servei web serà una millor opció.


Inconvenients de l'EJB

  1. Requereix un servidor d'aplicacions
  2. Només requereix el client java. Per a un altre client d'idiomes, heu d'anar al servei web.
  3. Complex per comprendre i desenvolupar aplicacions ejb.