Razlika Između EJB2 I EJB3

Razlika Između EJB2 I EJB3
Razlika Između EJB2 I EJB3

Video: Razlika Između EJB2 I EJB3

Video: Razlika Između EJB2 I EJB3
Video: Working with EJB3 (EJB Tutorial Part 2) 2024, Travanj
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) je Java API (sučelje za programiranje aplikacija) koji se nalazi u specifikaciji Java EE (Java Platform, Enterprise Edition). EJB opisuje arhitektonski model za razvoj poslovnih aplikacija. Ovo je upravljani model na strani poslužitelja koji je u stanju uhvatiti poslovnu logiku poslovne aplikacije. IBM je izvorni tvorac EJB-a koji ga je razvio 1997. Sun Microsystems usvojio ga je 1999.

Prije uvođenja EJB-a, utvrđeno je da su programeri često ponovno implementirali rješenja problema pronađenih u pozadinskom poslovnom kodu. Kao rezultat toga, EJB je predstavljen za rješavanje ovih uobičajenih problema kao što su postojanost, integritet transakcija i sigurnost. EJB pruža standardne načine za rješavanje tih pozadinskih problema, specificirajući kako poslužitelj aplikacija treba obrađivati transakcije, integrirati se s uslugama JPA (Java Persistence API), upravljati paralelnošću, rukovati JMS (Java Message Service) događajima, rješavati probleme s imenovanjem s JNDI (Java Naming i Directory Interface), razvijaju sigurne programe s JCE (Java Cryptography Extension) i JAAS (Java Authentication and Authorization Service), postavljaju komponente, komuniciraju na daljinu s RMI-IIOP (Java Remote Method Invocation sučelje putem Interneta Inter-Orb Protocol),razvijati web usluge, pozivati se na asinkrone metode i koristiti uslugu Timer.

EJB2

EJB2 (EJB 2.0) objavljen je 22. kolovoza 2001. Opisuje specifikaciju za razvoj distribuiranih objektno orijentiranih aplikacija u Javi kombiniranjem alata razvijenih od različitih dobavljača. Jedan od glavnih ciljeva EJB2 bio je omogućiti programerima da lakše razvijaju poslovne aplikacije, a da ne moraju razumjeti detalje na niskoj razini, poput višestrukog navoja i spremanja veza. Drugi cilj bio je omogućiti programerima da jednom napišu "Bean" i pokrenu bilo gdje bez ponovne kompilacije (pridržavajući se slogana "jednom napiši, pokreni bilo gdje" programskog jezika Java). Nadalje, EJB2 namjeravao je omogućiti komponentama koje su razvili različiti dobavljači da lako surađuju i omogućiti dobavljačima da napišu proširenja za svoje proizvode koji mogu podržati EJB-ove.

EJB3

EJB3 (EJB 3.0) objavljen je 11. svibnja 2006. EJB3 je programerima olakšao život omogućujući im upotrebu bilješki umjesto deskriptora implementacije koji su korišteni u prethodnim verzijama. EJB3 sadrži poslovno sučelje i specifični grah entiteta koji može implementirati to poslovno sučelje, uklanjajući potrebu za korištenjem matičnog / udaljenog sučelja i datoteke ejb-jar.xml. Ukupne performanse EJB3 znatno su poboljšane u usporedbi s EJB2, a u ovom izdanju EJB-a zabilježen je značajan porast prilagodljivosti, fleksibilnosti i prenosivosti.

Koja je razlika između EJB2 i EJB3?

EJB3 ima primjetno poboljšanje u konfiguraciji i performansama u odnosu na EJB2. Jedan od razloga za ovo poboljšanje performansi je upotreba POJO (obični stari Java objekt) s metapodacima i XML deskriptorima implementacije pomoću EJB3 umjesto JNDI pretraživanja korištenih u EJB2 za reference objekata. Konfiguracija EJB3 mnogo je jednostavnija jer programer ne treba implementirati Home / Remote sučelja i druga (npr. SessionBean), što uklanja potrebu za upotrebom metoda povratnog poziva kontejnera (poput ejbActivate i ejbStore).

Nadalje, EJB3 je bolji od EJB2 u područjima fleksibilnosti i prenosivosti. Na primjer, lako je pretvoriti EJB3 entitete u DAO (objekt pristupa podacima) i obrnuto, jer su EJB3 entiteti lagani (za razliku od teških EJB2 entiteta, koji implementiraju gore navedena sučelja). Upiti za baze podataka napisani u EJB3 vrlo su fleksibilni jer koristi pročišćeni EJB-QL, umjesto starije verzije EJB-QL, koja je imala nekoliko ograničenja. EJB3 uklanja sva pitanja prenosivosti EJB2 (koji koristi grah entiteta za pristup bazi podataka) podržavajući općenitiji JPA za sve transakcije podataka.

Za razliku od EJB2, kojem je potreban EJB spremnik za izvršenje, EJB3 se može izvršiti u neovisnom JVM (Java virtualnom stroju) bez upotrebe spremnika (to je moguće jer ne implementira standardna sučelja). Za razliku od EJB2, EJB3 je lako povezati s pružateljima upornosti koje nude treće strane. Sljedeća važna razlika između EJB3 i EJB2 je ta što EJB3 može koristiti sigurnost zasnovanu na bilješkama, dok je EJB2 koristio sigurnost na temelju deskriptora implementacije. To znači da su zadaci konfiguracije i postavljanja mnogo jednostavniji u EJB3, a znatno se smanjuju opći troškovi izvedbe u usporedbi s EJB2.

Preporučeno: