Diferența Dintre EJB2 și EJB3

Diferența Dintre EJB2 și EJB3
Diferența Dintre EJB2 și EJB3

Video: Diferența Dintre EJB2 și EJB3

Video: Diferența Dintre EJB2 și EJB3
Video: Java EE 123: EJB 1: Что такое EJB 2024, Aprilie
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) este un API Java (Interfață de programare a aplicațiilor) găsit în specificația Java EE (Java Platform, Enterprise Edition). EJB descrie un model arhitectural pentru dezvoltarea aplicațiilor de întreprindere. Acesta este un model gestionat de server, care este capabil să capteze logica de afaceri a aplicației pentru întreprindere. IBM este creatorul original al EJB care l-a dezvoltat în 1997. Sun Microsystems l-a adoptat în 1999.

Înainte de introducerea EJB, s-a constatat că soluțiile la problemele găsite în codul de afaceri back-end au fost re-implementate frecvent de către programatori. Ca urmare, EJB a fost introdus pentru a aborda aceste probleme comune, cum ar fi persistența, integritatea tranzacțională și securitatea. EJB oferă modalități standard de gestionare a acestor probleme de back-end, prin specificarea modului în care serverul de aplicații trebuie să proceseze tranzacțiile, să se integreze cu serviciile JPA (Java Persistence API), să gestioneze controlul concurenței, să gestioneze evenimentele JMS (Java Message Service), să rezolve problemele de numire cu JNDI (Java Naming and Directory Interface), dezvoltă programe sigure cu JCE (Java Cryptography Extension) și JAAS (Java Authentication and Authorization Service), implementează componente, comunică de la distanță cu RMI-IIOP (interfață Java Remote Method Invocation prin Internet Inter-Orb Protocol),dezvoltați servicii web, invocați metode asincrone și utilizați serviciul Timer.

EJB2

EJB2 (EJB 2.0) a fost lansat pe 22 august 2001. Acesta descrie specificațiile pentru dezvoltarea aplicațiilor distribuite orientate obiect în Java prin combinarea instrumentelor dezvoltate de diferiți furnizori. Unul dintre obiectivele majore ale EJB2 a fost de a permite programatorilor să dezvolte aplicații de întreprindere mai ușor, fără a fi nevoie să înțeleagă detalii de nivel scăzut, cum ar fi multi-threading și conexiuni. Un alt obiectiv a fost de a permite programatorilor să scrie o „Bean” o dată și să ruleze oriunde fără recompilare (aderând la sloganul „scrie o dată, rulează oriunde” al limbajului de programare Java). În plus, EJB2 a intenționat să permită componentelor dezvoltate de diferiți furnizori să interopereze cu ușurință și să le permită furnizorilor să scrie extensii pentru produsele lor care pot accepta EJB-uri.

EJB3

EJB3 (EJB 3.0) a fost lansat pe 11 mai 2006. EJB3 a făcut viața programatorilor foarte ușoară, permițându-le să folosească adnotări în locul descriptorilor de implementare care au fost folosiți în versiunile anterioare. EJB3 conține o interfață de afaceri și o entitate specifică care poate implementa acea interfață de afaceri, eliminând necesitatea utilizării interfețelor de acasă / la distanță și a fișierului ejb-jar.xml. Performanța generală a EJB3 este mult îmbunătățită în comparație cu EJB2 și există o creștere considerabilă a configurabilității, flexibilității și portabilității în această versiune a EJB.

Care este diferența dintre EJB2 și EJB3?

EJB3 are o îmbunătățire vizibilă în configurație și performanță față de EJB2. Un motiv pentru această îmbunătățire a performanței este utilizarea POJO (Plain Old Java Object) cu metadate și descriptori de implementare XML de către EJB3 în loc de căutări JNDI utilizate în EJB2 pentru referințe de obiect. Configurarea EJB3 este mult mai simplă, deoarece programatorul nu are nevoie să implementeze interfețe Home / Remote și altele (de exemplu, SessionBean), ceea ce elimină necesitatea de a folosi metode de returnare a containerelor (cum ar fi ejbActivate și ejbStore).

Mai mult, EJB3 este mai bun decât EJB2 în domeniile flexibilității și portabilității. De exemplu, este ușor să convertiți entitățile EJB3 în DAO (Data Access Object) și invers, deoarece entitățile EJB3 sunt ușoare (spre deosebire de entitățile EJB2 grele, care implementează interfețele menționate mai sus). Interogările bazei de date scrise în EJB3 sunt foarte flexibile deoarece utilizează un EJB-QL rafinat, în locul versiunii mai vechi a EJB-QL, care avea mai multe limitări. EJB3 elimină toate problemele de portabilitate ale EJB2 (care folosește entitate beans pentru accesul la baza de date) prin sprijinirea JPA mai generalizată pentru toate tranzacțiile de date.

Spre deosebire de EJB2, care are nevoie de un container EJB pentru a executa, EJB3 poate fi executat într-un JVM independent (Java Virtual Machine) fără a fi nevoie să folosiți containere (acest lucru este posibil deoarece nu implementează interfețe standard). Spre deosebire de EJB2, EJB3 este ușor conectabil cu furnizorii de persistență oferite de terți. O altă diferență importantă între EJB3 și EJB2 este că EJB3 poate utiliza securitate bazată pe adnotări, în timp ce EJB2 a folosit securitate bazată pe descriptori de implementare. Aceasta înseamnă că sarcinile de configurare și configurare sunt mult mai ușoare în EJB3 și există o reducere considerabilă a cheltuielilor generale de performanță în comparație cu EJB2.

Recomandat: