Ero EJB2: N Ja EJB3: N Välillä

Ero EJB2: N Ja EJB3: N Välillä
Ero EJB2: N Ja EJB3: N Välillä

Video: Ero EJB2: N Ja EJB3: N Välillä

Video: Ero EJB2: N Ja EJB3: N Välillä
Video: Java EE 123: EJB 1: Что такое EJB 2024, Huhtikuu
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) on Java API (Application Programming Interface), joka löytyy Java EE (Java Platform, Enterprise Edition) -määrityksistä. EJB kuvaa arkkitehtonisen mallin yrityssovellusten kehittämiseen. Tämä on hallittu palvelinpuolen malli, joka pystyy sieppaamaan yrityssovelluksen liiketoimintalogiikan. IBM on EJB: n alkuperäinen luoja, joka kehitti sen vuonna 1997. Sun Microsystems otti sen käyttöön vuonna 1999.

Ennen EJB: n käyttöönottoa havaittiin, että ohjelmoijat toteuttivat usein ratkaisuja back-end-liiketoimintakoodien ongelmiin. Tämän seurauksena EJB otettiin käyttöön näiden yleisten ongelmien, kuten pysyvyyden, liiketoimien eheyden ja turvallisuuden, ratkaisemiseksi. EJB tarjoaa vakiotapoja näiden taustapäätösten käsittelemiseksi määrittämällä, miten sovelluspalvelimen tulisi käsitellä tapahtumia, integroitua JPA (Java Persistence API) -palveluihin, käsitellä samanaikaisuuden hallintaa, käsitellä JMS (Java Message Service) -tapahtumia, ratkaista nimeämisongelmat JNDI: n kanssa (Java Naming and Directory Interface), kehitä suojattuja ohjelmia JCE: llä (Java Cryptography Extension) ja JAAS: lla (Java Authentication and Authorization Service), asenna komponentit, kommunikoi etäyhteyden kautta RMI-IIOP: n (Java Remote Method Invocation -rajapinnan kautta Internet Inter-Orb Protocol),kehittää verkkopalveluja, käyttää asynkronisia menetelmiä ja käyttää Ajastin-palvelua.

EJB2

EJB2 (EJB 2.0) julkaistiin 22. elokuuta 2001. Siinä kuvataan spesifikaatio hajautettujen olio-sovellusten kehittämiseksi Java-järjestelmässä yhdistämällä eri toimittajien kehittämiä työkaluja. Yksi EJB2: n tärkeimmistä tavoitteista oli antaa ohjelmoijille mahdollisuus kehittää yrityssovelluksia helpommin tarvitsematta ymmärtää matalan tason yksityiskohtia, kuten monisäikeistä ketjutusta ja yhteyksien yhdistämistä. Toinen tavoite oli antaa ohjelmoijille mahdollisuus kirjoittaa "papu" kerran ja juosta missä tahansa ilman uudelleen kääntämistä (noudattaen Java-ohjelmointikielen "kirjoita kerran, aja mihin tahansa" iskulausetta). Lisäksi EJB2: n tarkoituksena oli antaa eri toimittajien kehittämien komponenttien olla helposti yhteensopivia ja antaa toimittajien kirjoittaa tuotteilleen laajennuksia, jotka tukevat EJB: itä.

EJB3

EJB3 (EJB 3.0) julkaistiin 11. toukokuuta 2006. EJB3 teki ohjelmoijien elämästä erittäin helppoa antamalla heille mahdollisuuden käyttää merkintöjä aiemmissa versioissa käytettyjen asennuskuvaajien sijasta. EJB3 sisältää liiketoimintaliittymän ja tietyn entiteettipapun, joka voi toteuttaa kyseisen liiketoimintaliittymän poistamalla tarpeen käyttää koti- / etärajapintoja ja tiedostoa ejb-jar.xml. EJB3: n yleinen suorituskyky on paljon parantunut verrattuna EJB2: een, ja konfiguroitavuus, joustavuus ja siirrettävyys ovat lisääntyneet huomattavasti tässä EJB-julkaisussa.

Mitä eroa on EJB2: lla ja EJB3: lla?

EJB3: lla on huomattava parannus kokoonpanossa ja suorituskyvyssä verrattuna EJB2: een. Yksi syy tähän suorituskyvyn parannukseen on POJO: n (Plain Old Java Object) käyttö metatietojen ja XML Deployment Descriptorsin kanssa EJB3: lla EJB2: ssa objektiviittauksiin käytettyjen JNDI-hakujen sijaan. EJB3: n määritys on paljon yksinkertaisempaa, koska ohjelmoijan ei tarvitse ottaa käyttöön Koti / Etäkäyttöliittymiä ja muita (esim. SessionBean), mikä poistaa tarpeen käyttää konttipuhelumenetelmiä (kuten ejbActivate ja ejbStore).

Lisäksi EJB3 on parempi kuin EJB2 joustavuuden ja siirrettävyyden alueilla. Esimerkiksi EJB3-entiteetit on helppo muuntaa DAO: ksi (Data Access Object) ja päinvastoin, koska EJB3-entiteetit ovat kevyitä (toisin kuin raskaat EJB2-entiteetit, jotka toteuttavat yllä mainitut rajapinnat). EJB3: ssa kirjoitetut tietokantakyselyt ovat erittäin joustavia, koska siinä käytetään hienostunutta EJB-QL: ää EJB-QL: n vanhemman version sijaan, jolla oli useita rajoituksia. EJB3 poistaa kaikki EJB2: n (joka käyttää entiteettipapuja tietokantaan pääsyyn) siirrettävyyskysymykset tukemalla yleisempää JPA: ta kaikissa datatapahtumissa.

Toisin kuin EJB2, jonka suorittamiseen tarvitaan EJB-säilö, EJB3 voidaan suorittaa itsenäisessä JVM: ssä (Java Virtual Machine) tarvitsematta käyttää säiliöitä (tämä on mahdollista, koska siinä ei ole vakioliitäntöjä). Toisin kuin EJB2, EJB3 on helposti liitettävissä kolmansien osapuolten tarjoamiin pysyvyyden tarjoajiin. Toinen tärkeä ero EJB3: n ja EJB2: n välillä on se, että EJB3 voi käyttää merkintöihin perustuvaa suojausta, kun taas EJB2 käytti käyttöönottokuvaajiin perustuvaa suojausta. Tämä tarkoittaa, että konfigurointi- ja asennustehtävät ovat paljon helpompia EJB3: ssa, ja suorituskyvyn yleiskustannukset vähenevät huomattavasti EJB2: een verrattuna.

Suositeltava: