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

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

Videó: Különbség az EJB2 és az EJB3 között
Videó: Mi a különbség a grill és a BBQ között? 2024, November
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: