В выпусках «Директора» за январь и февраль этого года были опубликованы две части нашей статьи [1, 2] о функциональных возможностях и общих перспективах платформы XML.

В выпусках «Директора» за январь и февраль этого года были опубликованы две части нашей статьи [1, 2] о функциональных возможностях и общих перспективах платформы XML. В третьей части обсуждаются кратко основные сферы применений этих стандартов

Поддержка слабоструктурированных данных

Главная сфера применения стандартов платформы XML — это представление слабоструктурированных данных Web-сайтов в форме XML-документов. Собственно, для этой цели и создавался язык XML. Применение XML в этой области позволяет не только представлять в среде Web гипермедийные страницы в форме XML-документов, но и поддерживать связанные с ними метаданные. Благодаря этому можно создать такие поисковые машины Web, которые будут обеспечивать в результате обработки пользовательского поискового запроса гораздо более низкий уровень информационного шума по сравнению с нынешними HTML-технологиями.

Заметим, что недавно родившийся термин «слабоструктурированные данные» означает такие данные, которые в отличие от данных в БД не имеют регулярной структуры, определяемой с помощью предписывающей схемы. Схема для слабоструктурированных данных либо вообще не используется, и тогда они являются самоописываемыми (описание данных встроено в сами данные — в рассматриваемом случае с помощью тегов разметки), либо она задана, но не имеет предписывающего характера.

XML-сайты уже существуют в Web, как отмечалось в [2]. Доступ к их информационным ресурсам возможен, в частности, с помощью последних версий широко распространенных браузеров, например, Internet Explorer 5.0.

В последнее время активно разрабатываются инструментальные программные средства и языки для создания баз данных XML (эта тема подробнее обсуждалась в [2]). Наряду с другими вариантами использования такие базы данных могут служить для поддержки совокупностей XML-документов, доступных через Web-сайты. В этих системах баз данных XML отводится роль языка определения данных. Операционные средства модели данных в таких системах определяются языками запросов, специально для них предназначенных. Уже существует ряд таких языков, и предпринимаются попытки создания стандарта языка запросов XML. Один из таких языков, используемый компанией Software AG в ее программном продукте Tamino, уже упоминался в [2]. Недавно совместными усилиями известных экспертов в области XML и реляционных баз данных был создан язык запросов Quilt [3], имеющий хорошие перспективы как претендент на роль стандарта (см. ниже). Большое достоинство Quilt заключается в том, что он удовлетворяет всем требованиям к языку запросов XML, сформулированным соответствующей Рабочей группой консорциума W3C. Эти требования служат критериями оценки претендентов на роль создаваемого стандарта языка запросов XML.

XML и другие технологии

В то время как язык XML пробивает себе дорогу к использованию в среде Web по прямому своему назначению — как выразительное средство для представления информационных ресурсов в этой среде, он вместе с тем энергично вторгается в другие технологии. Развитые выразительные возможности языка, а главное, его поддержка механизмами среды Web позволяют использовать XML в качестве языка-посредника для определения форматов обмена данными между различными системами, которые используют Internet в качестве коммуникационной среды.

Благодаря указанным возможностям XML уже применяется в целом ряде принятых или разрабатываемых стандартов. Приведем несколько примеров.

В стандарте XMI (XML Metadata Interchange) [4] консорциума Object Management Group (OMG) на основе XML определяется формат обмена метаданными между инструментальными средствами объектного анализа и проектирования систем, поддерживающими известный язык UML, а также между такими системами и репозитариями метаданных в распределенных неоднородных средах, которые соответствуют стандарту CORBA.

В стандарте OIM (Open Information Model) версии 1.0 [5, 6] консорциума Meta Data Coalition и в созданном на его основе стандарте OMG CWMI (Common Warehouse Metadata Interchange) [7] определяется базирующийся на XML формат представления метаданных и обмена метаданными для хранилищ данных.

Разработчики стандарта ISO/IEC RDA/SQL (Remote Database Access for SQL) [8], обеспечивающего удаленный доступ приложений к системам SQL баз данных, планируют в последующих версиях стандарта использовать XML для кодирования сообщений, которыми обмениваются клиент и сервер в коммуникационной инфраструктуре, основанной на протоколах TCP/IP.

В разрабатываемом консорциумом Workflow Management Coalition (WfMC) стандарте потоков работ [9] определяются спецификации XML DTD, позволяющие осуществлять обмен сообщениями в среде, основанной на языке XML, между программными средствами потоков работ для поддержки их интероперабельности. Представляемые средствами XML сообщения могут содержать определения бизнес-процессов, а также данные управления процессами. Стандарт позволяет интегрировать программные средства потоков работ, соответствующие спецификациям WfMC, в среды, основанные на XML-технологиях.

Сфера экспансии XML не исчерпывается перечисленными технологиями. Однако даже приведенные примеры показывают, насколько разнообразны приложения этого языка, укрепляя оптимистическое мнение о его перспективах.

XML и интеграция информационных ресурсов

Создание языка XML вызвало к жизни ряд исследовательских проектов и разработок, посвященных решению проблем интеграции неоднородных информационных ресурсов, о чем говорилось в [2]. Начались поставки программных продуктов, обеспечивающих некоторые возможности такого рода. Одно из важных направлений всей этой деятельности связано с созданием единых однородных средств для совместного использования слабоструктурированных данных Web-сайтов и данных, представленных в реляционных БД.

Для достижения этой цели предпринимаются встречные усилия со стороны разработчиков стандарта языка SQL и разработчиков стандартов платформы XML.

Как известно, недавно, в конце 1999 года, был принят новый международный стандарт языка SQL, названный SQL:1999. Он не включает всех тех функциональных возможностей, которые предусматривались в проекте SQL3 (рабочее название этой версии стандарта на стадии ее затянувшейся разработки). Поэтому ведутся работы над новой версией стандарта, условно называемой SQL:200n [10]. Она должна включить недостающие функциональные компоненты проекта SQL3. Предполагается принять SQL:200n в 2003 году.

По всей вероятности, в связи с успешным продвижением платформы XML в практику летом 2000 года в планируемом составе стандарта SQL:200n появился новый ранее не предусматривающийся компонент — SQL/XML [11]. По замыслу разработчиков, он будет определять возможности совместного использования SQL и XML. В частности, будут определяться представление схем и данных SQL в форме XML-документов, представление XML-документов и метаданных XML в терминах SQL, представление операций манипулирования данными SQL (вставка, удаление, обновление) в XML. В SQL/XML будут определены также протоколы передачи данных при совместном использовании SQL и XML. Ориентировочный срок принятия этого компонента стандарта — октябрь 2002 года. Его спецификации составят часть 14 нового стандарта SQL:200n.

Стремление к интеграции с SQL-ресурсами со стороны потребностей XML выразилось, в частности, в разработке упоминавшегося выше языка запросов для XML — Quilt [3]. Цели его авторов заключались в создании компактного реализуемого языка, который бы удовлетворял требованиям Рабочей группы по языку запросов XML. В спецификации Quilt использованы идеи ранее предложенных для рассматриваемой цели языков — XML-QL, XQL, Xpath, YATL, XSQL, а также некоторые элементы SQL и языка объектных запросов OQL стандарта ODMG. Несмотря на такую «лоскутность» выбранного подхода, которая и определила название языка (в русском переводе — буквально «лоскутное одеяло»), авторам удалось обеспечить его концептуальное единство.

Запросы на языке Quilt основываются на структуре XML-документов. В результате их обработки порождаются XML-документы той же или иной структуры. Вместе с тем обеспечиваются возможности для запросов данных из реляционных и объектных баз данных. Язык обладает также рядом других полезных возможностей для работы с источниками данных, отличными от среды XML. Тем самым на уровне языка запросов предоставляются условия для совместного использования данных XML и SQL, объектных данных и данных из других источников.

Интересен состав авторов языка Quilt. Д. Чемберлин — сотрудник исследовательского центра IBM Almaden, один из авторов ранних версий языка SQL, на основе которых был создан международный стандарт реляционного языка запросов. Дж. Роби из компании Software AG — соавтор XQL, известного языка запросов для XML. Наконец,

Д. Флореску — сотрудница французского национального исследовательского центра INRIA, известна своими работами последних лет в области слабоструктурированных данных, а также интеграции данных, является одним из авторов языка XML-QL. Представляется, что Quilt имеет высокие шансы стать основой создаваемого W3C стандарта языка запросов XML.

