Erinevus EJB2 ja EJB3 vahel

Erinevus EJB2 ja EJB3 vahel
Erinevus EJB2 ja EJB3 vahel

Video: Erinevus EJB2 ja EJB3 vahel

Video: Erinevus EJB2 ja EJB3 vahel
Video: РЫБА НА УГЛЯХ, ЖАРЕНАЯ ОСЕТРИНА ШАШЛЫК НА МАНГАЛЕ Одесский Липован # 178 2024, September
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) on Java API (rakenduse programmeerimisliides), mis asub Java EE (Java Platform, Enterprise Edition) spetsifikatsioonis. EJB kirjeldab arhitektuurset mudelit ettevõtte rakenduste arendamiseks. See on hallatav serveripoolne mudel, mis suudab jäädvustada ettevõtte rakenduse äriloogika. IBM on EJB algne looja, kes töötas selle välja 1997. aastal. Sun Microsystems võttis selle kasutusele 1999. aastal.

Enne EJB kasutuselevõttu leiti, et programmeerijad rakendasid sageli tausta ärikoodis leitud probleemide lahendusi. Selle tulemusena võeti kasutusele EJB, et lahendada need levinud probleemid, nagu püsivus, tehingute terviklikkus ja turvalisus. EJB pakub standardseid viise nende taustaprobleemide lahendamiseks, täpsustades, kuidas rakendusserver peaks tehinguid töötlema, integreerima JPA (Java püsivuse API) teenustega, käsitlema samaaegsuse kontrolli, käsitlema JMS-i (Java sõnumiteenuse) sündmusi, lahendama nimeprobleeme JNDI-ga (Java nimede andmise ja kataloogi liides), arendada turvalisi programme JCE (Java Cryptography Extension) ja JAASiga (Java autentimis- ja autoriseerimisteenus), juurutada komponente, suhelda eem alt RMI-IIOP-iga (Java Remote Method Invocation liides Interneti Inter-Orb Protocoli kaudu)., arendage veebiteenuseid, kutsuge välja asünkroonsed meetodid ja kasutage Taimeri teenust.

EJB2

EJB2 (EJB 2.0) ilmus 22. augustil 2001. Selles kirjeldatakse spetsifikatsioone Java-s hajutatud objektorienteeritud rakenduste arendamiseks, kombineerides erinevate tarnijate väljatöötatud tööriistu. EJB2 üks peamisi eesmärke oli võimaldada programmeerijatel ettevõtterakendusi lihtsamini arendada, ilma et nad peaksid mõistma madalatasemelisi üksikasju, nagu mitme lõime ja ühenduste ühendamine. Teine eesmärk oli võimaldada programmeerijatel kirjutada "Bean" üks kord ja käivitada kõikjal ilma uuesti kompileerimiseta (järgides Java programmeerimiskeele loosungit "kirjuta üks kord, jookse kõikjal". Lisaks kavatses EJB2 võimaldada erinevate tarnijate väljatöötatud komponentidel hõlpsasti koostoimimist ja võimaldada müüjatel kirjutada oma toodetele laiendusi, mis toetavad EJB-sid.

EJB3

EJB3 (EJB 3.0) ilmus 11. mail 2006. EJB3 muutis programmeerijate elu väga lihtsaks, võimaldades neil kasutada eelmistes versioonides kasutatud juurutuskirjelduste asemel märkusi. EJB3 sisaldab äriliidest ja konkreetset olemi uba, mis suudab seda äriliidest rakendada, kõrvaldades vajaduse kasutada kodu-/kaugliideseid ja faili ejb-jar.xml. EJB3 üldine jõudlus on võrreldes EJB2-ga palju paranenud ning selles EJB versioonis on konfigureeritavus, paindlikkus ja kaasaskantavus märkimisväärselt suurenenud.

Mis vahe on EJB2 ja EJB3 vahel?

EJB3 konfiguratsioonis ja jõudluses on võrreldes EJB2-ga märgatav paranemine. Selle jõudluse parandamise üheks põhjuseks on POJO (lihtne vana Java objekt) kasutamine metaandmete ja XML-i juurutamise kirjeldustega EJB3 poolt EJB2-s objektiviidete jaoks kasutatavate JNDI otsingute asemel. EJB3 seadistamine on palju lihtsam, kuna programmeerija ei pea juurutama kodu-/kaugliideseid ega muid (nt SessionBean), mis välistab vajaduse kasutada konteineri tagasihelistamismeetodeid (nt ejbActivate ja ejbStore).

Lisaks on EJB3 parem kui EJB2 paindlikkuse ja teisaldatavuse osas. Näiteks on lihtne teisendada EJB3 olemeid DAO-ks (Data Access Object) ja vastupidi, kuna EJB3 olemid on kerged (erinev alt raskekaalulistest EJB2 üksustest, mis rakendavad ülalmainitud liideseid). EJB3-s kirjutatud andmebaasipäringud on väga paindlikud, kuna see kasutab täiustatud EJB-QL-i EJB-QL-i vanema versiooni asemel, millel oli mitmeid piiranguid. EJB3 eemaldab kõik EJB2 (mis kasutab andmebaasi juurdepääsuks olemi ube) kaasaskantavusprobleemid, toetades üldistatumat JPA-d kõigi andmetehingute jaoks.

Erinev alt EJB2-st, mille täitmiseks on vaja EJB konteinerit, saab EJB3 käivitada sõltumatus JVM-is (Java Virtual Machine) ilma konteinereid kasutamata (see on võimalik, kuna see ei rakenda standardliideseid). Erinev alt EJB2-st on EJB3 hõlpsasti ühendatav kolmandate osapoolte pakutavate püsivuspakkujatega. Teine oluline erinevus EJB3 ja EJB2 vahel on see, et EJB3 saab kasutada annotatsioonipõhist turvalisust, samas kui EJB2 kasutas juurutuse deskriptoritel põhinevat turvet. See tähendab, et konfiguratsiooni- ja häälestustoimingud on EJB3-s palju lihtsamad ning jõudluse üldkulud vähenevad oluliselt võrreldes EJB2-ga.

Soovitan: