XML - статьи

         

Язык MDDL - "освободитель" данных о рынках


Подготовлено: по материалам зарубежных сайтов
Перевод: Intersoft Lab

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

MDDL был в основном разработан подразделением Financial Information Services Division (Отдел информационных финансовых услуг,

сокр. FISD) организации Software & Information Industry Association (Ассоциация компаний, работающих в области программного обеспечения и информационных технологий, сокр. SIIA). Версия 1.0 этого языка была выпущена в ноябре 2001 г., версия 2. 2 - в апреле 2004 г. и, наконец, последняя, самая свежая версия 2.3 - в августе 2004 г. Сейчас в разработке находится следующая (2.4) спецификация языка.

MDDL - это новая, находящаяся в свободном доступе отраслевая спецификация, которая стандартизирует схемы обмена данными на финансовом рынке. MDDL обеспечивает типовой формат обмена на основе XML для тех элементов, которые описывают различные динамические (меняющиеся/текущие) и статические (исторические) показатели финансовых инструментов и корпоративных событий, влияющие на статус, коммерческую реализуемость и оценку этих инструментов в определенный момент времени. Разнообразные частные показатели, связанные с рынком (в том числе различные экономические и отраслевые индикаторы), также включены в MDDL-спецификации.

Глоссарий MDDL состоит из стандартного семантического набора, который можно получить из общего словаря данных, четко определяющего и описывающего элементы данных о рынках - финансовые инструменты (собственный и заемный капитал), рыночные и корпоративные события и отраслевые показатели в рамках событий контекстных временных рядов (например, изменения цен открытия и закрытия торгов) - а также динамические связи этих элементов друг с другом. MDDL является открытым и легко расширяемым языком, поэтому в него можно вносить дополнения и расширения корпоративных моделей информационного обмена или моделей отдельных поставщиков. Полная версия языка MDDL, обладающая высокой степенью связности и основанная на проверенных моделях XML, включает XML-схему языка MDDL, описание типа (шаблона) XML-документа в формате MDDL (Document Type Definition, сокр. DTD), глоссарий/словарь данных MDDL и образец таблицы стилей для глоссария. MDDL-документ может быть приспособлен для того, чтобы включить широкий спектр данных о рынках и их классификацию. Это помогает компаниям лучше учитывать, анализировать и вести торговлю финансовыми инструментами на мировых рынках.

MDDL сможет учесть все показатели, включенные в первичный массив финансовых данных (индексы Dow Jones, Telekurs, Bloomberg и т.д.), и проверит каждый элемент данных о рынках в соответствии с корректно оформленным, основанном на языке XML форматом обмена, который включает глобальные данные о ценных бумагах, индексах и коллективных механизмах инвестирования. По мере того как поставщики данных будут продвигать и публиковать свои продукты в соответствии с рекомендациями MDDL, бизнесмены смогут тратить меньше времени и ресурсов на интеграцию различных внешних специализированных форматов с внутренними базами данных и приложениями. А это, в свою очередь, приведет к уменьшению количества сбоев при консолидации и преобразовании данных и процессах их очистки в различных средах Хранилищ данных. В рамках общего стандарта, который включает наиболее важную информацию о рынках, необходимую потребителям данных, также упрощаются сложные задачи поддержки и проблемы изменения менеджмента. С разработкой MDDL у компаний появился язык, который устанавливает форматы и определения элементов финансовых данных, что позволяет осуществлять обмен информацией, имеющей отношение к финансовым рынкам, более эффективным и целостным образом. Хранение, получение и поиск информации о рынках с использованием общего признанного формата с нормализованными связями элементов данных существенно улучшает работу финансовых систем организации. Точки интеграции данных из множественных источников, которые служат "входами" в системы стратегических транзакций или поддержки принятия решений, могут быть упорядочены за счет общего понимания и согласованности содержания данных о рынках. MDDL обеспечивает фундамент для создания такой платформы, общей для множества классов активов и временных/календарных измерений.

Запуск глобальных финансовых систем, использующих язык MDDL, созданный на основе XML, в качестве формата для представления данных, дает возможность улучшить автоматизацию и консолидацию всех видов торговых механизмов и процессов. MDDL устанавливает регламентированный финансовый лексикон для независимого от платформ протокола обмена (XML), который легко интегрируется с наиболее распространенными современными средами разработки приложений (J2EE и .NET) и может поддерживать самые востребованные информационные модели: сервис-ориентированную архитектуру (service oriented architecture, сокр. SOA) или типа "публикация и подписка" (publish and subscribe). Корпоративные запросы к Web-сервисам, а также процедуры и запросы ETL (extraction, transformation, loading - технология извлечения, преобразования и загрузки данных), которые передают и ищут финансовую информацию, становятся менее специфичными и гетерогенными. Критически важные системные процессы, которые выполняются в условиях несопоставимых структур ввода и передачи данных, теперь могут преобразовывать данные о рынках в соответствии с одной XML-спецификацией. Работая со стандартизированными данными о рынках, разработчики и системные инженеры могут составлять совместимые с MDDL прикладные программы и программы по извлечению данных, пригодные для многократного использования. Интерфейсы для извлечения и доставки данных о рынках могут использовать общий формат запроса. Улучшаются качество данных и управление ими, что сопровождается существенной экономией средств на всех уровнях корпоративного потока данных. Это улучшение, в свою очередь, ведет к сокращению торговых циклов и созданию возможностей для реализации надежных портальных подходов в области сбора и распространения данных.

Наличие нормализованной семантики MDDL позволяет использовать общепринятую таксономию точных значений понятий и контролируемых словарей. Расширение организационных моделей данных, направленное на использование новых классов финансовых инструментов, может оказаться чрезвычайно сложной и малоуправляемой задачей без эффективного и централизованного управления семантикой и иерархией справочных данных о рынках. Корпорации нанимают специалистов по моделям данных и программам для обработки данных, которые стали "экспертами" во всех соответствующих областях, для того, чтобы они затрачивали огромное количество времени на изменение форматов данных о рынках и исследование автономных блоков справочных данных. Теперь появилась возможность лучше консолидировать и поддерживать (как логически, так и физически) многочисленные и часто избыточные защищенные справочные файлы, число которых быстро увеличивается в каждой корпорации. Это облегчает их федерализацию и объединение во внутренние системы данных. Также эти файлы могут быть легче организованы для передачи внешним потребителям.

MDDL уже занял определенное место в IT-мире и будет укреплять позиции по мере развития своих сильных сторон и расширения сферы применения. Развитие этого языка продолжается (последняя версия имеет номер 2.0), он прочно связан со стандартами, которые облегчают генерирование данных о рынках и их понимание производителями и потребителями. Он находит применение при решении все большего числа бизнес-задач благодаря созданию строгой иерархии производителей и рынков, лучшей классификации действий на уровне отрасли, региона и корпорации, а также оптимизированной характеристике и представлению менее традиционных активов, таких как фьючеры и опционы. Версия MDDL 1.0 определяет свойства обыкновенных акций, открытых паевых инвестиционных фондов и индексов валютных курсов. Версия 2.0 добавляет к этому лексическую информацию, необходимую для характеристики обязательств. Благодаря выдающимся характеристикам MDDL в области эффективного моделирования финансового мира, а также тому, что он основан на всеми признанном языке XML, риск внедрения проектов, основанных на MDDL, сводится к минимуму. MDDL уже является стандартом для представления объектов финансовых рынков, помогая определять, как компании управляют и манипулируют данными этих рынков. Те поставщики данных о рынках, которые раньше других станут использовать основы MDDL в своих продуктах, смогут занимать все больший сегмент этого рынка по мере того, как их клиенты начнут получать значительные прибыли от проектов и инфраструктуры, основанных на языке MDDL.



Пример кода MDDL


Данный пример взят из спецификации языка MDDL и представляет собой информацию гипотетического поставщика данных ypd.net о неком открытом паевом инвестиционном фонде Spanish Mutual Fund MF128, представленном на бирже Барселоны. Этот фонд создан на базе обыкновенных акций компаний French Common Equity XY12 и United States Common Equity PQ39, представленных в разных долях. <mddl version="1.0-final" xmlns="http://www.mddl.org/mddl/2001/1.0-final">

<header> <dataDateTime>2001-11-02T16:20:21Z</dataDateTime> <source>Your Data Provider</source> </header>

<snap> <civDomain> <fundClass> <mutualSubClass> <instrumentIdentifier> <name>Some Mutual Fund</name> <code scheme="http://www.ypd.net/XML/scheme/ydpSymbols.xml"> <mdString>BSE-MF128</mdString> <nameRef>../../name</nameRef> </code> </instrumentIdentifier> <exchangeIdentifier> <code scheme="http://www.ypd.net/XML/scheme/ydpExchanges.xml" >BSE</code> </exchangeIdentifier> <currency> <mdString>ESP</mdString> </currency> <dataDateTime>2001-11-02</dataDateTime> <administrator>Curious George</administrator> <firstDealing>1984-08-09</firstDealing> <nav> <change> <mdDecimal>2.10</mdDecimal> <changeType>previousClose</changeType> </change> <last> <mdDecimal>549.62</mdDecimal> <dataDateTime>15:30:00Z</dataDateTime> </last> </nav> <baseValue>0.0</baseValue> <weighting>1.0</weighting> <underlying> <mdDecimal>273.40</mdDecimal> <instrumentIdentifier> <name>Some French Company</name> <code scheme="http://www.ypd.net/XML/scheme/ydpSymbols.xml"> <mdString>PSE-XY12</mdString> <nameRef>../../name</nameRef> </code> </instrumentIdentifier> <componentValue>27.34</componentValue> <multiplier>10</multiplier> </underlying> <underlying> <mdDecimal>276.22</mdDecimal> <instrumentIdentifier> <name>Some United States Company</name> <code scheme="http://www.ypd.net/XML/scheme/ydpSymbols.xml"> <mdString>NYSE-PQ39</mdString> <nameRef>../../name</nameRef> </code> </instrumentIdentifier> <componentValue>19.73</componentValue> <componentMultiplier>14</componentMultiplier> </underlying> </mutualSubclass> </fundClass> </civDomain> </snap>

</mddl>



Публикации


Уильям Лорэнт (William Laurent). "Язык MDDL - "освободитель" данных о рынках" (MDDL: The Liberator of Market Data).

Сайт MDDL: www.mddl.org.



Миф: спецификация XQuery никогда


Казалось, что этому не будет конца, но на момент написания статьи рабочие группы по XML Query и XSL находятся на завершающей стадии работы над языками XQuery, XPath и XSLT. Помимо этого, уже существует целый набор готовых предложений XQuery.





Миф: XQuery не подходит для работы


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

Масштабируемость и производительность решений XQuery зависят от цели внедрения этого языка. Например, в ряде случаев XQuery используется преимущественно для управления контентом и интеграционных сервисов. Такие решения лучше всего подходят для создания и поддержки Web-сайтов и порталов для ограниченной аудитории. Решения XQuery для функций баз данных на основе XML очень полезны для эффективной обработки больших массивов данных.

Для того, чтобы понять направленность того или иного XQuery-решения, нужно обратиться к его происхождению. Например, в рабочей группе, занимающейся этим языком, четко выделяются два круга специалистов: те, кто пришел к XQuery от работы с XML-документами, и те, кто привык работать с XML-данными. Эксперты, работавшие с документами, в прошлом имели дело с языком SGML, когда существенным моментом был быстрый доступ к сравнительно небольшому количеству XML-данных. Специалисты по базам данных имеют за плечами опыт работы с иерархическими, реляционными и XML-базами и осознают важность возможностей индексирования, расширений для текстового поиска, транзакций и двухфазного завершения, внешних индексов, а также набора средств разработки программного обеспечения и интерфейсов прикладного программирования для разработчиков.



Миф: XQuery поддерживает текстовый поиск по маркерам


Хотя спецификация полнотекстового поиска для XQuery и определяет текстовый поиск по маркерам, рабочая группа по XQuery умышленно оставила некоторые области не до конца разработанными. Например, в XQuery нет стандартного механизма загрузки документа или просмотра списка доступных документов. С точки зрения автора, отсутствие тотальной спецификации обеспечивает плавное развитие XQuery. Существующие реализации XQuery варьируют по своей направленности, а также по средствам управления данными, лежащими в их основе. Такая гибкость делает XQuery таким же удобным механизмом, как и система поиска в базе данных для организации фильтрации. А это усиливает его позиции.



Миф: XQuery труднее использовать


На самом деле, XQuery легче использовать с XML-данными, чем интерфейсы прикладного программирования, осуществляющие разбор XML-документов. JDOM, JAXP и другие интерфейсы предоставляют код на языке Java и методы работы с XML-данными. Многие стандартные подходы объектно-ориентированного программирования предполагают создание объектов, которые будут работать со сложными XML-документами. Создание объектов Java требует времени, усилий и опыта. Любое, даже небольшое изменение базового XML-формата данных требует поддержки этого объекта. Энтузиасты XQuery считают, что XQuery-скрипт быстрее найдет XML-данные, которые должно вывести приложение, чем объект Java, созданный с использованием JDOM. Помимо этого, многие библиотеки XQuery предоставляют Java-интерфейс, так что код на XQuery появляется в классах Java и выдает результат в таком виде, как будто для его получения был вызван метод. А класс Java затем обрабатывает результат.



Миф: XQuery трудно освоить


Разработчики программного обеспечения, пользующиеся языками Java, .NET и другими, не испытывают проблем с освоением XQuery. Напротив, в XML есть множество компонентов, которые никак нельзя назвать элегантными, в том числе те его части, которые сохранились от более раннего SGML-стандарта. XQuery использует краткий набор команд для облегчения работы с XML-данными. Хотя обычный разработчик и может испытывать определенные проблемы в освоении XQuery, это не потребует каких-то чрезвычайных усилий или затрат времени.



Миф: XQuery заменит SQL


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

Как уже было сказано, XQuery имеет такое же значение для XML, как и SQL для реляционных данных. Но иногда XQuery легче использовать, причем даже для работы с реляционными данными. Например, для обычного разработчика гораздо сложнее использовать SQL для создания outer join, которое выводит результаты в новый XML-документ, чем сделать это на языке XQuery.

Популярность XML заставила рабочие группы, занимающиеся стандартами, расширить SQL-спецификацию и включить в нее функции обработки XML.



Миф: XQuery заменит XSLT


За XQuery и XSLT стоят достаточно мощные движущие силы разработчиков, поэтому они будут сосуществовать. На самом деле, последние спецификации, описывающие XQuery 1.0 и XSLT 2.0, разрабатываются в тандеме.

Область пересечения XQuery и XSLT - это те проблемы, для решения которых они созданы: трансформация данных в формате XML, федерализация XML-наборов и расширенные запросы к XML-данным. Разработчикам придется наблюдать и дальнейшие дискуссии о возможностях каждого из этих языков, в которых будет немало мифов и заблуждений. Например, бытует утверждение, что способность XQuery осуществлять запросы к многочисленным несовместимым источникам за один проход дает ему очевидное преимущество над XSLT. На самом деле, процессоры, работающие с XSLT версии 2.0, могут представлять кратные узлы как входную последовательность. В версии XSLT 1.0 есть функция document() для доступа к нескольким источникам за одну операцию трансформации, а версия 2.0 поддерживает функцию

new collection() (новый набор). Также существует мнение, что, хотя синтаксис XQuery выглядит лучше, в нем отсутствует возможность поддержки шаблонов стилей, характерная для XSLT. Возможно, это и так, но, вероятно, в XQuery скоро появится такая функция. В конце концов, разработчики могут ожидать как новых улучшений, так и проблем в обеих технологиях, поэтому их функции и возможности будут оставаться достаточно близкими.

Кроме того, есть еще проблема некоторой "заторможенности" разработчиков. Иногда после посещения презентаций, посвященных XSLT, так и не появляется ощущение реального понимания этого языка. XSLT - это синтаксис для операций трансформации, у которого нет функции main() или метода запуска, в отличие от программ на Java и Jython. Поэтому иногда XSLT-скрипт может выглядеть недетерминированным.



Разоблачение мифов и заблуждений о XQuery


Фрэнк Кохен (Frank Cohen).

Перевод: Intersoft Lab

Перспективная технология облегчает создание сервисов, работающих с XML

Язык XQuery выглядит очень перспективным для архитекторов и разработчиков программного обеспечения, поскольку он позволяет существенно сократить написание программного кода, необходимого для создания сервисов, работающих с XML. Некоторые думают, что XQuery способен на все и хорошо понимаем, но среди разработчиков программного обеспечения все еще существует немало неправильных представлений и заблуждений относительно этого языка. Автор предлагаемой статьи детально рассматривает и объясняет многие мифы и заблуждения, окружающие XQuery.

Те, кто работает с XML, Web-сервисами или сервис-ориентированной архитектурой (СОА), вероятно, смогут получить преимущества от использования вновь появившегося стандарта XQuery. Он еще даже не является формально принятым, но уже широко внедрен в практику, облегчая жизнь архитекторам и разработчикам программного обеспечения. Язык, начинавшийся как стандарт для запросов к XML-документам, сегодня включает стандарты следующего поколения для осуществления выбора фрагментов XML-документа (XPath 2), преобразований XML-документа в поток байтов, полнотекстового поиска и функционального моделирования XML-данных. Вокруг такого значительного проекта неизбежно возникает множество мифов и заблуждений, которые нуждаются в разоблачении. Ниже рассматриваются некоторые из наиболее распространенных мифов, связанных с XQuery.



Ресурсы


Спецификации XQuery, XSLT, и XPath 2.0 на сайте W3C.

Ховард Кац (Howard Katz). Введение в XQuery (Introduction to XQuery).

JSR 225 - интерфейс прикладного программирования XQuery для Java.

Тестовый сайт

XQuery.

Группы, работающие над расширением стандарта SQL для XML-операций:

The SQLX Group;

The INCITS H2 group;

ISO/IEC JTC1/SC32/WG2.

XQEngine - компонент Java с открытым исходным кодом для запросов к XML-документам.

XQuery Normalizer и Static Analyzer (XQNSTA) - интерфейс прикладного программирования и графический интерфейс пользователя на основе Java для нормализации и расчетов выражений XQuery статичного типа.

Сайт автора статьи

PushToTest.com, где можно найти TestMaker - свободный тестовый инструмент с открытым исходным кодом, включающий средства XQuery для разбора ответов Web-сервиса.

Проект IBM

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

Сайт

developerWorks XML zone - дополнительные XML-ресурсы.

Литература по XML на сайте

Developer Bookstore, в т.ч. книга автора статьи "Тестирование и проектирование на Java: от тестов элементов до автоматических Web-тестов" (Java Testing and Design: From Unit Tests to Automated Web Tests).

Информация о том, как стать Сертифицированным разработчиком IBM в области XML и других смежных технологий (IBM Certified Developer in XML and related technologies).

Примечания:

1Серия документов IETF (Internet Engineering Task Force - проблемная группа проектирования Internet), начатая в 1969 году и содержащая описания набора протоколов Internet и связанную с ними информацию (прим. переводчика).



Заблуждение: для того, чтобы работать


XQuery одинаково работает как в процедурных языках для написания скриптов, так и в языках объектно-ориентированного программирования. Если, например, человека устраивает написание PHP-скриптов, то он может продолжать пользоваться ими. Для большинства существующих языков программирования уже есть XQuery-приложения.

XQuery полезен для разработчиков тем, что позволяет существенно сократить размер программы, необходимой для выполнения запросов. Например, разработчик имеет реляционные данные, находящиеся в двух или более базах, и ему требуется выдать отчет, показывающий объединение этих баз. Разработчик, использующий процедурный язык программирования, например, такой, как Python, может написать программу в 100 или более строк для извлечения, разбора и обработки данных. Или же он может написать всего несколько строк на языке XQuery.



Заблуждение: компании, создающие


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

Для архитекторов и разработчиков программного обеспечения XQuery - это увеличение производительности и скорости выполнения операций. Поэтому объяснимо желание поставщиков инструментов (см. раздел ) воспользоваться возможностями этого языка.

С точки зрения разработчиков, XQuery очень похож на SQL, поэтому их часто сравнивают. Помимо этого, все больше данных записываются в формате XML, что вынуждает компании, разрабатывающие базы данных, добавлять в свои продукты возможности кратко- и долгосрочного хранения данных в этом формате, а также средства выполнения -запросов к XML-документам. XQuery оказался столь полезным для разработчиков. что даже такие извечные конкуренты, как IBM и Oracle, отвлеклись на время от своего соперничества, чтобы включить возможности XQuery в основные продукты, связанные с базами данных.

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

Доказательством этой возможности является тот факт, что XQuery сплотил жестких конкурентов - компании IBM и Oracle - для совместной разработки спецификации JSR 225 (см. раздел ) - интерфейса прикладного программирования на языке XQuery для Java (XQJ). А Microsoft и IBM объединились для того, чтобы представить тестовый комплект XQuery в Консорциум всемирной сети (World Wide Web Consortium W3C).



Заблуждение: не являются ли XPath и XQuery фактически одним и тем же языком?


На самом деле, XQuery создан на основе XPath и XSLT. Архитекторы и разработчики программного обеспечения используют XPath как язык запросов для нахождения элементов в XML-документе и преобразовании их в XHTML или другой XML-формат с помощью XSLT. Например, разработчик может использовать XPath для нахождения в XML-файле информации о посещении зубного врача пациентом и XSLT - для преобразования этой информации в HTML-формат, удобный для ее просмотра в браузере. Такая схема хорошо работает, если данные уже находятся в XML-формате, но надо иметь в виду, что XPath и XSLT работают только с XML-файлами.

Язык XPath ориентирован на операции выбора, а язык XSLT - на преобразование данных; при этом обе технологии все еще нуждаются в разработке эффективного способа выбора, объединения и преобразования данных в необходимую форму. XQuery способен удовлетворять потребности в данных того или иного приложения за счет того, что он обеспечивает доступ к многочисленным источникам, выбор информации из них и объединение данных. Это относится не только к данным в XML-формате: источники, с которыми способен работать XQuery, включают формы документов, Web-страницы и другие слабо структурированные данные.



Заблуждение: в XQuery нет механизма обновления


Это действительно правда: в спецификации XQuery нет механизма обновления. Но на момент написания этой статьи рабочая группа по XQuery готовилась к выпуску основной спецификации XQuery, и несколько ее членов собирались заняться спецификацией для обновлений. Автор статьи предсказывает, что в спецификации XQuery будет использован подход, характерный для SQL. Механизмы обновлений скорее всего будут реализованы в виде набора автономных операций, отражающих и поддерживающих уже существующие команды реляционных баз данных. Но некоторые специалисты по внедрению, а также существующие XQuery-решения предлагают более свободный способ осуществления обновлений с помощью XQuery.

Важно отметить, что большинство реализаций XQuery предоставляют собственный механизм осуществления обновлений. Например, одно из популярных решений XQuery включает расширение, в которое входят операции CRUD: Create (создать), Read (читать), Update (обновить), and Delete (уничтожить) - для работы как с данными в формате XML, так и с другими.



Заблуждение: XQuery бесполезен для OLAP и приложений Хранилищ данных


На самом деле XQuery обеспечивает необходимые возможности для связи с OLAP и приложениями Хранилищ данных. Например, обычно корпорация имеет более одного Хранилища для отслеживания и анализа данных о своей деятельности. Эти Хранилища играют роль изолированных структур, и извлечение бизнес-информации из них требует определенных усилий, средств и опыта. Установление связи между ними обычно является трудоемкой и дорогой задачей. XQuery предлагает решение, облегчающее использование средств OLAP за счет установления связи между многочисленными Хранилищами данных на основе запросов. Например, в одном Хранилище содержатся данные о продукции, поставляемой в цепь розничных поставок внутри страны, а в другом - записи о запросах на продукцию, предлагаемую в розничных поставках. XQuery связывает эти Хранилища, показывая, запросы на какую продукцию удовлетворяются хуже всего. Этот пример иллюстрирует преимущества XQuery в логических операциях в Хранилищах данных, аналитике, ETL-операциях и интеграции корпоративных приложений.



Заблуждение: XQuery - это не продукт, а слой в стеке


Во всех случаях, когда требуется осуществить управление данными в формате XML или какие-либо манипуляции с ними, XQuery является подходящей спецификацией для функций, которые могут обеспечить библиотека, прикладная программа или сервисный стек. Но механизм, лежащий в основе хранения, извлечения и индексирования XML-данных, вносит существенные отличия в функции, выполнение и масштабируемость XQuery-приложений. Например, первые попытки хранения XML-данных в полях varchar2 реляционной базы данных сопровождались низкой производительностью выполнения запросов в тех случаях, когда инструменты XQuery просто помещались сверху. Это привело к разработке специализированных решений XQuery для целого ряда разнообразных задач. Данные задачи включают управление контентом, обеспечение сохранности данных, работу Web-сервисов и сервис-ориентированной архитектуры, создание Хранилищ данных, оперативную аналитическую обработку (OLAP), процедуры извлечения, преобразования и загрузки (ETL), интеграцию корпоративных приложений (EAI), а также управление питанием.



Заблуждение: XQuery не играет роли в преобразовании данных


На самом деле XQuery играет все более существенную роль в преобразованиях данных по мере того, как возникают новые схемы и эволюционируют старые. Для компаний, которым необходимо создать приложение для цепи поставок, преобразование несовместимых форматов сообщений является самой дорогостоящей процедурой. Например, покупатель проводит стандартизацию на основе определенного стандарта (например, RosettaNet), но не располагает оригинальной внутрифирменной схемой. В таком случае поставщик вынужден совмещать свое приложение для цепи поставок со стандартом покупателя, но хочет избежать затрат и риска, связанных с перестройкой своей системы на чужой стандарт. XQuery - это решение, которое позволит бизнесу перейти на новый стандарт без приостановки текущих операций продаж.

XQuery позволяет преобразовать ("мэппировать") существующую схему в другой формат без необходимости создавать большую библиотеку нового кода. Вместо этого пишется XQuery-программа, позволяющая преобразовать ответные данные в новый формат.



Заблуждение: XQuery не имеет значения


Архитекторы и разработчики программного обеспечения обращаются к XQuery для решения проблем, связанных с производительностью и сложностью, поскольку системы, которые они создают, содержат большое количество данных в XML-формате. Ниже, в качестве примера, перечислено несколько сценариев и XQuery-решений:

первичный анализ показывает, что XQuery играет важную роль в тех случаях, когда резко возрастают полезная нагрузка и сложность XML-схемы в сервисах на основе ebXML и UBL;

XQuery существенно улучшает решения UDDI, поскольку он лучше управляет ресурсами, перечисленными в UDDI-реестре;

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

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



XQuery является очень перспективным средством,


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

История создания и краткая информация об организационной структуре


Organization for Structured Information Standards (OASIS, Организация по стандартизации структурированной информации) - международный, некоммерческий консорциум, объединяющий в своих рядах более 600 корпоративных и индивидуальных членов из различных стран мира. Вместе с ООН OASIS финансирует проект ebXML, спецификацию обмена данными электронного бизнеса. Кроме того, консорциум осуществляет управление XML.org, центром анализа и синтеза XML-схем, а также поддерживает Cover Pages, интерактивную коллекцию совместимых стандартов языков разметки.

