Razlika Med EJB2 In EJB3

Razlika Med EJB2 In EJB3
Razlika Med EJB2 In EJB3

Video: Razlika Med EJB2 In EJB3

Video: Razlika Med EJB2 In EJB3
Video: Работа с EJB3 (Учебное пособие по EJB, часть 2) 2024, November
Anonim

EJB2 proti EJB3

EJB (Enterprise JavaBeans) je Java API (vmesnik za programiranje aplikacij), ki ga najdemo v specifikaciji Java EE (Java Platform, Enterprise Edition). EJB opisuje arhitekturni model za razvoj poslovnih aplikacij. To je upravljani strežniški model, ki lahko zajame poslovno logiko aplikacije podjetja. IBM je prvotni ustvarjalec EJB, ki ga je razvil leta 1997. Sun Microsystems ga je sprejel leta 1999.

Pred uvedbo EJB so ugotovili, da so programerji pogosto znova uvajali rešitve težav v zaledni poslovni kodi. Kot rezultat je bil predstavljen EJB za reševanje teh pogostih težav, kot so vztrajnost, celovitost transakcij in varnost. EJB ponuja standardne načine za obvladovanje teh težav v ozadju, tako da določi, kako naj aplikacijski strežnik obdeluje transakcije, integrira s storitvami JPA (Java Persistence API), obvladuje nadzor hkratnosti, obravnava dogodke JMS (Java Message Service), reši težave z poimenovanjem z JNDI (Java Naming in Directory Interface), razvijajo varne programe z JCE (Java Cryptography Extension) in JAAS (Java Authentication and Authorization Service), uvajajo komponente, komunicirajo na daljavo z RMI-IIOP (Java Remote Method Invocation interface over the Internet Inter-Orb Protocol),razvijati spletne storitve, uporabljati asinhrone metode in uporabljati storitev Timer.

EJB2

EJB2 (EJB 2.0) je bil izdan 22. avgusta 2001. Opisuje specifikacije za razvoj porazdeljenih objektno usmerjenih aplikacij v Javi s kombiniranjem orodij, ki so jih razvili različni ponudniki. Eden glavnih ciljev EJB2 je bil omogočiti programerjem, da lažje razvijajo poslovne aplikacije, ne da bi morali razumeti podrobnosti na nizki ravni, kot sta večnitnost in združevanje povezav. Drugi cilj je bil omogočiti programerjem, da enkrat napišejo »Bean« in ga zaženejo kjer koli brez ponovne prevajanja (upoštevajoč slogan »enkrat napiši, zaženi kjer koli« programskega jezika Java). Poleg tega je EJB2 nameraval komponentam, ki so jih razvili različni prodajalci, omogočiti enostavno medsebojno delovanje in ponudnikom omogočiti pisanje razširitev za svoje izdelke, ki lahko podpirajo EJB.

EJB3

EJB3 (EJB 3.0) je bil izdan 11. maja 2006. EJB3 je programerjem zelo olajšal življenje, saj jim je omogočil uporabo pripisov namesto deskriptorjev razmestitve, ki so bili uporabljeni v prejšnjih različicah. EJB3 vsebuje poslovni vmesnik in fižol določene entitete, ki ga lahko implementira, odpravlja potrebo po uporabi domačih / oddaljenih vmesnikov in datoteke ejb-jar.xml. Splošna zmogljivost EJB3 se je v primerjavi z EJB2 bistveno izboljšala, v tej izdaji EJB pa se znatno poveča prilagodljivost, prilagodljivost in prenosljivost.

Kakšna je razlika med EJB2 in EJB3?

EJB3 ima opazne izboljšave v konfiguraciji in zmogljivosti v primerjavi z EJB2. Eden od razlogov za to izboljšanje zmogljivosti je uporaba POJO (navadni stari objekt Java) z metapodatki in deskriptorji razmestitve XML s strani EJB3 namesto iskanj JNDI, ki se uporabljajo v EJB2 za sklicevanja na objekte. Konfiguracija EJB3 je veliko preprostejša, ker programerju ni treba implementirati vmesnikov Home / Remote in drugih (npr. SessionBean), kar odpravlja potrebo po uporabi povratnih klicnih metod vsebnika (kot sta ejbActivate in ejbStore).

Poleg tega je EJB3 boljši od EJB2 na področju prožnosti in prenosljivosti. Na primer, enote EJB3 je enostavno pretvoriti v DAO (predmet dostopa do podatkov) in obratno, ker so enote EJB3 lahke (v nasprotju s težkimi entitetami EJB2, ki izvajajo zgoraj omenjene vmesnike). Poizvedbe v zbirki podatkov, napisane v EJB3, so zelo prilagodljive, ker uporablja izpopolnjeni EJB-QL namesto starejše različice EJB-QL, ki je imela več omejitev. EJB3 odstrani vsa vprašanja prenosljivosti EJB2 (ki za dostop do zbirke podatkov uporablja fižol entitet) s podporo splošnejšemu JPA za vse podatkovne transakcije.

Za razliko od EJB2, ki za izvedbo potrebuje vsebnik EJB, se lahko EJB3 izvede v neodvisnem JVM (Java Virtual Machine), ne da bi morali uporabljati vsebnike (to je mogoče, ker ne uporablja standardnih vmesnikov). Za razliko od EJB2 je EJB3 enostavno priključiti na ponudnike vztrajnosti, ki jih ponujajo tretje osebe. Druga pomembna razlika med EJB3 in EJB2 je ta, da lahko EJB3 uporablja varnost, ki temelji na opombah, medtem ko je EJB2 uporabil varnost, ki temelji na ukaznih deskriptorjih. To pomeni, da so naloge konfiguriranja in nastavitve v EJB3 veliko lažje in se v primerjavi z EJB2 znatno zmanjšajo splošni stroški delovanja.

Priporočena: