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: THREE REASONS WHY TO GRILL (vs Using An Oven) 2024, Rujan
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) je Java API (Application Programming Interface) koji se nalazi unutar specifikacije Java EE (Java Platform, Enterprise Edition). EJB opisuje arhitektonski model za razvoj poslovnih aplikacija. Ovo je upravljani model na strani poslužitelja koji može uhvatiti poslovnu logiku poslovne aplikacije. IBM je izvorni kreator EJB-a koji ga je razvio 1997. Sun Microsystems ga je usvojio 1999.

Prije uvođenja EJB-a utvrđeno je da su programeri često ponovno implementirali rješenja za probleme pronađene u pozadinskom poslovnom kodu. Kao rezultat toga, EJB je predstavljen za rješavanje ovih uobičajenih problema kao što su postojanost, transakcijski integritet i sigurnost. EJB pruža standardne načine za rješavanje ovih pozadinskih problema, određivanjem kako aplikacijski poslužitelj treba obrađivati transakcije, integrirati s JPA (Java Persistence API) uslugama, upravljati kontrolom istovremenosti, rukovati JMS (Java Message Service) događajima, rješavati probleme s imenovanjem s JNDI (Java sučelje za imenovanje i direktorij), razvijati sigurne programe s JCE (Java Cryptography Extension) i JAAS (Java Authentication and Authorization Service), implementirati komponente, komunicirati na daljinu s RMI-IIOP (Java Remote Method Invocation sučelje preko Internet Inter-Orb Protocol), razviti web usluge, pozvati 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 koje su razvili različiti proizvođači. Jedan od glavnih ciljeva EJB2 bio je omogućiti programerima da lakše razvijaju poslovne aplikacije bez potrebe za razumijevanjem detalja niske razine, kao što je multi-threading i spajanje veza. Drugi je cilj bio omogućiti programerima da jednom napišu "Bean" i pokreću ga bilo gdje bez rekompilacije (pridržavajući se slogana "napiši jednom, pokreni bilo gdje" programskog jezika Java). Nadalje, EJB2 je namjeravao omogućiti komponentama koje su razvili različiti dobavljači jednostavnu međuoperabilnost i omogućiti dobavljačima da pišu proširenja za svoje proizvode koji mogu podržavati EJB.

EJB3

EJB3 (EJB 3.0) objavljen je 11. svibnja 2006. EJB3 je programerima učinio život vrlo lakim dopuštajući im da koriste bilješke umjesto deskriptora implementacije koji su se koristili u prethodnim verzijama. EJB3 sadrži poslovno sučelje i određeni bean entiteta koji može implementirati to poslovno sučelje, uklanjajući potrebu za korištenjem kućnih/udaljenih sučelja i datoteke ejb-jar.xml. Sveukupna izvedba EJB3 znatno je poboljšana u usporedbi s EJB2, a postoji i značajno povećanje konfigurabilnosti, fleksibilnosti i prenosivosti u ovom izdanju EJB-a.

Koja je razlika između EJB2 i EJB3?

EJB3 ima vidljivo poboljšanje u konfiguraciji i performansama u odnosu na EJB2. Jedan od razloga za ovo poboljšanje performansi je upotreba POJO (Plain Old Java Object) s metapodacima i XML Deployment Deskriptorima od strane EJB3 umjesto JNDI pretraživanja koja se koriste u EJB2 za reference objekata. Konfiguracija EJB3 puno je jednostavnija jer programer ne treba implementirati Home/Remote sučelja i druga (npr. SessionBean), što uklanja potrebu za korištenjem metoda povratnog poziva spremnika (kao što su ejbActivate i ejbStore).

Nadalje, EJB3 je bolji od EJB2 u područjima fleksibilnosti i prenosivosti. Na primjer, lako je pretvoriti EJB3 entitete u DAO (Data Access Object) i obrnuto jer su EJB3 entiteti lagani (za razliku od teških EJB2 entiteta, koji implementiraju gore navedena sučelja). Upiti baze podataka napisani u EJB3 vrlo su fleksibilni jer koristi rafinirani EJB-QL, umjesto starije verzije EJB-QL, koja je imala nekoliko ograničenja. EJB3 uklanja sve probleme prenosivosti EJB2 (koji koristi bean entiteta za pristup bazi podataka) podržavajući generaliziraniji JPA za sve podatkovne transakcije.

Za razliku od EJB2, koji za izvođenje treba EJB spremnik, EJB3 se može izvršiti u nezavisnom JVM-u (Java Virtual Machine) bez potrebe za korištenjem spremnika (to je moguće jer ne implementira standardna sučelja). Za razliku od EJB2, EJB3 se lako može priključiti na pružatelje postojanosti koje nude treće strane. Još jedna važna razlika između EJB3 i EJB2 je da EJB3 može koristiti sigurnost temeljenu na komentarima, dok je EJB2 koristio sigurnost temeljenu na deskriptorima implementacije. To znači da su zadaci konfiguracije i postavljanja puno lakši u EJB3, a postoji značajno smanjenje troškova izvedbe u usporedbi s EJB2.

Preporučeni: