logo

Vad är EJB

EJB är en akronym för enterprise java bean . Det är en specifikation som tillhandahålls av Sun Microsystems för att utveckla säkra, robusta och skalbara distribuerade applikationer.

För att få information om distribuerade applikationer, besök RMI handledning först.

För att köra EJB-applikationen behöver du en applikationsserver (EJB Container) såsom Jboss, Glassfish, Weblogic, Websphere etc. Den utför:

  1. livscykelhantering,
  2. säkerhet,
  3. transaktionshantering och
  4. objektpoolning.

EJB-applikationen distribueras på servern, så den kallas också för serversidekomponent.

EJB är som COM ( Komponentobjektmodell ) tillhandahålls av Microsoft. Men det skiljer sig från Java Bean, RMI och webbtjänster.


När använder du Enterprise Java Bean?

  1. Applikationen behöver fjärråtkomst . Det är med andra ord utdelat.
  2. Applikationen måste vara skalbar . EJB-applikationer stöder lastbalansering, klustring och fail-over.
  3. Applikationen behöver inkapslad affärslogik . EJB-applikationen är separerad från presentation och beständigt lager.

Typer av Enterprise Java Bean

Det finns 3 typer av företagsbönor i java.

Session Bean

Session bean innehåller affärslogik som kan anropas av lokal, fjärr- eller webbtjänstklient.

Meddelande Driven Bean

Liksom Session Bean innehåller den affärslogiken men den anropas genom att skicka meddelande.

Entity Bean

Den kapslar in det tillstånd som kan finnas kvar i databasen. Den är utfasad. Nu är det ersatt med JPA (Java Persistent API).


Skillnaden mellan RMI och EJB

Både RMI och EJB tillhandahåller tjänster för att komma åt ett objekt som körs i en annan JVM (känd som fjärrobjekt) från en annan JVM. Skillnaderna mellan RMI och EJB ges nedan:

RMIEJB
I RMI måste mellanvarutjänster som säkerhet, transaktionshantering, objektpoolning etc. göras av java-programmeraren.I EJB tillhandahålls middleware-tjänster automatiskt av EJB Container.
RMI är inte en komponent på serversidan. Det krävs inte att det distribueras på servern.EJB är en komponent på serversidan, den måste distribueras på servern.
RMI är byggt på toppen av socket-programmering.EJB-tekniken är byggd på toppen av RMI.

EJB och Webservice

I EJB måste bönkomponent och bönklient båda vara skrivna på java-språk.

Om bönklient behöver skrivas på annat språk som t.ex .netto , php etc, vi måste gå med webbservice (TVÅL eller VILA). Så EJB med webbtjänst kommer att vara ett bättre alternativ.


Nackdelar med EJB

  1. Kräver applikationsserver
  2. Kräver endast java-klient. För andra språkklienter måste du gå till webbtjänst.
  3. Komplicerat att förstå och utveckla ejb-applikationer.