Forskjellen Mellom EJB2 Og EJB3

Forskjellen Mellom EJB2 Og EJB3
Forskjellen Mellom EJB2 Og EJB3

Video: Forskjellen Mellom EJB2 Og EJB3

Video: Forskjellen Mellom EJB2 Og EJB3
Video: Working with EJB3 (EJB Tutorial Part 2) 2024, April
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) er et Java API (Application Programming Interface) som finnes innenfor Java EE (Java Platform, Enterprise Edition) spesifikasjon. EJB beskriver en arkitektonisk modell for utvikling av bedriftsapplikasjoner. Dette er en administrert server-side-modell som er i stand til å fange forretningslogikken til bedriftsapplikasjonen. IBM er EJBs opprinnelige skaper som utviklet den i 1997. Sun Microsystems adopterte den i 1999.

Før introduksjonen av EJB, ble det funnet at løsninger på problemer som ble funnet i back-end forretningskode ofte ble implementert på nytt av programmererne. Som et resultat ble EJB introdusert for å løse disse vanlige problemene som utholdenhet, transaksjonsintegritet og sikkerhet. EJB gir standard måter å håndtere disse back-endproblemene ved å spesifisere hvordan applikasjonsserveren skal behandle transaksjoner, integrere med JPA (Java Persistence API) -tjenester, håndtere samtidighetskontroll, håndtere JMS (Java Message Service) -hendelser, løse navneproblemer med JNDI (Java Naming and Directory Interface), utvikle sikre programmer med JCE (Java Cryptography Extension) og JAAS (Java Authentication and Authorization Service), distribuere komponenter, kommunisere eksternt med RMI-IIOP (Java Remote Method Invocation interface over Internet Inter-Orb Protocol),utvikle webtjenester, påkalle asynkrone metoder og bruke Timer-tjenesten.

EJB2

EJB2 (EJB 2.0) ble utgitt 22. august 2001. Den beskriver spesifikasjon for utvikling av distribuerte objektorienterte applikasjoner i Java ved å kombinere verktøy utviklet av forskjellige leverandører. Et av hovedmålene med EJB2 var å la programmerere utvikle bedriftsapplikasjoner lettere uten å måtte forstå detaljer på lavt nivå, for eksempel multi-threading og tilkobling. Et annet mål var å la programmerere skrive en "Bean" en gang og løpe hvor som helst uten rekompilering (følge "slag en gang, løp hvor som helst" slagordet til Java-programmeringsspråket). Videre hadde EJB2 til hensikt å tillate at komponenter som er utviklet av forskjellige leverandører, lett kunne samarbeide, og tillate leverandører å skrive utvidelser for sine produkter som kan støtte EJB.

EJB3

EJB3 (EJB 3.0) ble utgitt 11. mai 2006. EJB3 gjorde programmerere livet veldig enkelt ved å la dem bruke merknader i stedet for distribusjonsbeskrivelser som ble brukt i tidligere versjoner. EJB3 inneholder et forretningsgrensesnitt og en bestemt enhetsbønne som kan implementere forretningsgrensesnittet, og fjerner behovet for å bruke hjemme / eksterne grensesnitt og ejb-jar.xml-filen. Den generelle ytelsen til EJB3 er mye bedre sammenlignet med EJB2, og det er en betydelig økning i konfigurerbarhet, fleksibilitet og bærbarhet i denne versjonen av EJB.

Hva er forskjellen mellom EJB2 og EJB3?

EJB3 har en merkbar forbedring i konfigurasjon og ytelse i forhold til EJB2. Én grunn til denne ytelsesforbedringen er bruken av POJO (Plain Old Java Object) med metadata og XML Deployment Descriptors av EJB3 i stedet for JNDI-oppslag som brukes i EJB2 for objektreferanser. Konfigurering av EJB3 er mye enklere fordi programmereren ikke trenger å implementere Home / Remote-grensesnitt og andre (f.eks. SessionBean), som fjerner behovet for å bruke tilbakekallingsmetoder for containere (for eksempel ejbActivate og ejbStore).

Videre er EJB3 bedre enn EJB2 innen områdene fleksibilitet og bærbarhet. For eksempel er det enkelt å konvertere EJB3-enheter til DAO (Data Access Object) og omvendt fordi EJB3-enheter er lette (i motsetning til de tunge EJB2-enhetene, som implementerer ovennevnte grensesnitt). Databasespørsmål skrevet i EJB3 er veldig fleksible fordi den bruker en raffinert EJB-QL, i stedet for den eldre versjonen av EJB-QL, som hadde flere begrensninger. EJB3 fjerner alle portabilitetsproblemene til EJB2 (som bruker enhetsbønner for databasetilgang) ved å støtte mer generalisert JPA for alle datatransaksjoner.

I motsetning til EJB2, som trenger en EJB-container for å utføre, kan EJB3 kjøres i en uavhengig JVM (Java Virtual Machine) uten å måtte bruke containere (dette er mulig fordi det ikke implementerer standardgrensesnitt). I motsetning til EJB2 er EJB3 lett å koble sammen med utholdenhetsleverandører som tilbys av tredjeparter. En annen viktig forskjell mellom EJB3 og EJB2 er at EJB3 kan bruke kommentarbasert sikkerhet, mens EJB2 brukte distribusjonsbeskrivelsesbasert sikkerhet. Dette betyr at konfigurasjons- og oppsettoppgaver er mye enklere i EJB3, og det er en betydelig reduksjon i ytelsesomkostninger sammenlignet med EJB2.

Anbefalt: