Starpība Starp EJB2 Un EJB3

Starpība Starp EJB2 Un EJB3
Starpība Starp EJB2 Un EJB3

Video: Starpība Starp EJB2 Un EJB3

Video: Starpība Starp EJB2 Un EJB3
Video: Java EE 123: EJB 1: Что такое EJB 2024, Aprīlis
Anonim

EJB2 pret EJB3

EJB (Enterprise JavaBeans) ir Java API (lietojumprogrammu saskarne), kas atrodama Java EE (Java Platform, Enterprise Edition) specifikācijā. EJB apraksta arhitektūras modeli uzņēmuma lietojumprogrammu izstrādei. Šis ir pārvaldīts servera puses modelis, kas spēj uztvert uzņēmuma lietojumprogrammas biznesa loģiku. IBM ir EJB sākotnējais radītā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 problēmu risinājumus, kas atrasti biznesa biznesa kodā. Rezultātā EJB tika ieviests, lai risinātu šīs kopīgās problēmas, piemēram, noturību, darījumu integritāti un drošību. EJB nodrošina standarta veidus, kā rīkoties ar šīm aizmugures problēmām, norādot, kā lietojumprogrammu serverim jāapstrādā darījumi, jāintegrējas ar JPA (Java Persistence API) pakalpojumiem, jāapstrādā vienlaicīguma kontrole, jāapstrādā JMS (Java Message Service) notikumi, jāatrisina nosaukšanas problēmas ar JNDI (Java Naming and Directory Interface), izstrādājiet drošas programmas ar JCE (Java kriptogrāfijas paplašinājums) un JAAS (Java autentifikācijas un autorizācijas pakalpojums), izvietojiet komponentus, attāli sazinieties ar RMI-IIOP (Java Remote Method Invocation interfeiss, izmantojot interneta inter-Orb protokolu),attīstīt tīmekļa pakalpojumus, izmantot asinhronas metodes un izmantot pakalpojumu Taimeris.

EJB2

EJB2 (EJB 2.0) tika izlaists 2001. gada 22. augustā. Tas apraksta specifikāciju izplatītu objektorientētu lietojumprogrammu izstrādei Java, apvienojot dažādu piegādātāju izstrādātos 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, vairāku pavedienu izveidi un savienojumu apvienošanu. Vēl viens mērķis bija ļaut programmētājiem vienreiz uzrakstīt “Pupiņu” un palaist jebkur bez atkārtotas kompilācijas (ievērojot Java programmēšanas valodas saukli “rakstīt vienreiz, palaist jebkur”). Turklāt EJB2 mērķis bija ļaut dažādu piegādātāju izstrādātajām sastāvdaļām viegli sadarboties un ļaut 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 viņiem izmantot anotācijas izvietošanas deskriptoru vietā, kas tika izmantotas iepriekšējās versijās. EJB3 satur biznesa saskarni un īpašu entītiju, kas var ieviest šo biznesa saskarni, novēršot nepieciešamību izmantot mājas / attālās saskarnes un failu ejb-jar.xml. Kopumā EJB3 veiktspēja ir daudz uzlabojusies, salīdzinot ar EJB2, un šajā EJB laidienā ievērojami palielinās konfigurējamība, elastība un pārnesamība.

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

EJB3 ir ievērojami uzlabojusies konfigurācija un veiktspēja salīdzinājumā ar EJB2. Viens no šī veiktspējas uzlabojuma iemesliem ir POJO (Plain Old Java Object) izmantošana ar metadatiem un XML izvietošanas deskriptoriem, ko veic EJB3, nevis JNDI uzmeklējumi, kurus EJB2 izmanto objektu atsaucēm. EJB3 konfigurēšana ir daudz vienkāršāka, jo programmētājam nav jāievieš mājas / attālās saskarnes un citas (piemēram, SessionBean), kas novērš nepieciešamību izmantot konteinera atzvanīšanas metodes (piemēram, ejbActivate un ejbStore).

Turklāt elastības un pārnesamības jomā EJB3 ir labāks par EJB2. Piemēram, EJB3 entītijas ir viegli pārveidot par DAO (Data Access Object) un otrādi, jo EJB3 entītijas ir vieglas (atšķirībā no smagā svara EJB2 entītijām, kas ievieš iepriekš minētās saskarnes). Datu bāzes vaicājumi, kas rakstīti EJB3, ir ļoti elastīgi, jo tajā tiek izmantota pilnveidota EJB-QL, vecākās EJB-QL versijas vietā, kurai bija vairāki ierobežojumi. EJB3 novērš visus EJB2 pārnesamības jautājumus (kas piekļuvei datu bāzei izmanto entītijas pupas), atbalstot vispārīgāku JPA visiem datu darījumiem.

Atšķirībā no EJB2, kuras izpildei nepieciešams EJB konteiners, EJB3 var izpildīt neatkarīgā JVM (Java Virtual Machine), neizmantojot konteinerus (tas ir iespējams, jo tajā netiek ieviestas standarta saskarnes). Atšķirībā no EJB2, EJB3 ir viegli pievienojams trešo valstu piedāvātajiem noturības nodrošinātājiem. Vēl viena būtiska atšķirība starp EJB3 un EJB2 ir tā, ka EJB3 var izmantot uz anotācijām balstītu drošību, savukārt EJB2 izmantoja uz izvietošanas deskriptoriem balstītu drošību. Tas nozīmē, ka konfigurēšanas un iestatīšanas uzdevumi ir daudz vienkāršāki EJB3, un ir ievērojami samazināti veiktspējas pieskaitāmie izdevumi salīdzinājumā ar EJB2.

Ieteicams: