Különbség az EJB2 és az EJB3 között

Különbség az EJB2 és az EJB3 között
Különbség az EJB2 és az EJB3 között
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) egy Java API (Application Programming Interface), amely a Java EE (Java Platform, Enterprise Edition) specifikációban található. Az EJB egy architekturális modellt ír le a vállalati alkalmazások fejlesztésére. Ez egy felügyelt szerveroldali modell, amely képes megragadni a vállalati alkalmazás üzleti logikáját. Az IBM az EJB eredeti megalkotója, aki 1997-ben fejlesztette ki. A Sun Microsystems 1999-ben vette át.

Az EJB bevezetése előtt azt találták, hogy a háttérben található üzleti kódokban talált problémák megoldásait a programozók gyakran újra implementálták. Ennek eredményeként bevezették az EJB-t, hogy kezelje ezeket a gyakori problémákat, mint például a tartósság, a tranzakciós integritás és a biztonság. Az EJB szabványos módszereket kínál ezeknek a háttérproblémáknak a kezelésére azáltal, hogy meghatározza, hogy az alkalmazáskiszolgáló hogyan dolgozza fel a tranzakciókat, hogyan integrálja a JPA (Java Persistence API) szolgáltatásait, kezelje a párhuzamosság vezérlését, kezelje a JMS (Java Message Service) eseményeket, oldja meg a JNDI-vel kapcsolatos elnevezési problémákat (Java elnevezési és címtári felület), biztonságos programokat fejleszt a JCE (Java Cryptography Extension) és JAAS (Java hitelesítési és engedélyezési szolgáltatás) segítségével, telepíthet összetevőket, távolról kommunikál az RMI-IIOP-val (Java Remote Method Invocation interfész az Internet Inter-Orb Protocol protokollon keresztül), webszolgáltatások fejlesztése, aszinkron metódusok meghívása és az Időzítő szolgáltatás használata.

EJB2

Az EJB2 (EJB 2.0) 2001. augusztus 22-én jelent meg. Leírja az elosztott objektum-orientált alkalmazások fejlesztésének specifikációit Java nyelven a különböző gyártók által fejlesztett eszközök kombinálásával. Az EJB2 egyik fő célja az volt, hogy a programozók könnyebben fejleszthessenek vállalati alkalmazásokat anélkül, hogy megértenék az alacsony szintű részleteket, mint például a többszálú és kapcsolati pooling. Egy másik cél az volt, hogy a programozók egyszer megírhassák a „Bean”-et, és újrafordítás nélkül futhassanak bárhol (betartva a Java programozási nyelv „egyszer írd, bárhol futtasd” szlogenjét). Ezenkívül az EJB2 célja, hogy lehetővé tegye a különböző gyártók által kifejlesztett komponensek egyszerű együttműködését, és lehetővé tegye a gyártók számára, hogy olyan bővítményeket írjanak termékeikhez, amelyek támogatják az EJB-ket.

EJB3

Az EJB3 (EJB 3.0) 2006. május 11-én jelent meg. Az EJB3 nagyon megkönnyítette a programozók életét azáltal, hogy lehetővé tette számukra a megjegyzések használatát a korábbi verziókban használt telepítési leírók helyett. Az EJB3 tartalmaz egy üzleti felületet és egy adott entitáskomponenst, amely megvalósíthatja ezt az üzleti felületet, így nincs szükség otthoni/távoli interfészek és az ejb-jar.xml fájl használatára. Az EJB3 általános teljesítménye sokkal jobb az EJB2-höz képest, és az EJB ezen kiadásában jelentősen javult a konfigurálhatóság, a rugalmasság és a hordozhatóság.

Mi a különbség az EJB2 és az EJB3 között?

EJB3 észrevehető javulást mutat a konfigurációban és a teljesítményben az EJB2-höz képest. A teljesítménynövekedés egyik oka a POJO (Sima Old Java Object) használata metaadatokkal és XML-telepítési leírókkal az EJB3 által az EJB2-ben objektumhivatkozásokhoz használt JNDI keresések helyett. Az EJB3 konfigurálása sokkal egyszerűbb, mivel a programozónak nincs szüksége otthoni/távoli interfészek és egyéb (pl. SessionBean) megvalósítására, ami feleslegessé teszi a konténer-visszahívási módszerek használatát (például ejbActivate és ejbStore).

Továbbá az EJB3 jobb, mint az EJB2 a rugalmasság és a hordozhatóság terén. Például könnyen konvertálható az EJB3 entitások DAO-vá (Data Access Object) és fordítva, mivel az EJB3 entitások könnyűek (szemben a nehézsúlyú EJB2 entitásokkal, amelyek a fent említett interfészeket valósítják meg). Az EJB3-ban írt adatbázis-lekérdezések nagyon rugalmasak, mert finomított EJB-QL-t használ az EJB-QL régebbi verziója helyett, amelynek számos korlátozása volt. Az EJB3 eltávolítja az EJB2 összes hordozhatósági problémáját (amely entitás beaneket használ az adatbázis-hozzáféréshez) azáltal, hogy az összes adattranzakcióhoz támogatja az általánosabb JPA-t.

Az EJB2-vel ellentétben, amelynek végrehajtásához EJB tárolóra van szükség, az EJB3 független JVM-ben (Java Virtual Machine) futtatható anélkül, hogy konténereket kellene használni (ez azért lehetséges, mert nem valósít meg szabványos interfészt). Az EJB2-vel ellentétben az EJB3 könnyen csatlakoztatható harmadik felek által kínált perzisztencia-szolgáltatókhoz. Egy másik fontos különbség az EJB3 és az EJB2 között, hogy az EJB3 annotáció alapú biztonságot, míg az EJB2 telepítési leíró alapú biztonságot használhat. Ez azt jelenti, hogy a konfigurálási és beállítási feladatok sokkal egyszerűbbek az EJB3-ban, és az EJB2-höz képest jelentősen csökkennek a teljesítményköltségek.

Ajánlott: