Кіріспе

Java нысандарының тұрақтылығын сипаттау

Java Data Objects (JDO) – Java нысандарының тұрақтылығын сипаттайтын нұсқаулық. Оның ерекшеліктерінің бірі – домендік модельге тұрақтылық қызметтерінің ашықтығы. JDO тұрақты нысандары – қарапайым Java бағдарламалау тілінің сыныптары (POJO); олардың белгілі бір интерфейстерді іске асыруы немесе арнайы сыныптардан мұрағалуы талап етілмейді. JDO 1.0 Java Community Process аясында JSR 12 ретінде әзірленді. JDO 2.0 JSR 243 аясында әзірленді және 2006 жылдың 10 мамырында жарияланды. JDO 2.1 Apache JDO жобасымен 2008 жылдың ақпан айында аяқталды. JDO 2.2 2008 жылдың қазан айында жарияланды. JDO 3.0 2010 жылдың сәуір айында жарияланды. Нысандардың тұрақтылығы сыртқы XML метафайлдарында анықталады, олар жеткізушіге тән кеңейтулерге ие болуы мүмкін. JDO өндірушілері әзірлеушілерге компиляцияланған Java кластық файлдарын өзгертетін кеңейткіштерді ұсынады, осылайша олардың ашық түрде сақталуын қамтамасыз етеді. (Байт-кодты жақсарту JDO нұсқаулығында міндетті емес екеніне назар аударыңыз, бірақ ол JDO нұсқаулығының талаптарын іске асырудың ең көп қолданылатын механизмі.) Қазіргі уақытта JDO өндірушілері тұрақтылық үшін бірнеше нұсқаларды ұсынады, мысалы, RDBMS, OODB немесе файлдарға. JDO жаңартылған сыныптары әртүрлі өндірушілердің іске асыруларында қолданылуы мүмкін. Жаңартылғаннан кейін Java сыныбын кез келген өндірушінің JDO өнімімен пайдалануға болады. JDO Java EE-мен бірнеше тәсілмен интеграцияланған. Біріншіден, өндіруші нұсқаулықты іске асыруды қамтамасыз ете алады. Екіншіден, JDO JEE транзакциялық қызметтерінің аясында жұмыс істей алады.

JDO және EJB3 және JPA

Enterprise JavaBeans 3.0 (EJB3) спецификациясы, EJB v2-дегі Entity Beans сияқты, деректерді сақтауды да қамтыды. Екі стандартты дамыту ұйымы арасында басымдық мәселесі бойынша стандарттар қақтығысы болды. JDO-ның бірнеше коммерциялық нұсқалары бар. Соңында, деректерді сақтау "EJB3 Core" спецификациясынан бөлініп, Java Persistence API (JPA) деген жаңа стандарт құрылды. JPA javax.persistence пакетін пайдаланады және алғаш рет EJB3 спецификациясының JSR 220 құжатында жеке түрде сипатталған, бірақ кейіннен JSR 317 жеке спецификациясына көшірілді. Маңыздысы, javax.persistence үшін EJB контейнері қажет емес, сондықтан ол JDO-дағыдай Java SE ортасында да жұмыс істейді. Дегенмен, JPA – бұл объектілерді реляциялық түрге келтіру (ORM) стандарты, ал JDO – объектілерді реляциялық түрге келтіру стандарты және мөлдір деректерді сақтау стандарты. API тұрғысынан алғанда, JDO негізгі деректер қоймасының технологиясына бейтарап, ал JPA RDBMS деректер қоймаларына бағытталған (дегенмен, DataNucleus және ObjectDB сияқты JPA API арқылы реляциялық емес деректер қоймаларына қол жеткізуді қолдайтын бірнеше JPA провайдерлері бар). JDO-ның жетекші коммерциялық нұсқалары мен ашық кодты жобалары өздерінің деректерді сақтау механизмдеріне балама ретінде JPA API нұсқасын ұсынады, бұрынғыда олар тек JDO арқылы ғана қолжетімді болған. JDO-ның көптеген ашық кодты нұсқалары бар.

JDO-ның эталондық іске асырылуы

JDO 1.0 : FOStore
JDO 2.0 : JPOX 1.1
JDO 2.1 : JPOX 1.2
JDO 2.2 : DataNucleus AccessPlatform 1.0.1
JDO 3.0 : DataNucleus AccessPlatform 2.1.0
JDO 3.1 : DataNucleus AccessPlatform 3.2.0
JDO 3.2 : DataNucleus AccessPlatform 5.2.0