Web-службы SOAP, WSDL, UDDI, GXA среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.
XML-RPC XML-RPC XML-RPC представляет собой определение семантики удалённого вызова процедуры на XML. POST Сообщение XML-RPC переносится методом POST запроса HTTP, а ответ – в обычном ответе HTTP. methodCall methodResponse Запрос обычно содержит XML-документ с корневым элементом methodCall, а ответ - XML-документ с корневым элементом methodResponse. В настоящий момент имеется более 30 реализаций XML-RPC.
SOAP SOAP(Simple Object Access Protocol) SOAP (Simple Object Access Protocol) – реализует наиболее важный аспект web- сервисов – транспортировку данных по сети. SOAP расширяет HTTP для возможности передачи XML-сообщений, используемых для удалённого взаимодействия и для передачи целых XML-документов.
Схема SOAP-взаимодействия ОтправительПолучательXML-сообщение SOAP-конверт HTTP
Структура SOAP-сообщений … …
Заголовок SOAP-сообщений Заголовок является необязательным и обычно служит для хранения следующих сведений: аутентификация; информация о защите; маршрутная информация; информация о транзакциях и т.д.
Тело SOAP-сообщений SOAP-сообщения процедурно-ориентированныесообщениядокументо-ориентированныесообщения запросыответыкодированные бизнес-данные
RPC-сообщения в SOAP Add Необходимо описать взаимодействие с методом Add с использованием SOAP 1.1 public int Add (int x, int y) { return x + y; }
Сообщение-запрос 2
Сообщение-ответ 4
SOAP-кодирование Более сложные структуры данных можно описывать при помощи механизмов типизации XMLSchema и SOAP-encoding public int AddArray (int [] numbers) { int total = 0; foreach (int number in numbers) total += number; return total; }
SOAP-кодирование
Связывание протокола POST /SomeWebService HTTP/1.1 Content-Type: text/xml SOAPAction: Content-Length: 243 Host: Somestation 2
Связывание протокола HTTP/ OK Server: Microsoft-IIS/6.0 Date: Sun, 29 Apr :45:20 GMT Content-Type: text/xml Content-Length:
WSDL WSDLWeb Service Description Language Документ WSDL (Web Service Description Language) предоставляет информацию, которая необходима клиенту для взаимодействия с web-сервисом. WSDL-документ состоит из пяти элементов, содержащихся под корневым элементом definitions : types ; message ; portType ; binding ; service
Элементы WSDL types Элемент types содержит определения схемы для обмена данными между клиентом и сервером. Язык схемы по умолчанию – XMLSchema. message types Элемент message идентифицирует отдельное сообщение, которым могут обмениваться клиент и сервер. Сообщение состоит из одного или нескольких фрагментов. Каждый фрагмент представляется элементом part и ссылается на элемент или определение типа, заданного внутри элемента types. portTypes operation message Элемент portTypes содержит один или несколько элементов operation. Операцию можно считать соглашением о том, при помощи каких сообщений message клиент и сервер будут взаимодействовать друг с другом.
Элементы WSDL binding Элемент binding применяется для связывания типа порта с отдельным протоколом с помощью элементов расширения. service portport Элемент service содержит один или несколько элементов port. Элемент port используется для определения адреса web-сервиса, поддерживающего конкретное связывание.
Диаграмма описания сервиса Операция Сообщение (входное) Сообщение (выходное) Тип порта Операция Сообщение (входное) Сообщение (выходное)Порт Привязка Сетевой адрес Операция Сообщение (входное) Сообщение (выходное) Тип порта Операция Сообщение (входное) Сообщение (выходное)Порт Привязка Сетевой адрес Операция Сообщение (входное) Сообщение (выходное) Тип порта Операция Сообщение (входное) Сообщение (выходное)Порт Привязка Сетевой адрес Сервис
UDDI UDDI (Universal Description, Discovery and Integration) UDDI (Universal Description, Discovery and Integration) представляет собой иерархический реестр, являющийся центральным хранилищем для опубликованных технических спецификаций и информации о компаниях. Реестр UDDI сам по себе является web-сервисом. Он предоставляет API, основанный на SOAP.
UDDI API Версия UDDI 1.0 предоставляет около 30 методов для обеспечения с реестром. Требования допустимости UDDI-сообщений: SOAP-сообщение должно быть закодировано в UTF-8; элементы внутри тела UDDI-документа должны быть видимы внутри пространства имён UDDI API, определяемым URI urn:uddi-org:api ; запрос должен содержать пустой HTTP-заголовок SOAPAction; в тело сообщения при помощи атрибута generic должна быть внедрена версия API.
UDDI API Методы опроса find _ get _ Методы публикации delete_ save_
Основные типы данных UDDI API tModel. Используется для ссылки на техническую спецификацию в виде WSDL или транспортный протокол. buisnessEntity. Компания или её структурное подразделение. buisnessService. Набор сервисов, предоставляемых компанией. bindingTemplate. Описывает отдельный сервис, включая его конечную точку и техническую спецификацию.
Проблемы Web-сервисов обнаружение клиентом; безопасность; маршрутизация сообщений; адресная служба (служба направлений);
GXA Global XML Web Services Architecture WS-Inspection Язык контроля Web-сервисов (WS-Inspection) WS-Security Язык обеспечения безопасности Web-сервисов (WS-Security) WS-License Язык лицензирования Web-сервисов (WS-License) WS-Routing Протокол маршрутизации Web-сервисов (WS-Routing) WS-Referral Протокол направлений Web-сервисов (WS-Referral)
Безопасность web-сервисов Технологии, предоставляемые HTTP: Механизмы аутентификации web-сервера; SSL/TLS или IPSec для защиты каналов передачи данных; Криптографические алгоритмы для шифрования и подписи данных; Механизмы, предоставляемые модулями WS-Security и WS-License: Пересылка персональных параметров доступа; Обеспечение целостности сообщений; Обеспечение конфиденциальности сообщений;