Обзор новых функциональных возможностей инструментальных средств DB2 .NET XML в DB2 Version 9.5

Аджай Аггрвал

Предварительные требования

В данной статье предполагается, что вы работаете с DB2 для Linux, UNIX и Windows V9.5. Также вам понадобится программа IBM Database Add-Ins for Visual Studio 2005 V9.5.

Чтобы ближе познакомиться с общими функциональными возможностями IBM Database Add-ins for Visual Studio прочтите статью "Обзор IBM Database Add-ins for Visual Studio 2005" и серию учебных руководств "Разработка экспериментальных .NET-приложений".

XML-поддержка

Версия DB2 V9.1 представила новые функциональные возможности для управления, хранения и запроса XML-данных. К некоторым из новых возможностей относятся:

  • Тип данных XML, позволяющий DB2 сохранять XML-документы в их родном иерархическом формате.
  • Поддержка языка XML-запросов, основанного на промышленных стандартах, включая новые XML-расширения для SQL (называемые также SQL/XML).
  • Поддержка проверки корректности XML-данных, основанной на предоставляемых пользователями схемах и позволяющей разработчикам приложений и администраторам баз данных налагать ограничения, гарантирующие целостность XML-данных, хранящихся в DB2.

В новой версии IBM Database Add-ins V9.5 улучшены функциональные возможности для работы с XML. Добавлена поддержка Web-сервисов для аннотированных XML Schema, XML Schema Repository (XSR) Compare и поддержка XSLT. Эти улучшения повысят удобство использования набора XML-возможностей, повышая, таким образом, продуктивность разработчиков.

Поддержка Web-сервисов для создания аннотированных XML-схем

В новой версии были добавлены возможности для использования Web-сервисов как источника XML-схемы. XML-схема может быть получена из WSDL-результата Web-сервиса. Теперь новая версия имеет дополнительную возможность определения Web-сервиса как входных данных для источника XML-схемы (см. рисунок 2). В предыдущей версии в качестве входных данных можно было использовать только зарегистрированную XML-схему или документ из файла. Для использования Web-сервиса в качестве источника XML-схемы выполните следующие действия:

В Server Explorer щелкните правой кнопкой мыши на XML Schema Repository и выберите Add Annotated XML Schema, как показано на рисунке 1.

Рисунок 1. Добавление аннотированной XML-схемы
Рисунок 1. Добавление аннотированной XML-схемы

Отобразится диалоговое окно с тремя вариантами, показанными на рисунке 2. Выберите вариант Use document from a web service для создания новой аннотированной XML-схемы.

Рисунок 2. Выбор источника XML-схемы
Рисунок 2. Выбор источника XML-схемы

Введите Web-сервис и нажмите кнопку Validate wsdl для проверки корректности Web-сервиса. После этого можно выбрать корневой узел для создания аннотированной XML-схемы, как показано на рисунке 3.

Рисунок 3. Выбор корневого элемента
Рисунок 3. Выбор корневого элемента

Добавьте целевую таблицу, щелкнув правой кнопкой мыши в диалоговом окне. Выберите Add Target Table, после чего отобразится диалоговое окно со списком таблиц.

Рисунок 4. Добавление целевой таблицы
Рисунок 4. Добавление целевой таблицы

Выберите таблицу, а затем отобразите столбцы из Source XML Schema на целевую таблицу в редакторе отображений (Mapping Editor). На рисунке 5 показаны отображаемые столбцы.

Рисунок 5. Отображение столбцов
Рисунок 5. Отображение столбцов

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

Рисунок 6. Тестирование дизайна
Рисунок 6. Тестирование дизайна

Можно просмотреть сгенерированный исходный код, используя меню View Source. Для просмотра код выберите Text Editor или XML Designer, как показано ниже:

Рисунок 7. Просмотр исходного кода
Рисунок 7. Просмотр исходного кода

На рисунке 8 показан сгенерированный код.

Рисунок 8. Сгенерированный код
Рисунок 8. Сгенерированный код

Можно определить исходный XML-файл или использовать редактор для определения XML в диалоговом окне Test Form. Можно определить Web-сервис для проверки созданной аннотированной XML-схемы.

Диалоговое окно Test Form отображает результат операции тестирования (см. рисунок 9).

Рисунок 9. Диалоговое окно Test form
Рисунок 9. Диалоговое окно Test form

После проверки корректности дизайна выберите Save в Visual Studio для сохранения его в базе данных.

После нажатия кнопки Save появится диалоговое окно Register annotated XML schema, в котором можно определить для XSR имя, владельца, комментарии, расположение схемы и параметры декомпозиции. Это диалоговое окно показано на рисунке 10.

Рисунок 10. Регистрация аннотированной XML-схемы
Рисунок 10. Регистрация аннотированной XML-схемы

После успешного завершения операции сохранения зарегистрированная XML-схема отображается в узле XML Schema Repository в Server Explorer.

Для созданной аннотированной XML-схемы доступны различные пункты меню. Они показаны на рисунке 11.

Рисунок 11. Определение аннотированной XML-схемы из Server Explorer
Рисунок 11. Определение аннотированной XML-схемы из Server Explorer

Как говорилось выше, при выборе "Open definition" вы увидите экран, аналогичный показанному на рисунке 12. На рисунке 12 изображено определение выбранной аннотированной схемы. Отображается имя файла XML-схемы, имя XSR, владелец, параметры декомпозиции и все зависимости:

Рисунок 12. Просмотр определения аннотированной XML-схемы
Рисунок 12. Просмотр определения аннотированной XML-схемы

Сравнение репозиториев XML-схемы

Отслеживание изменений или обновлений XML-схемы может быть проблематичным и очень затратным по времени. Для облегчения этой задачи в версию V9.5 была добавлена возможность сравнения XML-схем. Пользователи могут выбрать XML-схему, а затем во всплывающем меню выбрать Compare XML Schemas. Это действие сравнивает схемы и уведомляет пользователей обо всех различиях, обнаруженных в них.

Рисунок 13. Сравнение XML-схем
Рисунок 13. Сравнение XML-схем

Сравниваемые схемы можно выбрать в диалоговом окне XSR Object Compare, как показано на рисунке 14. Пользователь может определить оригинальный XSR-объект и выбрать его зависимости, а также другой XSR-объект и его зависимости для сравнения. После выбора XSR-объектов для сравнения нажмите кнопку Compare.

Рисунок 14. Выбор XSR-объектов для сравнения
Рисунок 14. Выбор XSR-объектов для сравнения

Если каждый XSR-объект содержит зависимости, заполняется раздел dependencies. Пользователи могут выбрать только один документ за один раз. Например, пользователь может выбрать либо мастер-документ, либо один из зависимых документов для сравнения. Ниспадающий список XSR Object Compare содержит все зарегистрированные схемы. Пользователь может выбрать требуемую схему, используя этот ниспадающий список.

В диалоговом окне XML Schema Repository Object Compare выбор Diff option предоставляет пользователям возможность изменять параметры сравнения. Например, если пользователь выбирает вариант "Ignore comments", комментарии не сравниваются в обоих документах XML-схемы.

Рисунок 15. Параметры XSR Object Compare
Рисунок 15. Параметры XSR Object Compare

Различие между двумя схемами сохраняется в файле и отображается с использованием цветового выделения. Различия помечаются как: added (добавленные), removed (удаленные), changed (измененные), moved from/to (перемещенные из/в) и ignored (игнорируемые).

Рисунок 16. Результат XSR-сравнения
Рисунок 16. Результат XSR-сравнения

Если два сравниваемых XSR-объекта полностью одинаковы, отображается сообщение "Files identical for the given options" (Файлы идентичны при указанных параметрах сравнения).

Генерирование Web-сервиса для аннотированной XML-схемы

DB2 V9.1 предоставляет пользователям возможность создать и зарегистрировать аннотированные XML-схемы для расщепления (shredding) XML-документа и проверки корректности входных документов по данным схемам до вставки. Эти улучшения, как часть программы IBM Database Add-ins for Visual Studio 2005 V9.5, предоставляют легкий способ создания и регистрации аннотированной XML-схемы, используя простой дизайнер отображений. При его использовании создается также Web-сервис для аннотированной XML-схемы. После регистрации аннотированной XML-схемы в DB2 XSR ее можно использовать для расщепления и проверки корректности XML-документов.

Чтобы сгенерировать Web-сервис для аннотированной XML-схемы, необходимо выбрать Generate Web Method в Server Explorer. Должен открыться проект ASP.Net Web service для добавления кода. Сгенерированный код является таким же кодом, который используется (MS XSD validation APIs) в XML-дизайнере для проверки корректности XML-документов. После генерирования кода проверки корректности Client XML-схемы генерируется класс, позволяющий пользователям передать свой документ для проверки. На рисунке 17 показан этот шаг.

Рисунок 17. Меню Generate Web Method
Рисунок 17. Меню Generate Web Method

Сгенерированный код отображается в редакторе, как показано на рисунке 18.

Рисунок 18. Сгенерированные web-методы
Рисунок 18. Сгенерированные web-методы

После генерирования кода его можно протестировать, нажав клавишу F5 (Start debugging option). Отобразится окно браузера с описанием сервиса (Service Description) и методом Shred. На рисунке 19 показано это окно.

Рисунок 19. Тестирование сгенерированного кода
Рисунок 19. Тестирование сгенерированного кода

Улучшение XSLT-поддержки

Выбор Generate XML Helper Code создает проект в Solution Explorer с кодом примера. Эта новая функциональная возможность предоставляет пользователям код примера, который можно использовать для начала кодирования. Это действие можно активизировать из узла XML Schema Repository в Server Explorer. Просто выберите XML Schema Repository, а затем выберите Generate XML Helper Code, как показано на рисунке 20.

Рисунок 20. Меню Generate sample code
Рисунок 20. Меню Generate sample code

На рисунке 21 показан код примера, который может быть результатом активизации этого действия.

Рисунок 21. Сгенерированный код примера
Рисунок 21. Сгенерированный код примера

Сгенерированный код добавляется как часть нового проекта db2XmlHelperSample. Файл XMLUtil.cs содержит код примера для XSL-преобразования и проверки корректности. Он предоставляет исходную точку для кодирования пользователям, которые могут создать на его основе свои собственные приложения. При выполнении этот код примера отображает диалоговое окно, демонстрирующее пример преобразования и проверки корректности XML.

Рисунок 22. Диалоговое окно сгенерированного примера
Рисунок 22. Диалоговое окно сгенерированного примера

Нажатие кнопки Validate Sample вызовет диалоговое окно проверки корректности и пример XML-сниппета. Нажатие кнопки Transform Sample приведет к выводу отформатированного отчета примера. Надеемся, что этот пример продемонстрирует, насколько легко создать исходный код и использовать его в приложении.

Резюме

Новый набор улучшений функциональности XML как часть версии IBM Database Add-ins V9.5 демонстрирует новейшие возможности DB2 для pureXML, а также облегчает и ускоряет создание приложений. Эти мощные функциональные возможности улучшат работу пользователей. Новые ориентированные на Web-сервисы возможности обеспечивают базовые строительные блоки для создания приложений, используя богатую XML-функциональность DB2.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=18269