IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Information Management | XML  >

Как создать приложение DB2 pureXML за один день

Осваиваем итеративную разработку

developerWorks
Опции документа

Опции документа, требующие включения JavaScript, не отображаются

Обсудить

Исходные тексты примера


Выскажите мнение об этой странице

Помогите нам улучшить содержание


Уровень сложности: средний

Сюзан Малайка, старший инженер, IBM
Кристиан Пичлер, младший научный сотрудник, IBM

12.10.2009

В настоящей статье описывается, как за один день построить полноценное приложение IBM® DB2®, полностью построенное на XML. Последнее означает, что XML применяется для хранения, просмотра и организации информации. Такое приложение можно демонстрировать коллегам и заказчикам для сбора отзывов по архитектуре, инфраструктуре и пользовательскому интерфейсу. Умение быстро разрабатывать, дополнять и модифицировать приложения короткими итерациями помогает внедрить оперативный стиль разработки.

Введение

XML — это самый популярный способ обмена данными в структурированной и самоописательной форме. Стандарт XML, разработанный консорциумом W3C, содержит спецификации, широко принятые в организациях частного сектора и государственного управления, в научных учреждениях и других отраслях. Так как непосредственный предшественник XML, SGML, используется с 1980-х годов, накоплено множество инструментов и более чем 20-летний опыт работы с XML.

Стандарты XML применяются в разных отраслях для определения специализированных форматов стандартизованного обмена информацией. Более того, XML – популярная нотация для отображения и организации данных, например, посредством форм XForms или Lotus Forms. XML и гибридные системы баз данных, такие как DB2 pureXML™, обеспечивают естественное хранение документов XML. Последнее означает, что документы хранятся как есть, без необходимости разделять информацию, закодированную в элементах и атрибутах XML, для последующего сохранения в реляционных таблицах (так называемое «шинкование» [shredding]).

Возможность использовать XML и отраслевые форматы на основе XML позволяет создавать приложения со сквозной XML-архитектурой. Одно из важных преимуществ сквозных XML-приложений состоит в том, что один и тот же отраслевой XML-формат или специальная нотация может использоваться для хранения (см. уровень «Данные» на рисунке 1), обмена (уровень «Обмен информацией»), для просмотра и для изменения (уровень «Взаимодействие с пользователем») XML.


Рисунок 1. Сквозная XML-архитектура
Сквозная архитектура XML

Обзор

Цель настоящей статьи — проиллюстрировать, как, воспользовавшись сквозной XML-архитектурой, можно быстро создать функционирующее приложение для работы со специальным отраслевым форматом обмена информацией. За основу взят формат обмена IRS e-File 1120, определенный Казначейством США для налоговых отчетов (см. Ресурсы). Процесс создания сквозного XML-приложения состоит из следующих шагов:

  • Создание базы данных DB2 pureXML, которая позволяет естественным образом хранить документы XML IRS e-File 1120
  • Отображение базы данных с применением Universal Services для доступа к базе данных через Web-сервисы
  • Создание пользовательского интерфейса с применением XML Forms Generator (XFG) для просмотра и организации документов IRS e-File 1120 XML

Наконец, предлагаются идеи по расширению приложений со сквозной XML-архитектурой технологией для расширения их функциональности. Прежде чем продолжить чтение статьи, убедитесь, что у вас установлено и правильно сконфигурировано программное обеспечение, перечисленное в разделе «Требования».

Требования

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

Внимание!
Планируется обновление генератора форм XML. Настоятельно рекомендуем дождаться нового (2009) года, когда выйдет это обновление, прежде чем пробовать генератор форм XML.
  • IBM DB2 Express-C (бесплатно): Гибридная система базы данных с применением технологии pureXML для естественного хранения данных XML. За более подробными сведениями обращайтесь к разделу Ресурсы настоящей статьи.
  • IBM Data Studio (ознакомительная версия): Среда разработки с множеством функций, таких как отображение операций базы данных в виде Web-сервисов. Среда IBM Data Studio также необходима для исполнения XFG. За более подробными сведениями обращайтесь к разделу Ресурсы настоящей статьи.
  • XML Forms Generator (бесплатный): Модуль на базе Eclipse, позволяющий генерировать формы XForms экземпляра XML-документа и файла Web service Description Language (WSDL). Чтобы полностью использовать возможности модуля с IBM DB2 pureXML, его нужно установить внутри IBM Data Studio. За более подробными сведениями обращайтесь к разделу Ресурсы настоящей статьи.


В начало


Создание базы данных (отраслевой комплект DB2 pureXML) для хранения XML

Отраслевые комплекты DB2 pureXML содержат образцы XML-документов для разных отраслей, ссылки на соответствующие XML-схемы и примеры кода, помогающие администраторам базы данных, разработчикам ПО и архитекторам предприятий задействовать функции DB2 9.x pureXML. Отраслевой комплект, как правило, создается для определенной отрасли, например, отраслевой комплект для форматов Financial products Markup Language (FpML) или IRS e-File 1120.

Отраслевой комплект для формата IRS e-File 1120, используемый в настоящей статье для создания базы данных и ее заполнения образцами XML-документов, составляет первый уровень сквозной XML-архитектуры (см. рисунок 2).


Рисунок 2. Первый уровень обеспечивает возможность естественного хранения XML-документов
Первый уровень обеспечивает возможность естественного хранения XML

Чтобы установить и заполнить базу данных DB2 pureXML, обратитесь к разделу Установка эталонной базы данных документа "Универсальные сервисы для pureXML с применением Data Web Services" (developerWorks, май 2008 г.) (EN). Более широкий обзор отраслевых комплектов приведен в статье "Начало работы с отраслевыми форматами и сервисами с применением pureXML" (alphaWorks, декабрь 2006 г.) (EN) (см. раздел Ресурсы).

Заполненная база данных служит фундаментом для перехода на следующий уровень разработки: отображения базы данных посредством Web-сервисов.



В начало


Создание Web-сервисов для обмена XML-информацией (универсальные сервисы)

Универсальные сервисы, основанные на механизме Data Web Services, - это фиксированный набор операций с базой данных, таких как insert, update, delete и query, обеспечивающих доступ к базе данных посредством простых запросов REST или SOAP, как показано на рисунке 3.

Установка Universal Services осуществляется при помощи конфигурирования и исполнения сценария из командной строки. При исполнении этого сценария создается файл Web-архива (WAR), который можно установить на сервер приложений, например, WebSphere® Application Server или Apache Tomcat.


Рисунок 3. Второй уровень открывает доступ к базе данных посредством операций Web-сервисов
Второй уровень демонстрирует базу данных посредством операций Web-сервисов

Процесс конфигурирования и установки Universal Services подробно не иллюстрируется, так как он уже описан в другой, сопутствующей статье. См. раздел Установка Universal Services статьи "Universal Services для pureXML с применением Data Web Services" (EN). За более подробными сведениями о Data Web Services обращайтесь к разделу Ресурсы.

Теперь можно приступить к разработке пользовательского интерфейса (User Interface-UI) для доступа к базе данных посредством простых Web-запросов, как показано в следующем разделе.



В начало


Создание форм (XFG) для просмотра и изменения XML-документов

В следующем разделе описан процесс создания форм XForms для просмотра и изменения данных, хранящихся в базе данных, что составляет третий уровень «взаимодействия с пользователем», иллюстрируемый на рисунке 4.


Рисунок 4. Третий уровень − просмотр и изменение информации
Третий уровень − просмотр и организации информации

Формы XForms создаются с применением подключаемого модуля XFG, который устанавливается вместе с IBM Data Studio. Поэтому после краткого введения в модуль XFG следует иллюстрация, демонстрирующая, как создавать формы XForms с применением этого модуля.

Обзор XFG

В следующем разделе приводится обзор функциональных возможностей модуля XFG. Однако это описание содержит только те сведения, которые относятся к настоящей статье. За более детальным обзором всех возможностей XFG обращайтесь к серии статей «Взаимодействие между генератором форм XML и Data Studio» (EN), ссылки на которую приведены в разделе Ресурсы.

Чтобы сгенерировать полнофункциональные формы XForms, модуль XFG использует ряд объектов: файл WSDL используемого Web-сервиса, образец XML-документа и, возможно, соответствующую XML-документу XML-схему.


Рисунок 5. Объекты, используемые модулем XFG в процессе работы
Объекты, используемые модулем XFG в процессе работы

Сначала модуль XFG анализирует файл WSDL, описывающий все операции Web-сервиса, доступные через данный Web-сервис (см. рисунок 5, номер 1). Когда пользователь выбирает одну из доступных операций, модуль XFG анализирует различные входные параметры этой операции, так как для каждого входного параметра в форме должно быть сгенерировано соответствующее поле ввода. Это легко сделать для таких типов данных, как целые числа или символы, но сложнее для ввода параметров типа XML. Генерация полей ввода для типа данных XML основывается на образце XML-документа (см. рисунок 5, номер 2), либо на соответствующей XML-схеме (см. рисунок 5, номер 3) используемого XML-документа. Для этого модуль автоматически извлекает из базы данных набор образцов XML-документов (см. рисунок 5, номер 2). Из извлеченных образцов XML-документов пользователь может выбрать тот, который будет служить основой для генерации форм XForms. Если соответствующая XML-схема, на которую ссылается XML-документ, присутствует в XML Schema Repository (XSR) базы данных DB2, пользователь может выбрать использование информации XML-схемы для генерации XForms.

Если судить по приведенному выше описанию, процесс может показаться сложным, но на самом деле он довольно прямолинеен, как показано ниже. Прежде чем приступить, убедитесь, что рабочая область содержит все объекты, необходимые модулю XFG. Они также описаны в следующем разделе.

Создание и подготовка рабочей области в Data Studio

Как уже говорилось, один из объектов, необходимых модулю XFG для генерации XForms, это файл WSDL с описанием используемого Web-сервиса. В частности, это означает, что рабочая область должна содержать модуль WSDL с описанием Universal Services. Для этого Universal Services обычно импортируют в новую или существующую рабочую область. Так как сервисы Universal Services заранее сконфигурированы для определенного образца базы данных, необходимо также настроить их для согласования с деталями базы данных, используемыми в сценарии, описанном в настоящей статье. Прежде чем продолжить чтение инструкций, обратите внимание на то, что можно либо импортировать и отредактировать проект, как описано ниже, либо импортировать заранее сконфигурированный проект без необходимости вносить какие-либо поправки. Рекомендуется последний вариант.

Вариант 1: Импортирование оригинального проекта подготовки данных Universal Services

Чтобы импортировать и настроить оригинальный проект подготовки данных Universal Services, следуйте инструкциям, приведенным в разделе Редактирование Universal Services статьи "Universal Services для pureXML с применением Data Web Services" (developerWorks, май 2008 г.) (EN).

Вариант 2 (рекомендуется): Импортирование готового проекта подготовки данных Universal Services

Чтобы использовать готовый проект подготовки данных с использованием правильных параметров подключения к базе данных, имен таблиц и имени схемы базы данных, сначала найдите архивный файл universal_services_data_studio_project_irs1120.zip, указанный в разделе Загрузки настоящей статьи. Чтобы импортировать архивный файл, следуйте инструкциям, приведенным в разделе Импортирование проекта подготовки данных Universal Services статьи "Universal Services для pureXML с применением Data Web Services" (EN). Отметим, что после импортирования архивного файла никаких дополнительных настроек не требуется.

Применение XFG

В этом разделе показано, как сгенерировать XML-формы для формата сообщений IRS e-File 1120 с применением XFG. Для генерации форм XForms нужно запустить Data Studio с рабочей областью, содержащей импортированный на первом шаге проект подготовки данных Universal Services. Пользователь XFG в Data Studio проходит процесс генерации XForms в сопровождении «мастера». Все шаги этого процесса подробно описаны ниже.

Шаг 1: Чтобы запустить «мастера», который будет сопровождать вас в процессе создания XForms, найдите файл WSDL с описанием Universal Services в инструменте data project explorer пакета Data Studio и нажмите на этот файл правой кнопкой. Появится подменю. Выберите в нем Generate XHTML/XForm, чтобы запустить мастер, как показано на рисунке 6.


Рисунок 6. Запуск мастера
Запуск мастера

Шаг 2: Как упоминалось выше, модуль XFG использует для создания XForms образец XML-документа и файл WSDL. Чтобы извлекать XML-документы из базы данных, модулю XFG для доступа к базе данных нужны учетные данные пользователя. Поэтому нужно ввести действительные имя пользователя и пароль, как показано на рисунке 7. Более того, чтобы модуль XFG действительно извлекал образцы из базы данных, нужно отметить поле "Retrieve PureXML instance from Database". Для продолжения нажмите Next.


Рисунок 7. Ввод информации для доступа к базе данных
Ввод информации для доступа к базе данных

Шаг 3: Когда XFG проанализирует файл WSDL и распознает все доступные операции, мастер позволит выбрать одну из них. Так как для вставки новой информации в базу данных используются формы XForms, выбрана операция "insertXML()" (рисунок 8). Для продолжения нажмите Next.


Рисунок 8. Выбор операции Web-сервиса
Выбор операции Web-сервиса

Шаг 4: Так как операция, выбранная на предыдущем шаге, содержит один входной параметр типа XML, мастер позволяет выбрать образец XML-документа, используемый в качестве основы для создания нужных полей ввода и элементов управления. Извлечение образца XML-документа запускается кнопкой, расположенной в колонке "Reference Instance" (Рисунок 9).


Рисунок 9. Запуск извлечения XML-документа
Запуск извлечения XML-документа

Открывается отдельное окно, демонстрирующее извлеченные из базы данных XML-документы. Нужно выбрать один из образцов XML-документов (рисунок 10). Для продолжения нажмите OK.


Рисунок 10. Выбор образца XML-документа
Выбор образца XML-документа

Теперь в качестве основы для генерации входных полей и элементов управления в формах XForms будет использоваться выбранный на предыдущем шаге образец XML-документа (рисунок 11). Для продолжения нажмите Next.


Рисунок 11. Выбор эталонного образца XML-документа
Выбор эталонного образца XML-документа

Шаг 5: Для сохранения сгенерированных форм XForms модулю XFG нужны имя файла и путь. Поэтому либо оставьте параметры по умолчанию (рисунок 12), либо задайте свои имя файла и путь. Для продолжения нажмите Next.


Рисунок 12. Выбор имени файла и пути для XForms
Выбор имени файла и пути для XForms

Step 6: Чтобы сгенерировать полнофункциональные формы XForms, модуль XFG позволяет указывать целевой объект используемого Web-сервиса. В данном случае целевым объектом является целевой объект SOAP Universal Services (http://localhost:8080/UniversalServices/services/UniversalServices). Чтобы задать его, снимите флажок в строке Use default submit target и введите целевой объект SOAP Universal Services в поле целевого объекта "Use this submit target" (рисунок 13).


Рисунок 13. Указание используемого целевого объекта
Указание используемого целевого объекта

Шаг 7: Еще один объект, используемый модулем XFG, это XML-схема, связанная с экземпляром XML-документа. Так как такая XML-схема позволяет определить обязательные и опциональные элементы и атрибуты, мастер предложит выбор между генерацией полей ввода для всех элементов и атрибутов (как обязательных, так и опциональных) и только для обязательных элементов и атрибутов. Оставьте все параметры неизменными и нажмите Next (рисунок 14).


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

Шаг 8: Модуль позволяет также сохранить XML-схему и эталонный XML-докуент в качестве основы для генерации форм XForms. Выберите имя файла и путь для XML-документа (рисунок 15) и для XML-схемы (рисунок 16). На каждом шаге для продолжения нажимайте Next.


Рисунок 15. Выбор имени файла и пути для эталонного XML-документа
Выбор имени файла и пути для эталонного XML-документа


Рисунок 16. Выбор имени файла и пути для XML-схемы
Выбор имени файла и пути для XML-схемы

В соответствии с параметрами, выбранными на разных страницах мастера, генерируются формы XForms (рисунок 17).


Рисунок 17. Полностью сгенерированные формы XForms
 Полностью сгенерированные формы XForms


В начало


Исполнение приложения

Теперь, выполнив все три основные задачи, можно посмотреть сгенерированные формы XForms в действии. Чтобы правильно воспроизвести XForms, требуется Mozilla Firefox. Кроме того, в Mozilla Firefox должен быть установлен плагин Mozilla XForms. Заметим, что не все версии плагина Mozilla XForms совместимы с любой версией Mozilla Firefox. В данном сценарии применяется Mozilla Firefox версии 2.0.0.18 с плагином Mozilla XForms версии 0.8.6ff2. Воспроизведение XForms может выглядеть так, как на рисунке 18.


Рисунок 18. Воспроизведение XForms в Mozilla Firefox с введенными входными данными
Воспроизведение XForms в Mozilla Firefox с введенными входными данными

Введите информацию в имеющиеся поля. Поля, обозначенные "P1" и "P2", - это параметры работы Web-сервиса, используемого для генерации XForms. Параметр "P1" имеет формат целого числа, а "P2" — символьный формат. Для иллюстрации XForms в этом сценарии выбрано число "24" для параметра "P1" и текст "data entered through XForms" (ввод данных посредством XForms) для параметра "P2". За полями параметров "P1" и "P2" следует ряд полей ввода, созданных в соответствии с атрибутами и элементами эталонного XML-документа, используемого для генерации XForms. Примеры данных можно вводить в любое из полей ввода.

После ввода необходимых данных прокрутите экран вниз до самого конца формы, где находится кнопка Submit (рисунок 19).


Рисунок 19. Кнопка Submit для вызова функции передачи XForms
Кнопка Submit для вызова функции передачи XForms

Нажмите Submit, чтобы вызвать функцию передачи XForms, которая передаст введенные данные в базу данных DB2 pureXML через Universal Services. Ответное сообщение от Web-сервиса (рисунок 20) говорит об успешной вставке в базу данных.


Рисунок 20. Ответ Web-сервиса
Ответ Web-сервиса

Чтобы убедиться, что новая запись включена в базу данных, можно опять воспользоваться тестовой страницей Universal Services. Более подробные сведения о доступе к тестовой странице можно почерпнуть в разделе Тестирование Universal Services статьи "Universal Services для pureXML с применением Data Web Services". Обычный URL для доступа к Universal Services: http://localhost:8080/UniversalServices/wsdl. Имя хоста и порт могут меняться в соответствии с конфигурацией локальной системы.

На тестовой странице найдите операцию getXMLDocumentByKey и введите идентификатор вновь созданной записи (например, число "24", введенное в поле ввода XForms "P1") и нажмите Invoke, чтобы вызвать операцию Web-сервиса.

На рисунке 21 показаны данные, предварительно введенные в XForms.


Рисунок 21. Информация, предварительно введенная в XForms
Информация, предварительно введенная в XForms


В начало


Расширение приложения

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

Например, можно добавить проверку данных, введенных в XForms. Сейчас форма XForms, сгенерированная посредством модуля XFG, может содержать простые правила проверки, основанные на метаданных параметров ввода используемой операции Web-сервиса и XML-схеме, используемой для генерации XForms. Однако существует дополнительная технология проверки XML-данных Schematron, которую можно применять в сочетании с XForms. Пример введения правил проверки Schematron в XForms можно найти в статье "Автоматическое применение ограничений Schematron к документам XForms" (developerWorks, июнь 2006 г.) (EN).

Еще один вариант, подходящий для более сложных приложений, состоит в передаче функции проверки структуры и содержания документа на внешнее устройство, такое как программно-аппаратный комплекс IBM WebSphere DataPower SOA. Это система аппаратной обработки XML с такими возможностями, как проверка XML-схемы и проверка Schematron. Примером такого сценария служит передача данных, введенных в XForms, в устройство IBM WebSphere DataPower SOA, которое в случае положительного результата проверки переносит данные в Universal Services для окончательной записи в базу данных. В противном случае данные отклоняются. С реальными примерами применения программно-аппаратного комплекса в контексте Universal Services можно познакомиться, прочитав статьи "WebSphere DataPower и DB2 pureXML, часть 1" (developerWorks, май 2008 г.) (EN) и "WebSphere DataPower и DB2 pureXML, часть 2" (developerWorks, июнь 2008 г.) (EN).



В начало


Заключение

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

Одно из главных преимуществ создания приложений с применением XML на всех уровнях архитектуры состоит в отсутствии необходимости преобразования данных из одного формата в другой. Для хранения информации, обмена информацией и просмотра/редактирования информации фактически можно использовать один и тот же формат.

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




В начало


Загрузка

ОписаниеИмяРазмерМетод загрузки
Проект разработки данных Universal Servicesuniversal_services_data_development_project_irs1120.zip204КБHTTP
Информация о методах загрузки


Ресурсы

Научиться

Получить продукты и технологии
  • IBM Data Studio: бесплатная среда разработки Data Web Services.

  • DB2 Express-C: бесплатная версия DB2 с теми же основными функциями, что и у других серверов данных, такими как технология pureXML. DB2 Express-C бесплатна для разработки, установки и распространения.

  • XML Forms Generator: этот инструмент на основе Eclipse от alphaWorks позволяет создавать полнофункциональные, соответствующие стандартам формы одним нажатием кнопки.

  • Mozilla XForms: плагин для отображения соответствующих стандартам форм в Mozilla Firefox.

  • Visual XForms Designer: официальный сайт со ссылками на инструкции по установке, предварительными требованиями и форумом.

  • Compound XML Document Toolkit: другие открытые стандарты на основе XML, включая Scalable Vector Graphics (SVG), MathML, VoiceXML и Synchronized Multimedia Integration Language (SMIL).

  • Создайте свой следующий проект разработки при помощи ознакомительного ПО IBM , которое можно загрузить с developerWorks.


Обсудить


Об авторах

Сюзан Малайка (Susan Malaika) работает старшим инженером в отделе IBM Information Management Group (часть IBM Software Group). Специализируется на XML, Web и базах данных. Разработала стандарты, поддерживающие данные для сетевых сред на Global Grid Forum. Являясь разработчиком программных продуктов IBM, работает также в качестве интернет-специалиста, аналитика данных и разработчика приложений. Соавтор книги о Web и опубликованных статей по обработке транзакций и XML. Член IBM Academy of Technology.


Кристиан Пичлер (Christian Pichler) является младшим научным сотрудником в Research Studios Austria, где работает над различными проектами, связанными с eGovernment и eBusiness. Имеет степень магистра по вычислительной технике и кандидата на степень доктора философии по вычислительной технике в Technical University of Vienna (Австрия) по теме Inter-Organisational Systems.




Выскажите мнение об этой странице


Пожалуйста, найдите минутку и заполните форму, чтобы повысить уровень сервиса.



 


 


 


Поделиться этой статьей:

забобрить забобрить memori сохранить в memori




В начало


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