Forskellen Mellem EJB2 Og EJB3

Forskellen Mellem EJB2 Og EJB3
Forskellen Mellem EJB2 Og EJB3

Video: Forskellen Mellem EJB2 Og EJB3

Video: Forskellen Mellem EJB2 Og EJB3
Video: Working with EJB3 (EJB Tutorial Part 2) 2024, Marts
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) er en Java API (Application Programming Interface), der findes inden for Java EE (Java Platform, Enterprise Edition) specifikation. EJB beskriver en arkitektonisk model til udvikling af virksomhedsapplikationer. Dette er en administreret serversidesmodel, der er i stand til at registrere forretningslogikken i virksomhedsapplikationen. IBM er EJBs oprindelige skaber, der udviklede det i 1997. Sun Microsystems vedtog det i 1999.

Før introduktionen af EJB blev det fundet, at løsninger på problemer, der findes i back-end-forretningskode, ofte blev genimplementeret af programmørerne. Som et resultat blev EJB introduceret for at løse disse almindelige problemer såsom vedholdenhed, transaktionsintegritet og sikkerhed. EJB giver standardmetoder til at håndtere disse backend-problemer ved at specificere, hvordan applikationsserveren skal behandle transaktioner, integrere med JPA (Java Persistence API) -tjenester, håndtere samtidighedskontrol, håndtere JMS (Java Message Service) -hændelser, løse navngivningsproblemer med JNDI (Java Naming and Directory Interface), udvikle sikre programmer med JCE (Java Cryptography Extension) og JAAS (Java Authentication and Authorization Service), implementere komponenter, kommunikere eksternt med RMI-IIOP (Java Remote Method Invocation interface via Internet Inter-Orb Protocol),udvikle webservices, påberåbe sig asynkrone metoder og bruge timertjenesten.

EJB2

EJB2 (EJB 2.0) blev frigivet den 22. august 2001. Den beskriver specifikation til udvikling af distribuerede objektorienterede applikationer i Java ved at kombinere værktøjer udviklet af forskellige leverandører. Et af hovedmålene med EJB2 var at give programmerere mulighed for lettere at udvikle virksomhedsapplikationer uden at skulle forstå detaljer på lavt niveau, såsom multi-threading og forbindelsespooling. Et andet mål var at lade programmører skrive en "Bean" en gang og køre hvor som helst uden rekompilering (overholdelse af "skriv en gang, kør hvor som helst" -sloganet for Java-programmeringssprog). Desuden havde EJB2 til hensigt at tillade komponenter, der er udviklet af forskellige leverandører, let at interagere og give leverandører mulighed for at skrive udvidelser til deres produkter, der kan understøtte EJB'er.

EJB3

EJB3 (EJB 3.0) blev frigivet den 11. maj, 2006. EJB3 gjorde programmørerne meget lette ved at lade dem bruge annoteringer i stedet for implementeringsbeskrivelser, der blev brugt i tidligere versioner. EJB3 indeholder en forretningsgrænseflade og en bestemt enhedsbønne, der kan implementere den forretningsgrænseflade, hvilket fjerner behovet for at bruge hjemme- / fjerngrænseflader og ejb-jar.xml-filen. Den samlede ydelse af EJB3 er meget forbedret i forhold til EJB2, og der er en betydelig stigning i konfigurerbarhed, fleksibilitet og bærbarhed i denne udgivelse af EJB.

Hvad er forskellen mellem EJB2 og EJB3?

EJB3 har en mærkbar forbedring i konfiguration og ydeevne i forhold til EJB2. En af årsagerne til denne præstationsforbedring er brugen af POJO (Plain Old Java Object) med metadata og XML Deployment Descriptors af EJB3 i stedet for JNDI-opslag, der bruges i EJB2 til objektreferencer. Konfiguration af EJB3 er meget enklere, fordi programmøren ikke har brug for at implementere Home / Remote-grænseflader og andre (f.eks. SessionBean), hvilket fjerner behovet for at bruge container callback-metoder (såsom ejbActivate og ejbStore).

Desuden er EJB3 bedre end EJB2 inden for områderne fleksibilitet og bærbarhed. For eksempel er det let at konvertere EJB3-enheder til DAO (Data Access Object) og omvendt, fordi EJB3-enheder er lette (i modsætning til de tunge EJB2-enheder, der implementerer ovennævnte grænseflader). Databaseforespørgsler skrevet i EJB3 er meget fleksible, fordi den bruger en raffineret EJB-QL i stedet for den ældre version af EJB-QL, som havde flere begrænsninger. EJB3 fjerner alle portabilitetsproblemer i EJB2 (som bruger enhedsbønner til databaseadgang) ved at understøtte mere generaliseret JPA til alle datatransaktioner.

I modsætning til EJB2, som har brug for en EJB-container for at udføre, kan EJB3 udføres i en uafhængig JVM (Java Virtual Machine) uden at skulle bruge containere (dette er muligt, fordi det ikke implementerer standardgrænseflader). I modsætning til EJB2 er EJB3 let at tilslutte med udholdenhedsudbydere, der tilbydes af tredjeparter. En anden vigtig forskel mellem EJB3 og EJB2 er, at EJB3 kan bruge annoteringsbaseret sikkerhed, mens EJB2 brugte implementeringsbeskrivelsesbaseret sikkerhed. Dette betyder, at konfigurations- og opsætningsopgaver er meget lettere i EJB3, og der er en betydelig reduktion i ydeevneomkostninger sammenlignet med EJB2.

Anbefalet: