Rozdiel Medzi EJB2 A EJB3

Rozdiel Medzi EJB2 A EJB3
Rozdiel Medzi EJB2 A EJB3

Video: Rozdiel Medzi EJB2 A EJB3

Video: Rozdiel Medzi EJB2 A EJB3
Video: Java EE 123: EJB 1: Что такое EJB 2024, Apríl
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) je rozhranie Java API (Application Programming Interface), ktoré sa nachádza v špecifikácii Java EE (Java Platform, Enterprise Edition). EJB popisuje architektonický model pre vývoj podnikových aplikácií. Toto je model na strane riadeného servera, ktorý je schopný zachytiť obchodnú logiku podnikovej aplikácie. IBM je pôvodným tvorcom EJB, ktorý ju vyvinul v roku 1997. Spoločnosť Sun Microsystems ho prijala v roku 1999.

Pred zavedením EJB sa zistilo, že programátori často znovu implementovali riešenia problémov nachádzajúcich sa v podnikovom kódexe typu back-end. Vo výsledku bol zavedený EJB na riešenie týchto bežných problémov, ako sú vytrvalosť, integrita transakcií a bezpečnosť. EJB poskytuje štandardné spôsoby riešenia týchto problémov typu back-end, a to určením spôsobu, akým má aplikačný server spracovávať transakcie, integráciou so službami JPA (Java Persistence API), spracovaním riadenia súbežnosti, spracovaním udalostí JMS (Java Message Service), riešením problémov s pomenovaním pomocou JNDI (Java Naming and Directory Interface), vyvíjať zabezpečené programy s JCE (Java Cryptography Extension) a JAAS (Java Authentication and Authorization Service), nasadzovať komponenty, komunikovať na diaľku s RMI-IIOP (rozhranie Java Remote Method Invocation cez internetový protokol Inter-Orb),vyvíjať webové služby, vyvolávať asynchrónne metódy a používať službu Timer.

EJB2

EJB2 (EJB 2.0) bol vydaný 22. augusta 2001. Popisuje špecifikáciu vývoja distribuovaných objektovo orientovaných aplikácií v Jave kombináciou nástrojov vyvinutých rôznymi dodávateľmi. Jedným z hlavných cieľov EJB2 bolo umožniť programátorom ľahšie vyvíjať podnikové aplikácie bez toho, aby museli rozumieť nízkoúrovňovým detailom, ako sú multi-threading a združovanie pripojení. Ďalším cieľom bolo umožniť programátorom napísať „Bean“jedenkrát a bežať kdekoľvek bez rekompilácie (v súlade so sloganom programovacieho jazyka Java „písať jedenkrát, bežať kdekoľvek“). EJB2 ďalej zamýšľal umožniť komponentom vyvinutým rôznymi dodávateľmi ľahkú interoperabilitu a umožniť predajcom písať pre svoje produkty rozšírenia, ktoré môžu podporovať EJB.

EJB3

Program EJB3 (EJB 3.0) bol vydaný 11. mája 2006. Program EJB3 veľmi uľahčil programátorom život tým, že im umožnil používať anotácie namiesto deskriptorov nasadenia, ktoré sa používali v predchádzajúcich verziách. EJB3 obsahuje obchodné rozhranie a špecifický objekt typu bean, ktorý môže implementovať dané obchodné rozhranie, čím odpadá potreba používania domácich / vzdialených rozhraní a súboru ejb-jar.xml. Celkový výkon EJB3 je v porovnaní s EJB2 omnoho lepší a v tomto vydaní EJB došlo k značnému zvýšeniu konfigurovateľnosti, flexibility a prenosnosti.

Aký je rozdiel medzi EJB2 a EJB3?

EJB3 má oproti EJB2 znateľné zlepšenie v konfigurácii a výkone. Jedným z dôvodov tohto zlepšenia výkonu je použitie POJO (Plain Old Java Object) s metadátami a deskriptormi nasadenia XML pomocou EJB3 namiesto vyhľadávaní JNDI použitých v EJB2 na referencie na objekty. Konfigurácia EJB3 je oveľa jednoduchšia, pretože programátor nemusí implementovať rozhrania Home / Remote a ďalšie (napr. SessionBean), čo eliminuje potrebu používať metódy spätného volania kontajnera (napríklad ejbActivate a ejbStore).

EJB3 je navyše v oblasti flexibility a prenosnosti lepší ako EJB2. Napríklad je ľahké previesť entity EJB3 na DAO (Data Access Object) a naopak, pretože entity EJB3 sú ľahké (na rozdiel od ťažkých entít EJB2, ktoré implementujú vyššie uvedené rozhrania). Databázové dotazy napísané v EJB3 sú veľmi flexibilné, pretože používajú vylepšenú EJB-QL namiesto staršej verzie EJB-QL, ktorá mala niekoľko obmedzení. EJB3 odstraňuje všetky problémy s prenosnosťou EJB2 (ktorý používa na prístup do databázy fazuly entít) podporou všeobecnejších JPA pre všetky dátové transakcie.

Na rozdiel od EJB2, ktorý na vykonanie potrebuje kontajner EJB, môže byť EJB3 spustený v nezávislom JVM (Java Virtual Machine) bez nutnosti použitia kontajnerov (je to možné, pretože neimplementuje štandardné rozhrania). Na rozdiel od EJB2 je EJB3 ľahko pripojiteľný k poskytovateľom perzistencie ponúkaným tretími stranami. Ďalším dôležitým rozdielom medzi EJB3 a EJB2 je, že EJB3 môže používať zabezpečenie založené na anotáciách, zatiaľ čo EJB2 používalo zabezpečenie založené na deskriptoroch nasadenia. To znamená, že konfiguračné a nastavovacie úlohy sú v EJB3 oveľa jednoduchšie a v porovnaní s EJB2 dochádza k značnému zníženiu réžie výkonu.

Odporúčaná: