logo

Hva er EJB

EJB er et akronym for enterprise java bean . Det er en spesifikasjon levert av Sun Microsystems for å utvikle sikre, robuste og skalerbare distribuerte applikasjoner.

For å få informasjon om distribuerte applikasjoner, besøk RMI veiledning først.

For å kjøre EJB-applikasjonen trenger du en applikasjonsserver (EJB Container) som Jboss, Glassfish, Weblogic, Websphere osv. Den utfører:

  1. livssyklusstyring,
  2. sikkerhet,
  3. transaksjonshåndtering, og
  4. gjenstandssamling.

EJB-applikasjonen er distribuert på serveren, så den kalles også serversidekomponent.

EJB er som COM ( Komponentobjektmodell ) levert av Microsoft. Men det er forskjellig fra Java Bean, RMI og Web Services.


Når bruker du Enterprise Java Bean?

  1. Applikasjonen trenger ekstern tilgang . Det er med andre ord fordelt.
  2. Applikasjonen må være skalerbar . EJB-applikasjoner støtter belastningsbalansering, clustering og fail-over.
  3. Applikasjonen trenger innkapslet forretningslogikk . EJB-applikasjonen er atskilt fra presentasjon og vedvarende lag.

Typer Enterprise Java Bean

Det er 3 typer enterprise bean i java.

Session Bean

Session bean inneholder forretningslogikk som kan påberopes av lokal, ekstern eller webserviceklient.

Melding Driven Bean

I likhet med Session Bean inneholder den forretningslogikken, men den påkalles ved å sende melding.

Entity Bean

Den innkapsler tilstanden som kan opprettholdes i databasen. Den er avviklet. Nå er den erstattet med JPA (Java Persistent API).


Forskjellen mellom RMI og EJB

Både RMI og EJB tilbyr tjenester for å få tilgang til et objekt som kjører i en annen JVM (kjent som eksternt objekt) fra en annen JVM. Forskjellene mellom RMI og EJB er gitt nedenfor:

RMIEJB
I RMI må mellomvaretjenester som sikkerhet, transaksjonsadministrasjon, objektpooling etc. gjøres av java-programmereren.I EJB leveres mellomvaretjenester automatisk av EJB Container.
RMI er ikke en komponent på serversiden. Det er ikke nødvendig å være distribuert på serveren.EJB er en komponent på serversiden, den er påkrevd å være distribuert på serveren.
RMI er bygget på toppen av socket-programmering.EJB-teknologi er bygget på toppen av RMI.

EJB og Webservice

I EJB må bønnekomponent og bønneklient begge skrives på java-språk.

Hvis bønneklienten må skrives på andre språk som f.eks .nett , php osv, vi må gå med nettjenester (SÅPE eller HVILE). Så EJB med webservice vil være et bedre alternativ.


Ulemper med EJB

  1. Krever applikasjonsserver
  2. Krever kun java-klient. For andre språkklienter må du gå for webservice.
  3. Kompleks å forstå og utvikle ejb-applikasjoner.