Главная » Java, Web, XML » Объекты данных JDO

0

Задачу связывания данных естественно обобщить — связывать объекты Java не только с документами XML, но и с текстовыми файлами, реляционными или объектными базами данных, другими хранилищами данных.

Фирма Sun Microsystems опубликовала спецификацию JDO и разработала интерфейсы для работы с        Их можно посмотреть по адресу

http://www.jcp.org/jsr/detail/12.jsp или http://accessl.sun.com/jdo/.

Спецификация №0 рассматривает более широкую задачу связывания данных, полученных не только из документа XML, но и из любого источника данных, называемого информационной системой предприятия EIS (Enterprise Information System). Спецификация описывает два набора классов и интерфейсов:

?         JDO SPI (JDO Service Provider Interface) — вспомогательные классы и интерфейсы, которые следует реализовать в сервере приложений для обращения к источнику данных, создания объектов, обеспечения их сохранности, выполнения транзакций, проверки прав доступа к объектам; эти классы и интерфейсы составляют пакет javax. jdo.spi;

?         JDO API (JDO Application Programming Interface) — интерфейсы, предоставляемые пользователю для доступа к объектам, управления транзакциями, создания и удаления объектов; эти интерфейсы собраны в пакет j avax.j do.

Несмотря на то, что спецификация уже опубликована, на время выпуска книги фирма Sun еще не реализовала весь проект. Это сделали другие фирмы.

Фирма Prism Technologies, http://www.prismtechnologies.com/, выпускает продукт OpenFusion JDO.

Фирма SolarMetric, http://www.solarmetric.com/, выпускает свою реализацию спецификации под названием Kodo JDO. Ее можно встроить в серверы приложений WebLogic, WebSphere, JBoss.

Есть и другие разработки, их обзор можно посмотреть на сайте разработчиков JD О http://www.jdocentral.com/.

Некоторые фирмы, не дожидаясь выхода спецификации JDO, разработали свои реализации        более или менее соответствующие спецификации.

Наиболее известна свободно распространяемая разработка фирмы Exolab, названная Castor. Ее можно посмотреть по адресу http://castor.exolab.org/.

С помощью Castor можно предельно упростить связывание данных. Например, создание объекта Java из простого документа     если отвлечься от проверок и обработки исключительных ситуаций, выполняется одним действием:

Person person = (Person) Unmarshaller.unmarshal (

Person.class, new FileReader("person.xml"));

Обратно, сохранение объекта Java в виде документа XML в самом простом случае выглядит так:

Marshaller.marshall(person, new FileWriter("person.xml"));

В более сложных случаях надо написать файл                  аналогичный схеме

XSD, с указаниями по связыванию данных (mapping

Литература:

Хабибуллин И. Ш. Разработка Web-служб средствами Java. — СПб.: БХВ-Петербург, 2003. — 400 с: ил.

По теме:

  • Комментарии