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:
- livssyklusstyring,
- sikkerhet,
- transaksjonshåndtering, og
- 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?
- Applikasjonen trenger ekstern tilgang . Det er med andre ord fordelt.
- Applikasjonen må være skalerbar . EJB-applikasjoner støtter belastningsbalansering, clustering og fail-over.
- 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:
RMI | EJB |
---|---|
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
- Krever applikasjonsserver
- Krever kun java-klient. For andre språkklienter må du gå for webservice.
- Kompleks å forstå og utvikle ejb-applikasjoner.