EJB2 vs. EJB3
EJB (Enterprise JavaBeans) on Java API (Application Programming Interface), joka löytyy Java EE (Java Platform, Enterprise Edition) -määrittelystä. EJB kuvaa arkkitehtomallin yrityssovellusten kehittämiseen. Tämä on hallittu palvelinpuolen malli, joka pystyy kaappaamaan yrityssovelluksen liikelogiikan. 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 ottivat usein käyttöön ratkaisuja taustatietojen yritystunnuksista löytyviin ongelmiin. Seurauksena EJB otettiin käyttöön käsittelemään näitä yleisiä ongelmia, kuten pysyvyys, tapahtumien eheys ja turvallisuus. EJB tarjoaa tavanmukaisia tapoja käsitellä näitä taustaongelmia määrittelemällä, kuinka sovelluspalvelimen tulisi käsitellä tapahtumia, integroida JPA (Java Persistence API) -palveluihin, käsitellä samanaikaisuuden hallintaa, käsitellä JMS (Java Message Service) -tapahtumia, ratkaista nimeämisongelmia JNDI: n kanssa ( Java Naming and Directory Interface), kehittää suojattuja ohjelmia JCE: n (Java Cryptography Extension) ja JAAS: n (Java Authentication and Authorization Service) kanssa, ottaa komponentit käyttöön, kommunikoida etäyhteyden avulla RMI-IIOP: n (Java Remote Method Invocation -rajapinta Internet Inter-Orb -protokolla) kautta , kehittää verkkopalveluita, vedota asynkronisiin menetelmiin ja käyttää Ajastin-palvelua.
EJB2
EJB2 (EJB 2.0) julkaistiin 22. elokuuta 2001. Se kuvaa spesifikaatioita hajautettujen kohdeorientoituneiden sovellusten kehittämiseen Java-ohjelmassa yhdistämällä eri valmistajien kehittämiä työkaluja. Yksi EJB2: n päätavoitteista oli antaa ohjelmoijille mahdollisuus kehittää yrityssovelluksia helpommin ymmärtämättä matalan tason yksityiskohtia, kuten monisäikeistämistä ja yhteyden yhdistämistä. Toinen tavoite oli antaa ohjelmoijien kirjoittaa ”Papu” kerran ja ajaa missä tahansa ilman uudelleenkomplikaatiota (kiinni Java-ohjelmointikielen ”kirjoita kerran, aja missä tahansa” -lauseessa). Lisäksi EJB2: n tarkoituksena oli antaa eri toimittajien kehittämille komponenteille helppo yhteistoiminta ja antaa myyjille mahdollisuus kirjoittaa laajennuksia tuotteilleen, jotka tukevat EJB: tä..
EJB3
EJB3 (EJB 3.0) julkaistiin 11. toukokuuta 2006. EJB3 teki ohjelmoijien elämän erittäin helpoksi sallimalla heidän käyttää merkintöjä aiemmissa versioissa käytettyjen käyttöönottokirjelmien sijasta. EJB3 sisältää liiketoimintarajapinnan ja erityisen entiteettipavun, joka voi toteuttaa kyseisen liikerajapinnan, poistamalla tarpeen käyttää koti- / etärajapintoja ja ejb-jar.xml-tiedostoa. EJB3: n yleinen suorituskyky on parantunut huomattavasti verrattuna EJB2: een, ja tässä EJB: n julkaisussa on huomattavasti lisääntynyt konfiguroitavuus, joustavuus ja siirrettävyys..
Mitä eroa on EJB2: n ja EJB3: n välillä??
EJB3: n kokoonpano ja suorituskyky ovat parantuneet huomattavasti verrattuna EJB2: een. Yksi syy tähän suorituskyvyn paranemiseen on EJB3: n POJO: n (Plain Old Java Object) käyttö metatietojen ja XML-käyttöönottokirjelmien kanssa EJB2: ssa käytettävien JNDI-hakujen sijaan objektiviittauksissa. EJB3: n määritys on paljon yksinkertaisempaa, koska ohjelmoijan ei tarvitse toteuttaa Koti / Etä-rajapintoja ja muita (esim. SessionBean), mikä poistaa tarpeen käyttää säilön takaisinsoittomenetelmiä (kuten ejbActivate ja ejbStore).
Lisäksi EJB3 on parempi kuin EJB2 joustavuuden ja siirrettävyyden aloilla. 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 edellä mainitut rajapinnat). EJB3: een kirjoitetut tietokantakyselyt ovat erittäin joustavia, koska siinä käytetään hienostunutta EJB-QL: tä EJB-QL: n vanhemman version sijasta, jolla oli useita rajoituksia. EJB3 poistaa kaikki EJB2: n siirrettävyysongelmat (jotka käyttävät entiteettipavuja tietokantaan pääsyyn) tukemalla yleisempiä JPA-tietoja kaikille tiedonsiirroille.
Toisin kuin EJB2, joka vaatii EJB-säilön suorittamiseksi, EJB3 voidaan suorittaa riippumattomassa JVM: ssä (Java Virtual Machine) käyttämättä säiliöitä (tämä on mahdollista, koska se ei toteuta vakiorajapintoja). Toisin kuin EJB2, EJB3 on helposti kytkettävissä kolmansien osapuolten tarjoamiin pysyvyyspalvelujen tarjoajiin. Toinen tärkeä ero EJB3: n ja EJB2: n välillä on, että EJB3 voi käyttää huomautuksiin perustuvaa tietoturvaa, kun taas EJB2 käytti käyttöönottokuvauksiin perustuvaa tietoturvaa. Tämä tarkoittaa, että määritys- ja asennustehtävät ovat paljon helpompia EJB3: ssa, ja suorituskyvyn yleiskustannukset vähenevät huomattavasti verrattuna EJB2: een..