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: Самый дешёвый тостер Leben RB483 VS тостер Philips HD2581 среднего ценового сегмента. Обзор и отзыв. 2024, September
Anonim

EJB2 proti EJB3

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

Pred uvedbo EJB je bilo ugotovljeno, da so programerji pogosto znova implementirali rešitve za težave, ki so jih našli v zaledni poslovni kodi. Posledično je bil uveden EJB za reševanje teh pogostih težav, kot so obstojnost, transakcijska celovitost in varnost. EJB ponuja standardne načine za obravnavo teh težav v ozadju, tako da določi, kako naj aplikacijski strežnik obdeluje transakcije, se integrira s storitvami JPA (Java Persistence API), obravnava nadzor sočasnosti, obravnava dogodke JMS (Java Message Service), razrešuje težave z poimenovanjem z JNDI (Java vmesnik za poimenovanje in imenik), razvijanje varnih programov z JCE (Java Cryptography Extension) in JAAS (Java Authentication and Authorization Service), uvajanje komponent, komuniciranje na daljavo z RMI-IIOP (Java Remote Method Invocation vmesnik prek internetnega protokola Inter-Orb), razvijati spletne storitve, klicati asinhrone metode in uporabljati storitev Timer.

EJB2

EJB2 (EJB 2.0) je bil izdan 22. avgusta 2001. Opisuje specifikacijo za razvoj porazdeljenih objektno usmerjenih aplikacij v Javi s kombiniranjem orodij, ki so jih razvili različni prodajalci. Eden glavnih ciljev EJB2 je bil programerjem omogočiti lažji razvoj poslovnih aplikacij, ne da bi jim bilo treba razumeti podrobnosti na nizki ravni, kot sta večnitnost in združevanje povezav. Drug cilj je bil omogočiti programerjem, da enkrat napišejo »Bean« in ga zaženejo kjerkoli brez ponovnega prevajanja (pri čemer se držijo slogana »napiši enkrat, zaženi kjerkoli« programskega jezika Java). Poleg tega je bil namen EJB2 omogočiti enostavno medsebojno delovanje komponent, ki so jih razvili različni prodajalci, in prodajalcem omogočiti pisanje razširitev za svoje izdelke, ki 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 opomb namesto deskriptorjev razmestitve, ki so bili uporabljeni v prejšnjih različicah. EJB3 vsebuje poslovni vmesnik in poseben entitetni gradnik, ki lahko implementira ta poslovni vmesnik, pri čemer ni več potrebe po uporabi domačih/oddaljenih vmesnikov in datoteke ejb-jar.xml. Celotna zmogljivost EJB3 je precej izboljšana v primerjavi z EJB2, v tej izdaji EJB pa je znatno večja konfigurabilnost, prilagodljivost in prenosljivost.

Kakšna je razlika med EJB2 in EJB3?

EJB3 ima opazno izboljšavo v konfiguraciji in zmogljivosti v primerjavi z EJB2. Eden od razlogov za to izboljšanje zmogljivosti je uporaba POJO (Plain Old Java Object) z metapodatki in XML Deployment Deskriptorji v EJB3 namesto iskanj JNDI, uporabljenih v EJB2 za reference objektov. Konfiguracija EJB3 je veliko preprostejša, ker programerju ni treba implementirati vmesnikov Home/Remote in drugih (npr. SessionBean), kar odpravlja potrebo po uporabi metod povratnega klica vsebnika (kot sta ejbActivate in ejbStore).

Poleg tega je EJB3 boljši od EJB2 na področjih prilagodljivosti in prenosljivosti. Entitete EJB3 je na primer enostavno pretvoriti v DAO (Data Access Object) in obratno, ker so entitete EJB3 lahke (v nasprotju s težkimi entitetami EJB2, ki izvajajo zgoraj omenjene vmesnike). Poizvedbe po bazi podatkov, napisane v EJB3, so zelo prilagodljive, ker uporablja izboljšan EJB-QL namesto starejše različice EJB-QL, ki je imela več omejitev. EJB3 odpravlja vse težave s prenosljivostjo EJB2 (ki uporablja entitetne gradnike za dostop do baze podatkov) s podporo bolj splošnega JPA za vse podatkovne transakcije.

Za razliko od EJB2, ki za izvajanje potrebuje vsebnik EJB, je mogoče EJB3 izvajati v neodvisnem JVM (Java Virtual Machine) brez uporabe vsebnikov (to je mogoče, ker ne izvaja 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, da lahko EJB3 uporablja varnost, ki temelji na opombah, medtem ko je EJB2 uporabljal varnost, ki temelji na deskriptorjih razmestitve. To pomeni, da so konfiguracijske in namestitvene naloge veliko lažje v EJB3 in da je v primerjavi z EJB2 znatno manj stroškov delovanja.

Priporočena: