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:
- gestió del cicle de vida,
- seguretat,
- gestió de transaccions, i
- 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?
- L'aplicació necessita accés remot . En altres paraules, es distribueix.
- 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.
- 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ó:
RMI | EJB |
---|---|
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
- Requereix un servidor d'aplicacions
- Només requereix el client java. Per a un altre client d'idiomes, heu d'anar al servei web.
- Complex per comprendre i desenvolupar aplicacions ejb.