Корни организации уходят в 1993 год, когда был основан консорциум SGML Open, цель которого состояла в разработке принципов согласованности продуктов, поддерживающих язык SGML. Чтобы соответствовать изменившимся реалиям: росту объема технических разработок, включая работу над языком XML и другими связанными стандартами, в 1998 году консорциум сменил название на нынешнее.

Общее руководство консорциумом осуществляет Совет директоров (Board of Directors), избираемый членами OASIS. Совет директоров состоит из восьми директоров, срок полномочий которых составляет два года.

Как и в международном консорциуме W3C, большая часть работы по созданию стандартов ведется в Технических комитетах (Technical Committee, TC). В состав комитетов может войти любое лицо, являющееся либо индивидуальным членом OASIS, либо служащим компании-члена OASIS, либо членом другой организации, которая располагает правами объединенного членства, или другим физическим лицом, в случае принятия Советом директоров соответствующего решения. Кроме того, в работе над спецификациями могут принимать участие лица, не являющиеся членами OASIS - несмотря на то, что они не располагают правом голоса, они могут выражать свое мнению по рассматриваемому вопросу, направляя отзывы в комитет (comment list).



Международная организация OASIS: сообщество рабочих групп


Дата: 09-04-2003
Подготовлено: по материалам организации
Перевод: Intersoft Lab



От спецификации технических комитетов до открытого стандарта OASIS


Первым шагом на пути становления стандарта является формирование списка обсуждения (discussion list), цель которого - обоснование необходимости создания технического комитета и обсуждение его задач, устава и т. п. Для этого не менее трех членов консорциума должны направить в Правление технических комитетов OASIS (OASIS TC Administration) соответствующую просьбу, указав потенциальные задачи будущего комитета, название списка обсуждения, имена лиц, участвующих в его формировании, контактную информацию, а также имя руководителя этого проекта.

Не позднее 15 дней после направления указанной просьбы Правление технических комитетов OASIS обязано обнародовать эти материалы, призвав членов организации к участию в обсуждении. Упомянутый выше список обсуждения представляет собой реестр электронных адресов, который может находится на сайте OASIS не более трех месяцев.

Следующий шаг - обращение в Правление технических комитетов OASIS с предложением об образования Технического комитета. Такая заявка должна включать следующую информацию:

Название Технического комитета. Декларация его задач. Перечень выходных документов комитета и планируемые сроки завершения работ. Язык проекта (работа в комитете может осуществляться на любом языке, однако, итоговый отчет о деятельности, представляемый членам OASIS на утверждение, должен быть написан на английском языке). Дата, время и место первого заседания комитета. Дата первого совещания должна быть назначена не ранее чем через 30 дней после объявления о создании комитета в случае, если планируется проведение телекоференции, и не ранее чем через 45 дней, если это очная встреча. Предполагаемый график заседаний на первый год. Имена и электронные адреса членов Технического комитета (не менее трех человек). Имя председателя комитета. Имена возможных устроителей совещаний.

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

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

Согласно Регламенту технических комитетов OASIS (OASIS Technical Committee Process) консорциум принимает и публикует два типа технических материалов: Спецификации комитетов (Committee Specification) и Стандарт OASIS (OASIS Standard).



Спецификация комитета


Спецификация комитета - это окончательная и утвержденная членами комитета версия документа. Наличие этого статуса является достаточным условием для того, чтобы организации и компании могли начать использовать данную спецификацию, хотя переход спецификации на следующий уровень - Стандарт OASIS - придает ей дополнительный "вес". Необходимо иметь в виду, что Технический комитет вправе не выдвигать свою спецификацию на получение статуса Стандарта.

Для того, чтобы разработанная Техническим комитетом спецификация была признана Стандартом, необходимо не менее двух третий голосов членов этого комитета. При этом, против должно высказаться не более четверти его членов.

Как и в случае других решений, принимаемых комитетом, данное "постановление" должно быть занесено в протокол и опубликовано на Web-странице и в списке рассылки. Кроме того, председатель комитета должен поставить об этом в известность Управляющего техническими комитетами (TC Administrator), чтобы спецификация появилась на Web-странице, на которой перечислены Спецификации комитетов.