Skillnaden Mellan EJB2 Och EJB3

Skillnaden Mellan EJB2 Och EJB3
Skillnaden Mellan EJB2 Och EJB3

Video: Skillnaden Mellan EJB2 Och EJB3

Video: Skillnaden Mellan EJB2 Och EJB3
Video: Working with EJB3 (EJB Tutorial Part 2) 2024, November
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) är ett Java API (Application Programming Interface) som finns inom Java EE (Java Platform, Enterprise Edition) specifikation. EJB beskriver en arkitektonisk modell för utveckling av företagsapplikationer. Detta är en hanterad server-sida-modell som kan fånga företagslogiken för företagsapplikationen. IBM är EJB: s ursprungliga skapare som utvecklade det 1997. Sun Microsystems antog det 1999.

Innan EJB infördes, konstaterades att lösningar på problem som hittades i backend-affärskod ofta implementerades om av programmerarna. Som ett resultat introducerades EJB för att ta itu med dessa vanliga problem som uthållighet, transaktionsintegritet och säkerhet. EJB tillhandahåller vanliga sätt att hantera dessa backend-problem genom att ange hur applikationsservern ska behandla transaktioner, integrera med JPA (Java Persistence API) -tjänster, hantera samtidighetskontroll, hantera JMS (Java Message Service) -händelser, lösa namngivningsproblem med JNDI (Java Naming and Directory Interface), utveckla säkra program med JCE (Java Cryptography Extension) och JAAS (Java Authentication and Authorization Service), distribuera komponenter, kommunicera på distans med RMI-IIOP (Java Remote Method Invocation interface via Internet Inter-Orb Protocol),utveckla webbtjänster, åberopa asynkrona metoder och använda Timer-tjänsten.

EJB2

EJB2 (EJB 2.0) släpptes den 22 augusti 2001. Den beskriver specifikationen för att utveckla distribuerade objektorienterade applikationer i Java genom att kombinera verktyg som utvecklats av olika leverantörer. Ett av de viktigaste målen med EJB2 var att låta programmerare utveckla företagsapplikationer lättare utan att behöva förstå detaljer på låga nivåer, såsom multitrådning och anslutningspooling. Ett annat mål var att låta programmerare skriva en "Bean" en gång och springa var som helst utan rekompilering (följa slogan "skriv en gång, kör var som helst" för Java-programmeringsspråket). Dessutom avsåg EJB2 att komponenter som utvecklats av olika leverantörer enkelt skulle kunna interagera, och låta leverantörer skriva tillägg för sina produkter som kan stödja EJB.

EJB3

EJB3 (EJB 3.0) släpptes den 11 maj 2006. EJB3 gjorde programmerare mycket enkla genom att låta dem använda anteckningar istället för distributionsbeskrivare som användes i tidigare versioner. EJB3 innehåller ett affärsgränssnitt och en specifik enhetsböna som kan implementera det affärsgränssnittet, vilket tar bort behovet av att använda hem- / fjärrgränssnitt och ejb-jar.xml-filen. Den totala prestandan för EJB3 är mycket bättre jämfört med EJB2, och det finns en avsevärd ökning av konfigurerbarhet, flexibilitet och bärbarhet i denna version av EJB.

Vad är skillnaden mellan EJB2 och EJB3?

EJB3 har en märkbar förbättring i konfiguration och prestanda jämfört med EJB2. En anledning till denna prestandaförbättring är användningen av POJO (Plain Old Java Object) med metadata och XML Deployment Descriptors av EJB3 istället för JNDI-sökningar som används i EJB2 för objektreferenser. Konfigurationen av EJB3 är mycket enklare eftersom programmeraren inte behöver implementera hem- / fjärrgränssnitt och andra (t.ex. SessionBean), vilket tar bort behovet av att använda containeråteruppringningsmetoder (som ejbActivate och ejbStore).

Dessutom är EJB3 bättre än EJB2 inom områdena flexibilitet och bärbarhet. Det är till exempel lätt att konvertera EJB3-enheter till DAO (Data Access Object) och vice versa eftersom EJB3-enheter är lätta (i motsats till de tunga EJB2-enheterna, som implementerar ovan nämnda gränssnitt). Databasfrågor skrivna i EJB3 är mycket flexibla eftersom den använder en raffinerad EJB-QL istället för den äldre versionen av EJB-QL, som hade flera begränsningar. EJB3 tar bort alla portabilitetsproblem i EJB2 (som använder enhetsbönor för databasåtkomst) genom att stödja mer generaliserad JPA för alla datatransaktioner.

Till skillnad från EJB2, som behöver en EJB-behållare för att köras, kan EJB3 köras i en oberoende JVM (Java Virtual Machine) utan att behöva använda behållare (detta är möjligt eftersom det inte implementerar standardgränssnitt). Till skillnad från EJB2 är EJB3 lätt att ansluta till uthållighetsleverantörer som erbjuds av tredje part. En annan viktig skillnad mellan EJB3 och EJB2 är att EJB3 kan använda anteckningsbaserad säkerhet, medan EJB2 använde distributionsbeskrivningsbaserad säkerhet. Detta innebär att konfigurations- och installationsuppgifterna är mycket enklare i EJB3, och att prestandakostnaderna minskar avsevärt jämfört med EJB2.

Rekommenderas: