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

DB2 и Web-сервисы для новичков

developerworks
SOA Web-сервисы DB2 и Web-сервисы WebSphere

Что такое Web-сервисы DB2?
Каковы требования для работы с Web-сервисами DB2?
Как можно работать с DB2 как с поставщиком Web-сервисов?
Как можно работать с DB2 как с потребителем Web-сервисов?
Где я могу получить дополнительную информацию о Web-cервисах DB2?




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


Что такое Web-сервисы DB2?

Web-сервисы DB2 - это Web-сервисы, которые предоставляются DB2. Эти сервисы включают SQL операции такие как вставка, обновление, удаление и вызов хранимых процедур в базе данных DB2 UDB. С другой стороны DB2 может себя вести как потребитель Web-сервисов. Давайте для примера рассмотрим Рисунок 1 ниже.

Рисунок 1. DB2 и среда Web-сервисов
Figure 1. DB2 and the Web services environment

Предположим, что ваша компания в Канаде производит автомобили. Чтобы успешно конкурировать, вы разработали приложение, которое запрашивает у производителей в Северной Америке цены на различные комплектующие и выбирает тех, которые в настоящий момент времени продают комплектующие по самым низким ценам. Как ваше приложение опрашивает производителей? Как производители передают список поставляемых комплектующих с ценами?

В этом примере производители ведут себя как поставщики Web-сервисов. Предположим, что они хранят списки комплектующих с ценами (в локальной валюте) в базе данных DB2 UDB и предоставлют к ним доступ средствами DB2, что и делает их поставщиками Web-сервисов. Это показано на левой части Рисунка 1.

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

Еще одна технология потребителей Web-сервисов, называемая Web Services wrapper, поставляется в составе WebSphere Information Integrator. Тогда как функции, определяемых пользователем (UDF), создают Web-сервис по приницпу доступа к операторам SQL, Web Services wrapper создает Web-сервис посредоством доступа к виртуальным таблицам (NICKNAMEs). Для более полной информации об этой технологии, обратитесь к источникам, указанным в последнем разделе.



В начало


Каковы требования для работы с Web-сервисами DB2?

DB2 как поставщик Web-сервисов требует установки Web services Object Runtime Framework (WORF), также известного как Document Access Definition Extension (DADx). WORF представляет собой zip-файл dxxworf.zip, который поставляется с различными редакциями DB2 UDB. Его можно найти в подкаталоге SQLLIB\samples\java\Websphere каталога инсталляции DB2. WORF также поставляется с WebSphere Information Integrator, WebSphere Studio Version 5 и Rational Application Developer 6.

DB2 как потребитель Web-сервисов требует от вас установки DB2 XML extender, который содержит соотвествующие UDF. В статье DB2 Web services for DB2 practitioners вы можете детально ознакомиться с тем, как это можно сделать.



В начало


Как можно работать с DB2 как с поставщиком Web-сервисов?

В случае, когда DB2 является поставщиком Web-сервисов, клиентское приложение может обращаться к DB2 UDB через WSDL интерфейс. Вы можете определить WSDL интерфейс к данным в DB2 используя возможности WORF. Если говорить проще, то доступ к данным DB2 может быть описан посредством XML файла, называемого DADx-файл. Этот XML файл может содержать ряд операций. Каждая операция может состоять из последовательности вызовов хранимых процедур DB2, операций записи или чтения XML документов или SQL операторов CREATE, SELECT, UPDATE, DELETE. В Листинге 1 приведет пример DADx-файла с одной операцией.

Листинг 1. Employee Web service (sample.dadx) показывает операцию SQL SELECT

<?xml version="1.0" encoding="UTF-8"?>
 <DADX xmlns=http://schemas.ibm.com/db2/dxx/dadx>
         <operation name="showemployees">
                 <query>
                 <SQL_query>SELECT * FROM EMPLOYEE</SQL_query>
                 </query>
         </operation>
 </DADx>
          

В Листинге 1 определена единственная операция "showemployees", которая извлекает данные из таблицы employee базы данных DB2. DADx-файл может содержать несколько операций. Эти операции все развертываются как Web-сервисы в рамках одного модуля приложения.

