JDO vs väärtusobjekt
JDO on Java püsivustehnoloogia, mida saab kasutada POJO (lihtsate vanade Java objektide) salvestamiseks andmebaasidesse, ilma et oleks vaja mõista erinevate andmehoidlate aluseks olevaid rakendusi. Väärtusobjekt (tuntud ka kui andmeedastusobjekt) on abstraktne kujundusmuster, mis tutvustab lihtsa andmehoidja kontseptsiooni, mille eesmärk on andmete ülekandmine mitme kihi ja tasandi vahel.
Mis on JDO?
JDO (Java andmeobjektid) pakub mehhanismi Java-objektide püsivuse ja andmebaasidele juurdepääsu tagamiseks. JDO on väga läbipaistev, kuna see võimaldab Java-rakenduste arendajatel juurdepääsu aluseks olevatele andmetele, ilma et nad peaksid kirjutama andmebaasidele spetsiifilist koodi. JDO-d saab kasutada mitmel tasemel, sealhulgas Java Standard Edition, veebitasandi ja rakendusserverites. JDO API on alternatiiv Java-objektide (nt serialiseerimine, JDBC (Java andmebaasi ühenduvus) ja EJB CMP (Enterprise JavaBeansi arhitektuuri konteineri hallatav püsivus) püsivusele (objektide säilitamine pärast programmi katkestamist). JDO kasutab XML-i ja baitkoodi täiustamist. JDO API kasutamise peamine eelis on see, et nad saavad andmeid salvestada, ilma et oleks vaja õppida uut päringukeelt, näiteks SQL-i (mis sõltub andmesalvestuse tüübist). JDO-d on väga lihtne kasutada, kuna arendajad saavad keskenduda ainult oma domeeniobjekti mudelile. Lisaks sellele optimeerib JDO koodi ise vastav alt andmetele juurdepääsule. Kuna JDO API ei ole andmesalve tüübi suhtes range, saavad Java-rakenduste arendajad kasutada sama liidest Java-objektide salvestamiseks mis tahes andmesalve, sealhulgas relatsiooniandmebaasi, objektide andmebaasi või XML-i. JDO on väga kaasaskantav, kuna erinevate tarnija rakenduste puhul pole vaja muutmist ega ümberkompileerimist.
Mis on väärtusobjekt?
Value Object, tuntud ka kui andmeedastusobjektid (DTO), on lihtne abstraktne kujundusmuster, mis käsitleb andmemahutit andmete hoidmiseks andmete edastamiseks kihtide ja tasandite vahel. Kuigi selle mustri kõige täpsem termin on andmeedastusobjekt, võeti Core J2EE esimese versiooni vea tõttu kasutusele väärtusobjektina. Kuigi see viga parandati 2. väljaandes, sai see nimi populaarseks ja seda kasutatakse endiselt massiliselt Data Transfer Object asemel (kuid tuleb märkida, et õige termin on Data Transfer Object). DTO kujundusmustrit kasutatakse olemi ubade, JDBC ja JDO puhul, et parandada ettevõtte rakendustes isolatsiooni ja tehingutega seotud probleeme. Oluline on märkida, et need on ainult lihtsad andmehoidjad, mida kasutatakse andmete edastamiseks kliendi ja andmebaasi vahel ning need ei taga mingit püsivust. DTO eesmärk on toimida traditsioonilises EJB-s serialiseeritavate objektidena (ennete 3.0 ei ole järjestatavad). DTO määratletud eraldi kokkupanekufaasis hangitakse ja jaotatakse kõik vaates kasutatavad andmed enne juhtelemendi vabastamist esitluskihile.
Mis vahe on JDO ja väärtusobjekti vahel?
JDO on tegelikult Java-objektide andmebaasidesse salvestamiseks kasutatav püsivustehnoloogia, mis pakub arendajatele mugavust, käsitledes kõiki juurutustaseme üksikasju ja võimaldades arendajatel keskenduda mitteandmebaasipõhisele kodeerimisele. Kuid väärtusobjekt kujutab abstraktset kujundusmustrit (mitte tehnoloogiat), mis pakub üldist andmehoidjat, mida nimetatakse andmeedastusobjektiks, mis võib hoida andmeid kliendi ja andmebaaside vahelise edastamise eesmärgil. JDO pakub püsivate andmeüksuste võimalust, samas kui Value Object tegeleb andmete ajutise säilitamisega andmeedastuse ajal. Teisisõnu, väärtusobjekt ei taga püsivust.