ejb 2.0 proti ejb 3.0
Tako ejb 2.0 kot ejb3.0 sta različici Enterprise Java Beans (EJB), ki ima široko priljubljenost zaradi svoje upravljane, strežniške arhitekture za modularno gradnjo poslovnih aplikacij. ejb2.0 in ejb3.0 svojim uporabnikom služijo na enak način, vendar je osrednja točka EJB 3.0 ta, da je poenostavil življenje razvijalcev v primerjavi z ejb2.0. ejb 2.0 je zasnovan v okviru JCP (Java Community Process), omogoča arhitekturi EJB lažje izvajanje in uvajanje aplikacij spletnih storitev, ki temeljijo na tehnologiji Java. Po drugi strani pa je ejb 3.0 osnova za definiranje novega poenostavljenega API-ja EJB, ki pomaga enostavnejši razvoj. Njegova dodatna funkcija je novi Java Persistent API za upravljanje obstojnosti in objektno / relacijsko preslikavo z Java EE in Java SE.
ejb 2.0 uporablja entitetski fižol za dostop do baze podatkov, vendar ejb 3.0 podpira Java Persistent API za vse njegove potrebe po podatkih, ki je dovolj posplošen za reševanje vseh težav s prenosljivostjo. ejb 3.0 je boljši v uspešnosti na način, da uporablja POJO z na novo uvedeno pripisovanjem metapodatkov, ki je sorazmerno hitrejši od datotek XMLDescriptor in JNDI, ki ga uporablja ejb 2.0 za reference predmeta.
ejb 2.0 ima veliko težo v smislu zahteve po pisanju domačih in oddaljenih vmesnikov ter izvajanju standardnih vmesnikov, kot je javax.ejb.SessionBean. ejb 3.0 nima omejitve za uporabo standardnih vmesnikov. To je preprost in dobro konfiguriran POJO, ki mu ni treba izvajati metod povratnega klica zabojnikov, kot so ejbActivate, ejbLoad, ejbStore itd. POJO kot so EJB 3.0 subjekti so lahki in jih je enostavno pretvoriti iz DAO v bean Entity ali obratno.
ejb 2.0 ima omejitev in neprožnost pri pisanju poizvedb baze podatkov z uporabo EJB-QL, medtem ko ejb 3.0 olajša z izpopolnjenim EJB-QL in zato so zapisane poizvedbe v bazi zelo prilagodljive.
Varnost je zagotovljena v ejb 2.0 z uporabo deskriptorjev razmestitve. EJB3.0 uporablja opombe za poenostavitev nalog konfiguracije in nastavitve varnostnih težav. ejb 3.0 je mogoče enostavno uporabljati pri vtičnih ponudnikih vztrajanja, vendar ejb 2.0 ima v tem pogledu omejitve.
Povzetek:
1. ejb 2.0 uporablja entitet Beans za dostop do baz podatkov, vendar ejb3.0 uporablja JPA za dostop do baze podatkov.
2. ejb.0 potrebuje opis uvajanja, vendar med uporabo ejb3.0 ni potrebe po opisu uvajanja.
3. V ejb 2.0 moramo napisati domači in oddaljeni vmesnik za dostop do baz podatkov, medtem ko ejb3.0 nima takšnih omejitev in je v tem pogledu bolj priročen..
4. Varnostne težave rešujejo prek deskriptorjev razmestitve v ejb2.0, vendar ejb3.0 uporablja pripis.
5. ejb 2.0 ima omejitve v svojem povezovanju s ponudniki vztrajnosti drugih proizvajalcev.
6. V ejb3.0 je poizvedba zelo prilagodljiva in prek rafiniranega EJB-QL je omogočenih več ravni združevanja.