Dallimi midis EJB2 dhe EJB3

Dallimi midis EJB2 dhe EJB3
Dallimi midis EJB2 dhe EJB3

Video: Dallimi midis EJB2 dhe EJB3

Video: Dallimi midis EJB2 dhe EJB3
Video: "Mrekullitë e mendjes suaj" nga Joseph Murphy (Audiobook i plotë) 2024, Shtator
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) është një Java API (Application Programming Interface) që gjendet brenda specifikimeve Java EE (Java Platform, Enterprise Edition). EJB përshkruan një model arkitektonik për zhvillimin e aplikacioneve të ndërmarrjeve. Ky është një model i menaxhuar nga ana e serverit që është në gjendje të kapë logjikën e biznesit të aplikacionit të ndërmarrjes. IBM është krijuesi origjinal i EJB që e zhvilloi atë në 1997. Sun Microsystems e miratoi atë në 1999.

Para prezantimit të EJB, u zbulua se zgjidhjet e problemeve të gjetura në kodin e biznesit të fundit u rizbatuan shpesh nga programuesit. Si rezultat, EJB u prezantua për të adresuar këto probleme të zakonshme si këmbëngulja, integriteti transaksional dhe siguria. EJB ofron mënyra standarde për të trajtuar këto probleme të fundit, duke specifikuar se si serveri i aplikacionit duhet të përpunojë transaksionet, të integrohet me shërbimet JPA (Java Persistence API), të trajtojë kontrollin e konkurencës, të trajtojë ngjarjet JMS (Shërbimi i mesazheve Java), të zgjidhë çështjet e emërtimit me JNDI (Java Emërtimi dhe Ndërfaqja e Direktorive), zhvilloni programe të sigurta me JCE (Java Cryptography Extension) dhe JAAS (Shërbimi i Autentifikimit dhe Autorizimit Java), vendosni komponentë, komunikoni nga distanca me RMI-IIOP (ndërfaqja e thirrjes së metodës në distancë Java përmes Protokollit Inter-Orb në Internet), zhvilloni shërbime ueb, thirrni metoda asinkrone dhe përdorni shërbimin Timer.

EJB2

EJB2 (EJB 2.0) u lëshua më 22 gusht 2001. Ai përshkruan specifikimet për zhvillimin e aplikacioneve të orientuara drejt objekteve të shpërndara në Java duke kombinuar mjete të zhvilluara nga shitës të ndryshëm. Një nga qëllimet kryesore të EJB2 ishte të lejonte programuesit të zhvillonin aplikacionet e ndërmarrjeve më lehtë pa pasur nevojë të kuptonin detaje të nivelit të ulët, si p.sh. multi-threading dhe bashkimi i lidhjeve. Një qëllim tjetër ishte që të lejonin programuesit të shkruanin një "Bean" një herë dhe të ekzekutonin kudo pa rikompilim (duke iu përmbajtur sloganit "shkruaj një herë, ekzekuto kudo" të gjuhës programuese Java). Për më tepër, EJB2 synonte të lejonte komponentët e zhvilluar nga shitës të ndryshëm të ndërveprojnë lehtësisht dhe t'i lejojë shitësit të shkruajnë shtesa për produktet e tyre që mund të mbështesin EJB.

EJB3

EJB3 (EJB 3.0) u lëshua më 11 maj 2006. EJB3 e bëri shumë të lehtë jetën e programuesve duke i lejuar ata të përdorin shënime në vend të përshkruesve të vendosjes që përdoreshin në versionet e mëparshme. EJB3 përmban një ndërfaqe biznesi dhe një entitet specifik që mund të zbatojë atë ndërfaqe biznesi, duke hequr nevojën për përdorimin e ndërfaqeve në shtëpi/në distancë dhe skedarin ejb-jar.xml. Performanca e përgjithshme e EJB3 është përmirësuar shumë në krahasim me EJB2, dhe ka një rritje të konsiderueshme në konfigurimin, fleksibilitetin dhe transportueshmërinë në këtë version të EJB.

Cili është ndryshimi midis EJB2 dhe EJB3?

EJB3 ka një përmirësim të dukshëm në konfigurim dhe performancë mbi EJB2. Një arsye për këtë përmirësim të performancës është përdorimi i POJO (Objekti i thjeshtë i vjetër Java) me metadata dhe përshkruesit e vendosjes XML nga EJB3 në vend të kërkimeve JNDI të përdorura në EJB2 për referenca objektesh. Konfigurimi i EJB3 është shumë më i thjeshtë sepse programuesi nuk ka nevojë të implementojë ndërfaqe Home/Remote dhe të tjera (p.sh. SessionBean), gjë që heq nevojën për të përdorur metodat e kthimit të thirrjes së kontejnerit (të tilla si ejbActivate dhe ejbStore).

Për më tepër, EJB3 është më i mirë se EJB2 në fushat e fleksibilitetit dhe transportueshmërisë. Për shembull, është e lehtë të konvertohen entitetet EJB3 në DAO (Objekti i Aksesit të të Dhënave) dhe anasjelltas sepse entitetet EJB3 janë të lehta (në krahasim me entitetet EJB2 me peshë të rëndë, të cilat zbatojnë ndërfaqet e sipërpërmendura). Pyetjet e bazës së të dhënave të shkruara në EJB3 janë shumë fleksibël sepse përdor një EJB-QL të rafinuar, në vend të versionit më të vjetër të EJB-QL, i cili kishte disa kufizime. EJB3 heq të gjitha problemet e transportueshmërisë së EJB2 (i cili përdor fasulet e entitetit për aksesin në bazën e të dhënave) duke mbështetur JPA më të përgjithësuar për të gjitha transaksionet e të dhënave.

Ndryshe nga EJB2, e cila ka nevojë për një kontejner EJB për të ekzekutuar, EJB3 mund të ekzekutohet në një JVM të pavarur (Makina Virtuale Java) pa pasur nevojë të përdorë kontejnerë (kjo është e mundur sepse nuk zbaton ndërfaqe standarde). Ndryshe nga EJB2, EJB3 lidhet lehtësisht me ofruesit e qëndrueshmërisë të ofruar nga palët e treta. Një tjetër ndryshim i rëndësishëm midis EJB3 dhe EJB2 është se EJB3 mund të përdorë sigurinë e bazuar në shënime, ndërsa EJB2 përdori sigurinë e bazuar në përshkruesit e vendosjes. Kjo do të thotë që detyrat e konfigurimit dhe konfigurimit janë shumë më të lehta në EJB3 dhe ka një reduktim të konsiderueshëm në shpenzimet e përgjithshme të performancës në krahasim me EJB2.

Recommended: