Базы данных Oracle - статьи


Oraclexmlmess.shtml


2003 г

Стив Мюнх,
Стивен Фернстайн

Работа с XML-сообщениями


(Working with XML Messages, by Steve Muench and Steven Feuerstein)

Источник: журнал Oracle Professional, октябрь 2001,

http://www.pinnaclepublishing.com/OP/OPMag.nsf/WebIndexByIssue/

07F224E8D56E3EDF85256AB60073EBB1?opendocument&login

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

В этой статье мы сначала разберем синхронные подходы, такие как отправка и получение XML-сообщений через HTTP, а затем рассмотрим основы механизма Oracle's Advanced Queuing (усовершенствованное управление сообщениями) для поддержки асинхронных сообщений, передаваемых между приложениями.

Отправка и получение XML между серверами

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

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

Давайте уточним, что когда мы говорим об “отправке XML другому серверу через Web”, имеется в виду отправка на HTTP POST-запроса, содержащего XML-документ в теле запроса с MIME Content-Type text /xml.

Следовательно, основной составляющей в отправке XML через Web является умение отправлять HTTP POST запрос. Поскольку http-протокол является набором соглашений, основанным на TCP/IP, мы можем использовать встроенный пакет Oracle8i utl_tcp для построения нашего HTTP POST-решения.

Пакет utl_tcp вынуждает TCP/IP-подпрограммы, лежащие в основе, открыть соединение, записать данные в соединение и прочитать данные обратно из соединения. Записав соответствующие HTTP команды и данные в соединение, мы сможем легко написать нашу программу передачи данных, используя PL/SQL. Например, чтобы передать XML документ, показанный на Листинге 1, Web сервису, расположенному по URL http://services.example.com:2775/add-news-story.xsql, нам необходимо сделать следующее:




    Начало  Назад  Вперед