Среда Web-серивсов DB2 (WORF) предоставляет инфраструктуру для автоматического создания WSDL интерфейсов каждой из определенных вами операций. WORF генерирует тестового клиента для Web-сервиса в виде Web-приложения, используя сервлеты и JSP. Тестовый клиент может использовать простое HTTP или SOAP соединение. HTTP соединение полезно для непостредственного тестирования Web-сервиса DB2, используя Web-браузер. SOAP соединение может быть использовано клиентскими приложениями Web-сервиса для создания распределенных приложений. Данные возвращаются Web-сревисом DB2 в виде XML-документа или Java-объекта. Парсеры XML существуют для различных языков программирования, включая Java и C.

Когда вы предоставляете клиентам Web-сервиса доступ к данным через DADx, подумайте о том, чтобы логику доступа к данным разместить в хранимой процедуре DB2. Хранимые процедуры предоставляют очень мощные возможности для создания уровня абстракции для доступа к данным DB2. Хранимые процедуры DB2 могут быть созданы на различных языках программирования, включая Java и стандартный язык SQL процедур.

После того, как вы определили в DADx-файле операции для доступа к данным DB2, вы должны развернуть DADx-файл и его среду исполнения (Apache SOAP или Apache axis) в одной из поддерживаемых сред Java Web-сервера (Apache/Jakarta Tomcat или IBM WebSphere Application Server или DB2 application server).

После того, как вы протестировали и развернули Web-сервис DB2, любой клиентв Web-сервиса может начать его использовать. Использование WebSphere Application Server для развертывания Web-сервисов DB2 предоставляет дополнительные выгоды, такие как пул коннектов с базой данных и централизованное администрирование. WebSphere может быть развернута с использованием подходов вертикального или горизонтального масштабирования для обеспечения отказоустойчивости и обеспечения большого объема транзакций для популярных Web-сервисов DB2.



В начало


Как можно работать с DB2 как с потребителем Web-сервисов?

DB2 ведет себя как потребитель Web-сервисов в том случае, когда в рамках SQL запроса вызывается какой-либо Web-сервис. Например, на Рисунке 1 функция getRate("country","country") Web-сервиса DB2 возвращает текущий курс конвертации валют двух стран. Поскольку эти данные постоянно меняются, поставщик Web-сервисов может предоставить вам наиболее актуальное значение курса для вашего приложения. В этом примере мы используем возможности SQL для расчета цены комплектующих в канадских долларах, прежде чем вернуть значение для приложения. Использование SQL запросов облегчает обращение к Web-сервису и интеграцию получаемых от него данных. За счет использования SQL для доступа к Web-сервису вы можете сэкономить свои усилия, поскольку манипуляция данными происходит в контексте выполнения SQL-запроса прежде чем результат будет возвращен клиентскому приложению. "Не-DB2" клиентское приложение Web-сервиса может достичь тех же результатов без использования расширений SQL Web-сервиса DB2, но это потребует дополнительных усилий с точки зрения программирования.

Поскольку эти Web-сервисы используются в рамках SQL запросов, то тестирование Web-сервиса можно провести достаточно просто, например с использованием процессора командной строки DB2 (DB2's Command Line Processor - CLP). Инструменты играют важную роль при обращении к данным Web-сервиса из SQL. Конвертация существующего WSDL интерфейса в функцию DB2 (табличную или скалярную) упрощается за счет использования плагина WebSphere Studio, который позволяет конвертировать WSDL в SQL функции DB2. Подобная автоматизация задач также включена в WebSphere Studio версии 5 и в Rational Application Developer 6 и более поздних версий.

Доступ к данным Web-сервиса в контексте SQL запроса требует сервера приложений Java или поставщика Web-сервисов DB2. Эти расширения SQL создаются администратором базы данных DB2 или разработчиками базы данных. Во время исполнения SQL запроса осуществляется соединения с поставщиком Web-сервиса и возвращаемый документ представляется либо в виде реляционной таблицы или скалярного значения.

Grid-вычисления адаптировали Web-Сервисы как чать Open Grid Services Architecture - новой модели для данного типа распределенных вычислений, использующей Web-сервисы для согласования работы grid.



В начало


Где я могу получить дополнительную информацию о Web-cервисах DB2?

Узнайте подробнее о Web-cервисах DB2:



В начало


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

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


Дополнительные ресурсы
Стандарты и спецификации Web-сервисов
зона XML на developerWorks Россия
зона Технологии Java на developerWorks Россия
зона WebSphere на developerWorks Россия
Управление данными

Special offers
Make innovation happen with IBM Software Guide
RSDC 2008 RU ready to save the day?
Webcast: Info 2.0 for Web 2.0 and mashups

More offers





    IBM в России Конфиденциальность Контакты