Замечание о Дублинском ядре

Это замечание имеет лишь косвенное отношение к теме данной статьи. Однако нам хотелось бы воспользоваться возможностью и сделать важное дополнение к тому, что было сказано в [2] о возможностях использования набора элементов метаданных Дублинского ядра (Dublin Core, DC) для описания семантики XML-документов.

После принятия в 1999 году стандарта Дублинского ядра значительное внимание уделялось стандартизации средств, которые позволяли бы уточнять смысл его элементов и их значений в конкретных предметных областях. Для этой цели было решено использовать факультативные атрибуты (квалификаторы) для некоторых элементов DC и их значений. Был согласован также подход к стандартизации семантики и методов таких уточнений. При этом имеется в виду, что если приложение, которое использует описание содержания документов средствами DC, окажется «незнакомым» с тем или иным квалификатором, оно должно его игнорировать без каких-либо фатальных последствий для этого приложения. Вместе с тем приложение может использовать собственные «нестандартные» квалификаторы.

В июле 2000 года Dublin Core Metadata Initiative (DCMI) придал статус рекомендации предложениям рабочих групп по некоторому конкретному составу квалификаторов [12]. Предложенные в этом документе квалификаторы делятся на две категории. К первой относятся квалификаторы, ограничивающие и уточняющие смысл элементов метаданных DC. Например, для элемента Date с помощью квалификатора можно указать одну из следующих альтернатив: время создания ресурса; время его доступности; время, в течение которого он имеет силу; время его издания; время, когда он был модифицирован. Для элемента Coverage можно уточнить, имеется ли в виду область пространства или времени. Квалификаторы второй категории уточняют интерпретацию значения элементов метаданных, указывая схему (способ) его кодирования. Например, для значения элемента Source или Relation можно указать, что оно представлено в формате URI.

Предложенный в [12] состав квалификаторов рассматривается как предварительный. Работа над ним продолжается.

Заключение

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

Об авторе

Михаил Рувимович Когаловский — заведующий лабораторией систем баз данных Института проблем рынка РАН, Ученый секретарь Московской секции ACM SIGMOD. Ему можно написать по адресу: kogalov@cemi.rssi.ru

Литература

1. Когаловский М. Р. XML: возможности и перспективы. Часть 1. Директор информационной службы. Январь 2001, с. 24-28.

2. Когаловский М. Р. XML: возможности и перспективы. Часть 2. Директор информационной службы. Февраль 2001, с. 16-20.

3. Chamberlin D., Robie J., Florescu D. Quilt: An XML Query Language for Heterogeneous Data Sources. Proc. of the WebDB 2000 Intern. Conf. Dallas, May 2000.

4. XML Metadata Interchange (XMI). Version 1.1. OMG Document ad/99-10-02.

5. Open Information Model. XML Encoding. Version 1.0. Review Draft 2. Meta Data Coalition. December 1999.

6. Open Information Model. Proposed XML Document Type Definitions. Meta Data Coalition. http://www.mdcinfo.com/OIM/xmldtds.html.

7. Common Warehouse Metamodel (CWM) Specification. Volume 2. XML, IDL and DTD. Proposal to the OMG ADTF RFP: Common Warehouse Metadata Interchange (CWMI). OMG Document ad/00-01-02. February 11, 2000.

8. ISO/IEC 9579:2000. Information technology — Remote Database Access for SQL (RDA/SQL).

9. Workflow Management Coalition. Workflow Standard — Interoperability. Wf-XML Binding. Document Number WFMC TC-1023. Draft 1.0. 20 April 1999.

10. Айзенберг Э., Мелтон Дж. Стандартизация SQL: следующие шаги. Пер. с англ. - Открытые системы, № 11-12, 1999, с. 80-84.

11. Melton J. Subproject: «XML-Related Specs (SQL/XML)». Project ANSI:1234D-ISO:1.32.3.4. 29 August, 2000.

12. Dublin Core Qualifiers. Dublin Core Meta Data Initiative Recommendation. http://purl.org/dc/documents/rec/dcmes-qualifiers-20000711.htm.