Atšķirība starp EJB2 un EJB3

Atšķirība starp EJB2 un EJB3
Atšķirība starp EJB2 un EJB3

Video: Atšķirība starp EJB2 un EJB3

Video: Atšķirība starp EJB2 un EJB3
Video: Cūkgaļas ribiņas cepeškrāsnī barbekjū mērcē 2024, Septembris
Anonim

EJB2 pret EJB3

EJB (Enterprise JavaBeans) ir Java API (lietojumprogrammu saskarne), kas atrodama Java EE (Java Platform, Enterprise Edition) specifikācijā. EJB apraksta uzņēmuma lietojumprogrammu izstrādes arhitektūras modeli. Šis ir pārvaldīts servera puses modelis, kas spēj uztvert uzņēmuma lietojumprogrammas biznesa loģiku. IBM ir EJB sākotnējais veidotājs, kurš to izstrādāja 1997. gadā. Sun Microsystems to pieņēma 1999. gadā.

Pirms EJB ieviešanas tika konstatēts, ka programmētāji bieži atkārtoti ieviesa risinājumus problēmām, kas atrastas aizmugures biznesa kodā. Rezultātā EJB tika ieviests, lai risinātu šīs izplatītās problēmas, piemēram, noturību, darījumu integritāti un drošību. EJB nodrošina standarta veidus, kā risināt šīs aizmugures problēmas, norādot, kā lietojumprogrammu serverim jāapstrādā transakcijas, jāintegrējas ar JPA (Java Persistence API) pakalpojumiem, jāapstrādā vienlaicīguma kontrole, jāapstrādā JMS (Java ziņu pakalpojuma) notikumi, jāatrisina nosaukumu piešķiršanas problēmas ar JNDI (Java nosaukumu un direktoriju saskarne), izstrādāt drošas programmas ar JCE (Java Cryptography Extension) un JAAS (Java autentifikācijas un autorizācijas pakalpojums), izvietot komponentus, sazināties attālināti ar RMI-IIOP (Java Remote Method Invocation interfeiss, izmantojot interneta Inter-Orb protokolu)., izstrādāt tīmekļa pakalpojumus, izsaukt asinhronās metodes un izmantot taimera pakalpojumu.

EJB2

EJB2 (EJB 2.0) tika izlaists 2001. gada 22. augustā. Tajā ir aprakstītas specifikācijas izplatītu objektu orientētu lietojumprogrammu izstrādei Java, apvienojot dažādu pārdevēju izstrādātus rīkus. Viens no galvenajiem EJB2 mērķiem bija ļaut programmētājiem vieglāk izstrādāt uzņēmuma lietojumprogrammas, neizprotot zema līmeņa detaļas, piemēram, daudzpavedienu un savienojumu apvienošanu. Vēl viens mērķis bija ļaut programmētājiem vienreiz uzrakstīt “Bean” un palaist jebkurā vietā bez atkārtotas kompilācijas (ievērojot Java programmēšanas valodas saukli “rakstīt vienreiz, palaist jebkur”). Turklāt EJB2 ir paredzēts, lai ļautu dažādu pārdevēju izstrādātajiem komponentiem viegli sadarboties un ļautu pārdevējiem rakstīt paplašinājumus saviem produktiem, kas var atbalstīt EJB.

EJB3

EJB3 (EJB 3.0) tika izlaists 2006. gada 11. maijā. EJB3 ļoti atviegloja programmētāju dzīvi, ļaujot tiem izmantot anotācijas izvietošanas deskriptoru vietā, kas tika izmantoti iepriekšējās versijās. EJB3 satur biznesa saskarni un īpašu entītiju pupiņu, kas var ieviest šo biznesa saskarni, novēršot nepieciešamību izmantot mājas/attālās saskarnes un failu ejb-jar.xml. EJB3 kopējā veiktspēja ir daudz uzlabota salīdzinājumā ar EJB2, un šajā EJB laidienā ir ievērojami palielināta konfigurējamība, elastība un pārnesamība.

Kāda ir atšķirība starp EJB2 un EJB3?

EJB3 ir ievērojami uzlabojies konfigurācijas un veiktspējas ziņā salīdzinājumā ar EJB2. Viens no šī veiktspējas uzlabojuma iemesliem ir POJO (vienkāršs vecais Java objekts) ar metadatiem un XML izvietošanas deskriptoriem, ko izmanto EJB3, nevis JNDI uzmeklēšanu, ko EJB2 izmanto objektu atsaucēm. EJB3 konfigurēšana ir daudz vienkāršāka, jo programmētājam nav jāievieš mājas/tālvadības saskarnes un citas (piemēram, SessionBean), kas novērš nepieciešamību izmantot konteinera atzvanīšanas metodes (piemēram, ejbActivate un ejbStore).

Turklāt EJB3 ir labāks par EJB2 elastības un pārnesamības jomās. Piemēram, EJB3 entītijas ir viegli pārveidot par DAO (datu piekļuves objekts) un otrādi, jo EJB3 entītijas ir vieglas (pretstatā smagajām EJB2 entītijām, kas ievieš iepriekš minētās saskarnes). EJB3 rakstītie datu bāzes vaicājumi ir ļoti elastīgi, jo tajā tiek izmantots pilnveidots EJB-QL vecākās EJB-QL versijas vietā, kurai bija vairāki ierobežojumi. EJB3 novērš visas EJB2 pārnesamības problēmas (kas izmanto entītiju pupiņas piekļuvei datu bāzei), atbalstot vispārīgāku JPA visiem datu darījumiem.

Atšķirībā no EJB2, kura izpildei nepieciešams EJB konteiners, EJB3 var izpildīt neatkarīgā JVM (Java Virtual Machine), neizmantojot konteinerus (tas ir iespējams, jo tas neīsteno standarta saskarnes). Atšķirībā no EJB2, EJB3 ir viegli savienojams ar trešo pušu piedāvātajiem noturības nodrošinātājiem. Vēl viena svarīga atšķirība starp EJB3 un EJB2 ir tā, ka EJB3 var izmantot uz anotāciju balstītu drošību, savukārt EJB2 izmantoja izvietošanas deskriptoru drošību. Tas nozīmē, ka EJB3 konfigurācijas un iestatīšanas uzdevumi ir daudz vienkāršāki, un salīdzinājumā ar EJB2 ir ievērojami samazinātas veiktspējas pieskaitāmās izmaksas.

Ieteicams: