Ejb vs Dvaletilstand
For at komme til EJB er det godt at forstå baggrunden for, hvor den stammer fra. Der er to typer enhedsbønner. Disse er CMP og BMP. CMP henviser til Container Managed Persistence, mens BMP refererer til Bean Managed Persistence. EJB bruges specielt til objektformulering og serialisering ved håndtering af relationelle databaser i SQL.
Når udviklingen af en kompleks applikation kommer til at begynde, begynder den med modellering. Klasser og objekter foretrækkes at blive brugt over tabellerne, da de kommer med komplekse indbyrdes sammenhænge, som kan forårsage en masse problemer, hvis de ikke er godt implementeret. Dette betyder i det væsentlige, at vi beskæftiger os med et system, der bruger design af tænkning i objekter og ikke i tabeller. Brugen af relationelle databaser er ret hurtig og testet i tide. Dette sammenlignet med objektets serialisering sparer tid, da kompleks objekt-serialisering er en meget langsom proces. Brug af relationel databaseteknologi er en hurtig og tidstestet og populær blandt mange udviklere, og derfor er det, at det foretrækkes.
Det er muligt at håndtere tabeller i udvikling og anvende sessionbønner til datamanipulation og læsning af data. Så meget som dette er muligt, er dets praktiske ikke muligt, især når man arbejder med virkelig komplekse projekter til at bruge ovenstående metode. Dette er det grundlag, der følger brugen af enhedsbønner i EJB.
CMP i EJB1 kom designet til at være egnet til brug med enkle tabeller, som ikke kommer med et komplekst forhold til andre tabeller. Brug af CMP undgår referencer, der henviser til den underliggende database. Dette betyder faktisk, at det er mere bærbart, og at leverandørlåsning ikke forekommer. EJB 1 fortsætter også data til objektdatabaser udover relationelle databaser.
EJB 2.0 har et revolutionerende design, der sigter mod at forbedre den overordnede funktionalitet. Den vigtigste ændring med det er det format, det foreslår for at skrive CMP. Det giver relationer og foreslår også brug af et simpelt forespørgselssprog, der kaldes EBJ-QL. Dette sprog sigter mod at minimere netværkstrafik ved at kalde en enhed bønne en sessionbønne.
Dvaletilstand er på den anden side et ORM-værktøj, der ikke har en stejl indlæringskurve, der er almindelig med EJB og ikke er så fejlagtig som EJB. Dvaletilstand foretrækkes på grund af dens fleksibilitet, hvilket tillader Servlets og JSP dets anvendelse. Dvaletilstand er bygget i overensstemmelse med J2EE-specifikationen, der gør den anvendelig i de fleste af de applikationer, en udvikler har. Dvaletilstand er et specielt ORM-værktøj, da det ikke kun kan bruges i EJB-containere, men også kan bruges i selvstændige containere og webcontainere. Dette er den største forskel, der skiller sig ud mellem EJB og Dvale. Udvikling med dvaletilstand er derfor meget lettere og mindre kompliceret i modsætning til brugen af EJB.
Dvaletilstand er tilsyneladende mere populær blandt brugere af J2EE-miljøet, og hvis EBJ fortsætter med udviklingen af komplekse funktioner, som det tager et stykke tid at få brugere til at kende, vil Hibernate være den dominerende i området, og EJB kan muligvis finde sig i at blive låst ud af J2EE er i øjeblikket ikke i kontakt med de fleste udviklere, som det søger at målrette mod på markedet.
Resumé
EJB er en enhedsbønne, der er specielt brugt til objektformulering
Der er en mulighed for at bruge tabeller og brug af sessionbønner til datalæsning og manipulation, dog ikke praktisk
EBJ tilvejebringer et relativt simpelt forespørgselssprog til udvikling kaldet EJB-QL
EBJ-fejl udsat for
Dvaletilstand er relativt let at forstå og implementere
Dvaletilstand ikke så fejlbehæftet som EJB