Rozdíl mezi ejb 2.0 a ejb 3.0

ejb 2.0 vs ejb 3.0

Ejb 2.0 i ejb3.0 jsou verzí Enterprise Java Beans (EJB), která má velkou popularitu pro svou spravovanou architekturu na straně serveru pro modulární konstrukci podnikových aplikací. ejb2.0 a ejb3.0 slouží svým uživatelům stejným způsobem, ale ústředním bodem EJB 3.0 je to, že ve srovnání s ejb2.0 zjednodušilo život vývojářů. ejb 2.0 je navržen v rámci JCP (Java Community Process), umožňuje architektuře EJB usnadnit implementaci a nasazení aplikací webových služeb založených na technologii Java. Na druhé straně ejb 3.0 poskytuje základnu pro definování nového zjednodušeného EJB API, které napomáhá snadnému vývoji. Jeho další funkcí je nové Java Persistence API pro správu vytrvalosti a mapování objektů / relací s Java EE a Java SE.

ejb 2.0 používá k přístupu do databáze fazole entit, ale ejb 3.0 podporuje Java Persistence API pro všechny jeho datové potřeby, které jsou dostatečně obecné pro řešení všech problémů s přenositelností. ejb 3.0 má lepší výkon tak, že používá POJO s nově zavedenou anotací metadat, která je poměrně rychlejší než soubory XMLDescriptor a JNDI Používá ejb 2.0 pro odkaz na objekt.

ejb 2.0 má velkou váhu, pokud jde o požadavek psát domácí a vzdálená rozhraní a také spouštět standardní rozhraní jako javax.ejb.SessionBean. ejb 3.0 nemá omezení pro použití standardních rozhraní. Je to jednoduchý a dobře nakonfigurovaný POJO, který nemusí implementovat metody zpětného volání kontejnerů, jako jsou ejbActivate, ejbLoad, ejbStore atd. Subjekty POJO jako EJB 3.0 jsou lehké a je snadné převádět z DAO na fazole entit nebo naopak.

ejb 2.0 má omezení a nepružnost pro psaní databázových dotazů pomocí EJB-QL, zatímco ejb 3.0 usnadňuje rafinované EJB-QL, a proto jsou psané databázové dotazy velmi flexibilní.

Zabezpečení je poskytováno v ejb 2.0 pomocí deskriptorů rozmístění. EJB3.0 používá anotace ke zjednodušení úkolů konfigurace a nastavení v případě problémů se zabezpečením. ejb 3.0 lze snadno použít s připojitelnými poskytovateli perzistence třetích stran, ale ejb 2.0 má v tomto ohledu omezení.

Souhrn:
1. ejb 2.0 používá entitu Beans pro přístup k databázím, ale ejb3.0 používá JPA pro přístup k databázi.
2. ejb.0 vyžaduje popis nasazení, ale při používání ejb3.0 není vyžadován popis nasazení.
3. V ejb 2.0 musíme napsat Home a Remote interface, abychom měli přístup k databázím, zatímco ejb3.0 takové omezení nemá a je v tomto ohledu výhodnější.
4. Problémy s bezpečností se řeší pomocí deskriptorů rozmístění v ejb2.0, ale ejb3.0 používá anotaci.
5. ejb 2.0 má omezení ve své propojitelnosti s poskytovateli perzistence třetích stran.
6. V ejb3.0 je Query velmi flexibilní a díky vylepšenému EJB-QL je povoleno několik úrovní spojení..