Концепция: Варианты структуры Web-приложений
В этом документе рассказано о том, как служебные объекты данных (SDO) поддерживают разработку Web-приложений.
Взаимосвязи
Связанные элементы
Основное описание

Введение

SDO - это спецификация модели программирования, обеспечивающая стандартизированный, не зависящий от источника и не требующий подключения доступ к базовым данным. Модель допускает извлечение данных из любого типа источника (реляционная база данных, сущностные объекты EJB, Web-служба, источник данных XML и т.д.) и их стандартизированное представление в виде структурированного графа. SDO обеспечивает выполнение операций при отсутствии подключения за счет извлечения графа данных и его независимости от соединения или транзакций с базовым хранилищем. Данная спецификация предложена к утверждению в JCP как Java Specification Request (JSR) 235.

Архитектура

Архитектура SDO использует стандартизированный уровень доступа к данным (служба посредника данных) для возврата графов данных (DataGraph) клиентам, обращающимся к неоднородным источникам данных. На рисунке 4 показаны компоненты архитектуры SDO.

Объект DataObject архитектуры SDO

Рисунок 4: Объект DataObject архитектуры SDO

В объекте DataObject хранятся фактические данные (например, значения примитивов или строки реляционной базы данных), а также возможные ссылки на другие объекты DataObject. При этом можно определять тип, взаимоотношения и ограничения этих данных.

DataGraph

В объекте DataGraph хранится набор объектов DataObject. Обычно DataGraph представляет собой единицу передачи информации между компонентами архитектуры. В нем хранятся все внесенные в данные изменения, включая новые, измененные и удаленные объекты DataObject.

Служба посредника данных

Служба посредника данных обеспечивает взаимодействие с источником данных и создание объектов DataGraph, представляющих его данные. Стандартный формат представления данных преобразуется в графическое представление SDO с помощью модульной службы. Посредник также обеспечивает применение к источнику данных изменений, внесенных в DataGraph.

Применимость структуры

Технология SDO обеспечивает простую интеграцию структуры и инструментов. В контексте JSF и других структур MVC, следует рассмотреть два решения:

Связывание компонента пользовательского интерфейса с SDO (JSF)

В структуре JSF значения компонентов пользовательского Web-интерфейса можно декларативно связать с объектами SDO для извлечения требуемых данных. Например, можно связать компонент DataTable с SDO, обеспечив тем самым извлечение информации из базового источника данных. Такое сочетание делает подключение компонентов интерфейса к источникам данных очень простым, не требуя абсолютно никакого программирования. На рисунке 5 показана архитектура, показанная в результате связывания компонентов JSF пользовательского интерфейса с SDO.

Использование SDO с JSF

Рисунок 5: Использование SDO с JSF

Моделирование объектов в SDO (любая структура MVC)

Модельный уровень структуры MVC может использовать SDO для обращения к базовым данным. На рисунке 6 приведен пример модели клиента, использующей SDO для доступа к данным, сохраняемым с помощью сущностных объектов EJB. Моделируемый объект использует объекты DataGraph, возвращенные фасадом сеансового EJB без сохранения состояния. Фасад сеансового объекта JavaBean, в свою очередь, извлекает объекты DataGraph из посредника, который служит фасадом данных для сущностного объекта EJB, основанного на механизме хранилища.

Использование SDO с моделируемыми объектами и EJB

Рисунок 6: Использование SDO с моделируемыми объектами и EJB

Ресурсы

По следующим ссылкам приведена дополнительная информация о средах приложений и технологиях компонентов, описанных в данном документе: