пятница, Август 26, 2005

 

Модели данных и XSD: мухи и котлеты в одном флаконе

Вернувшись из отпуска заметил огромное количество интересных дискуссий. Одна из них вызвана рассуждениями о совмещении в XML Schema описаний синтаксиса (способа сериализации данных) и соответствующей модели данных. Многим эта мысль показалась свежей. Примечательно, что больше двух лет назад в UnitSpace BCR был реализован принцип разделения информационной модели (с ориентацией на OWL) и синтаксиса представления информационных объектов (XSD), причем последний может существовать в нескольких вариантах, включая автоматически сгенерированный по имеющимся семантическим описаниям модели.

Очевидно, что в силу вполне объективных причин разные системы одни и те же данные могут сериализовывать по-разному. В SOA это обстоятельство отягощается неспособностью провайдера сервиса с уверенностью предсказать наиболее удобный для потребителя формат данных (интерфейс). Соответственно преобразование данных (как и протоколов и методов авторизации и пр.) является коренной функцией инфраструктуры SOA. Действительно такие функции (в виде подсовываемых администратором XSLT) стали стандартной частью ESB. Но до сих пор я не встречал WS-посредников, которые оперируют именно моделью данных с привязкой к XSD, а не напрямую XSLT, и могут самостоятельно преобразовывать XML из одного формата в другой, не требуя от пользователя вручную прописывать все возможные преобразования. В открытой среде это и вовсе невозможно. Куда более целесообразным было бы привязывать синтаксисы каждого из сервисов к общей семантической модели данных (n взаимно независимых связей, одно обновление при изменении одной из схем), а не к каждому прочему такому же синтаксису (n2 жестких связей, n обновлений при изменении одной схемы).

Комментарии: Отправить комментарий

Ссылки на это сообщение:

Создать ссылку



<< Главная страница

Я использую Blogger, а Вы?