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

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

Az EJB bevezetése előtt kiderült, hogy a háttér-üzleti kódban talált problémák megoldását a programozók gyakran újratelepítették. Ennek eredményeként az EJB-t azért vezették be, hogy kezelje ezeket a gyakori problémákat, mint például a kitartás, a tranzakciók integritása és a biztonság. Az EJB szabványos módon kezeli ezeket a háttérproblémákat, meghatározva, hogy az alkalmazáskiszolgálónak miként kell feldolgoznia a tranzakciókat, integrálódnia kell a JPA (Java Persistence API) szolgáltatásokkal, kezelnie az egyidejűség-vezérlést, kezelni a JMS (Java Message Service) eseményeket, megoldani a névadási problémákat a JNDI-vel (Java Naming and Directory Interface), fejlesszen ki biztonságos programokat a JCE (Java Cryptography Extension) és a JAAS (Java Authentication and Authorization Service) segítségével, telepítse az összetevőket, távolról kommunikáljon az RMI-IIOP (Java Remote Method Invocation interfésszel az Internet Inter-Orb Protocol protokollon keresztül),webes szolgáltatások fejlesztése, aszinkron módszerek 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ét a Java-ban 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 lehetővé tegye a programozók számára, hogy könnyebben fejlesszék a vállalati alkalmazásokat anélkül, hogy meg kellene érteniük az alacsony szintű részleteket, például a többszálas menetrendet és a kapcsolatkészletet. A másik cél az volt, hogy lehetővé tegyék a programozók számára, hogy egyszer egy „Babot” írjanak, és bárhol fussanak újrafordítás nélkül (betartva a Java programozási nyelv „egyszer írj, fuss bárhova” szlogenjét). Ezenkívül az EJB2 célja az volt, hogy lehetővé tegye a különböző gyártók által kifejlesztett alkatrészek egyszerű interoperációját, és lehetővé tegye a gyártók számára, hogy az EJB-ket támogató kiterjesztéseket írhassanak termékeikhez.

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, hogy a korábbi verziókban használt telepítési leírók helyett kommentárokat használhassanak. Az EJB3 tartalmaz egy üzleti felületet és egy speciális entitásbabot, amely képes megvalósítani az üzleti felületet, feleslegessé téve az otthoni / távoli interfészek és az ejb-jar.xml fájl használatának szükségességét. Az EJB3 teljes teljesítménye jóval jobb az EJB2-hez képest, és az EJB ezen kiadásában jelentősen nő 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?

Az EJB3-nak érezhetően javult a konfigurációja és a teljesítménye az EJB2-hez képest. Ennek a teljesítményjavulásnak az egyik oka a POJO (Plain Old Java Object) használata metaadatokkal és XML telepítési leírókkal az EJB3 részéről az EJB2-ben objektumhivatkozásokhoz használt JNDI keresések helyett. Az EJB3 konfigurálása sokkal egyszerűbb, mert a programozónak nincs szüksége otthoni / távoli interfészek és mások (pl. SessionBean) megvalósítására, ami feleslegessé teszi a konténeres visszahívási módszerek (például ejbActivate és ejbStore) használatát.

Ezenkívül az EJB3 jobb, mint az EJB2 a rugalmasság és a hordozhatóság terén. Például könnyű átalakítani az EJB3 entitásokat DAO -vá (Data Access Object) és fordítva, mert 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, mivel finomított EJB-QL-t használ az EJB-QL régebbi verziója helyett, amelynek számos korlátja volt. Az EJB3 eltávolítja az EJB2 (amely adatbázis-hozzáféréshez entitásbabokat használ) összes hordozhatósági kérdését azáltal, hogy általánosabb JPA-t támogat minden adattranzakcióhoz.

Ellentétben az EJB2-vel, 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 tárolókat kellene használnia (ez azért lehetséges, mert nem valósít meg szabványos interfészeket). Az EJB2-vel ellentétben az EJB3 könnyen csatlakoztatható harmadik fél által kínált kitartás-szolgáltatókhoz. Egy másik fontos különbség az EJB3 és az EJB2 között az, hogy az EJB3 használhat annotáció alapú biztonságot, míg az EJB2 telepítési leíró alapú biztonságot. Ez azt jelenti, hogy a konfigurációs és beállítási feladatok sokkal könnyebbek az EJB3-ban, és az EJB2-hez képest jelentősen csökken a teljesítmény általános költsége.

Ajánlott: