EJB 2.1 vs EJB 3.0
Suurim üleminek EJB 2.1-lt EJB 3.0-le keskendus peamiselt jõudlusele kiiruse ja väljundi ning lihtsuse osas. Selle modifikatsioon keskenduks sellele, kuidas uus programm töötaks koos teiste programmeerijatega, näiteks Java EE5.
Alates EJB 2.1 rakendusest uuele EJB 3.0 arhitektile võib olla õige öelda, et täiustatud versioon on vastus tolleaegse EJB 2.1 varasematele puudustele.
Vaatame mõnda peamist üleminekut.
Lihtsus
EJB 3.0 pakub sisuga manipuleerimise lihtsust, mis on võib-olla üks selle peamisi silmapaistvaid tegureid. Erinevalt EJB 2.1-st saate nüüd luua Enterprise Java Beani rakenduse, millel on palju lihtsust.
Selle põhjuseks on asjaolu, et operatsioon EJB 3.0 põhineb tavalisel vanal Java objekti (POJO) programmeerimise konfiguratsioonil, mis võtab andmeid kasutusele Java-märkuste abil, mis sisaldusid juurutuskirjeldustes. Enamikul juhtudel on kasutuselevõtu kirjeldused kõige vähem vajalikud.
Erinevalt EJB 2.1-st, mis nõuab täiendavate tugikoodide märkimist, on EJB 3.0 komponentide kasutamisel vastupidine olukord, mis nõuab, et kirjutaksite ja hoidksite vähem tugikoode, pakkudes seega kõige lihtsustatud programmeerimiskogemust.
Tõhusus
Öeldakse, et uus EJB 3.0 on umbes 45% tõhusam kui EJB 2.1. Selle põhjuseks on EJB 2.1 peamised muudatused, mida selgitatakse allpool.
Ejb-jar.xml paigutuse kirjeldusi identifitseeriva DTD asendamine modifitseeritud xml-skeemiga ja ka parendatud viis ettevõtteubade tootmiseks on teinud EJB 2.1-st ebasoovitava töötama. Plain Old Java Object tutvustamine toetab Java püsiva API kaudu kvintessentsi.
Kui sessioonubade kasutuselevõtt muutis Interneti-teenuse lisatugevust, on EJB 3.0 kasutusele võtnud kaalukeelena kasutatava üksuse ubade vastupidavuse funktsiooni. Need üksused põhinevad tavalisel vanal Java-objektil ega vaja neis töötavaid EJB-koode ega liidest. Lisaks saavad nad töötada väljaspool EJB konteinerit
Spetsifikatsioonid
Kui EJB 2.1 nõudis, et koostisosa liides ületaks EJB struktuuri, kirjutatakse need EJB 3.0 kasutamisel tavaliste vanade Java objektidena, mis manifesteerivad tavalist vana Java liidest ja nõuavad seega mitte koduliidest.
Täiustatud meetodite kasutuselevõtt, näiteks metaandmete annotatsioonide ja muude Java-koodide ja XML-kirjelduste loomisel kasutatavate mehhanismide kasutamine, erinevalt EJB 2.1 jaotuskirjeldustest, mis olid tülikad ja ebatäpsed.
EJB 2.1 rakendus nõudis J2EE konteinerilt EJB täpseks tööks vajalike teenuste postuleerimist ja muutis need seega raskesti testitavaks. JNDI-st sõltub EJB 2.1 sageli, kui rakenduste kasutamine on monotoonne ja aeganõudev.
EJB 3.0 ei vaja spetsiifiliste liideste ja deskriptorite eraldamist. Selle põhjuseks on asjaolu, et märkused on sobivaks asenduseks jaotuse kirjeldustele. Rakenduse EJB 3.0 kasutamisel saate vaikeväärtusi sagedamini kasutada, mitte EJB 2.1. EJB 3.0 pakub vähem kontrollitud ebakõlasid, mis võimaldab loovust.
Kokkuvõte
EJB 3.0 uuel üleminekul EJB-st 2.1.
EJB 3.0-ga on lihtne töötada, mitte EJB 2.1 versiooniga.
EJB 3.0 kasutab üksusi, mis põhinevad peamiselt tavalisel vanal Java objektil (POJO).
EJB 2.1 nõuab rohkem toetavate koodide märkimist, võrreldes EJB 3.0-ga, mis vähendab tugikoodide arvu.
EJB 2.1 DTD asendatakse EJB 3.0 modifitseeritud XML-skeemiga.
Java-koode genereerib EJB 3.0 täiustatud rakendused hõlpsalt, erinevalt EJB3.1 versioonist, kus protsess on palju raskem.