JDO vs Dəyər Obyekti
JDO, müxtəlif məlumat anbarlarının əsas tətbiqlərini başa düşməyə ehtiyac olmadan POJO (Düz Köhnə Java Obyektləri) verilənlər bazasında saxlamaq üçün istifadə edilə bilən Java davamlılıq texnologiyasıdır. Dəyər Obyekti (həmçinin Məlumat Ötürmə Obyekti kimi tanınır) çoxsaylı təbəqələr və səviyyələr arasında məlumatların ötürülməsi məqsədilə sadə məlumat sahibi konsepsiyasını təqdim edən mücərrəd dizayn nümunəsidir.
JDO nədir?
JDO (Java Data Objects) Java obyektlərinə davamlılıq və verilənlər bazasına daxil olmaq üçün mexanizm təmin edir. JDO çox şəffafdır, çünki Java proqram tərtibatçılarına verilənlər bazası üçün xüsusi kod yazmadan əsas məlumatlara daxil olmağa imkan verir. JDO Java Standard Edition, Web səviyyəli və proqram serverləri daxil olmaqla bir neçə səviyyədə istifadə edilə bilər. JDO API Serializasiya, JDBC (Java DataBase Connectivity) və EJB CMP (Enterprise JavaBeans arxitekturası Konteynerlə İdarə olunan Davamlılıq) kimi Java obyektlərinin digər davamlılığına (proqramın dayandırılmasından sonra obyektlərin saxlanmasına) alternativdir. JDO XML-dən və bayt kodunun təkmilləşdirilməsindən istifadə edir. JDO API-dən istifadənin əsas üstünlüyü ondan ibarətdir ki, onlar SQL kimi yeni sorğu dilini öyrənməyə ehtiyac olmadan məlumatları saxlaya bilirlər (bu, verilənlərin saxlanma növündən asılıdır). JDO-dan istifadə etmək çox asandır, çünki tərtibatçılar yalnız öz domen obyekt modelinə diqqət yetirə bilərlər. Təkcə bu deyil, JDO verilənlərə girişə görə kodu özü optimallaşdırır. JDO API məlumat anbarının növü ilə bağlı ciddi olmadığına görə, eyni interfeysdən java proqram tərtibatçıları java obyektlərini relational verilənlər bazası, obyekt verilənlər bazası və ya XML daxil olmaqla istənilən məlumat anbarında saxlamaq üçün istifadə edilə bilər. JDO yüksək portativdir, çünki müxtəlif təchizatçı tətbiqlərində işləmək üçün modifikasiya və ya yenidən tərtib etmək lazım deyil.
Dəyər Obyekti nədir?
Məlumat Ötürmə Obyektləri (DTO) kimi də tanınan Dəyər Obyekti təbəqələr və səviyyələr arasında məlumatların ötürülməsi məqsədi ilə verilənlərin saxlanması üçün məlumat konteyneri ilə məşğul olan sadə mücərrəd dizayn nümunəsidir. Bu nümunə üçün ən dəqiq termin Data Transfer Object olsa da, Core J2EE-nin ilk versiyasındakı səhvə görə o, Dəyər Obyekti kimi təqdim edildi. Bu səhv 2-ci nəşrdə düzəldilsə də, bu ad məşhurlaşdı və hələ də Data Transfer Object əvəzinə çox istifadə olunur (lakin qeyd etmək lazımdır ki, düzgün termin Data Transfer Object-dir). DTO dizayn nümunəsi müəssisə tətbiqlərində təcrid və əməliyyatlarla bağlı yaranan problemləri düzəltmək üçün müəssisə lobya, JDBC və JDO ilə istifadə olunur. Qeyd etmək vacibdir ki, bunlar müştəri ilə verilənlər bazası arasında məlumat ötürmək üçün istifadə edilən sadə məlumat sahibləridir və heç bir davamlılığı təmin etmir. DTO ənənəvi EJB-də Seriallaşdırıla bilən obyektlər kimi fəaliyyət göstərmək məqsədinə xidmət edir (3.0 seriyalaşdırıla bilməz). DTO tərəfindən müəyyən edilən ayrıca montaj mərhələsində görünüş tərəfindən istifadə edilən bütün məlumatlar idarənin təqdimat qatına buraxılmasından əvvəl əldə edilir və sıralanır.
JDO ilə Dəyər Obyekti arasındakı fərq nədir?
JDO əslində Java obyektlərini verilənlər bazasında saxlamaq üçün istifadə edilən davamlı texnologiyadır ki, bu da bütün icra səviyyəli təfərrüatları idarə etməklə tərtibatçılara rahatlıq təmin edir və tərtibatçılara verilənlər bazası üçün xüsusi olmayan kodlaşdırmaya diqqət yetirməyə imkan verir. Lakin, Dəyər Obyekti müştəri və verilənlər bazası arasında ötürülmə məqsədi ilə məlumatları saxlaya bilən Məlumat Ötürmə Obyekti kimi tanınan ümumi məlumat sahibini təmin edən mücərrəd dizayn nümunəsini (texnologiya deyil) təmsil edir. JDO davamlı məlumat elementlərini təmin edir, Dəyər Obyekti isə yalnız məlumat ötürülməsi zamanı məlumatların müvəqqəti saxlanması ilə məşğul olur. Başqa sözlə, Dəyər Obyekti davamlılığı təmin etmir.