web- службы

25
Web- Web- службы службы SOAP, WSDL, UDDI, GXA Sunday, July 3, 2022 Sunday, July 3, 2022

Upload: rafiki

Post on 05-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Web- службы. SOAP, WSDL, UDDI , GXA. вторник, 21 октября 2014 г. XML-RPC. XML-RPC представляет собой определение семантики удалённого вызова процедуры на XML . Сообщение XML-RPC переносится методом POST запроса HTTP , а ответ – в обычном ответе HTTP . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Web- службы

Web-Web-службыслужбы

SOAP, WSDL, UDDI, GXA

Thursday, April 20, 2023Thursday, April 20, 2023

Page 2: Web- службы

XML-RPCXML-RPC

XML-RPCXML-RPC представляет собой определение семантики удалённого вызова процедуры на XML.

Сообщение XML-RPC переносится методом POSTPOST запроса HTTP, а ответ – в обычном ответе HTTP.

Запрос обычно содержит XML-документ с корневым элементом methodCallmethodCall, а ответ - XML-документ с корневым элементом methodResponsemethodResponse.

В настоящий момент имеется более 30 реализаций XML-RPC.

Page 3: Web- службы

SOAPSOAP

SOAPSOAP (Simple Object Access Protocol)(Simple Object Access Protocol) – реализует наиболее важный аспект web-сервисов – транспортировку данных по сети.

SOAP расширяет HTTP для возможности передачи XML-сообщений, используемых для удалённого взаимодействия и для передачи целых XML-документов.

Page 4: Web- службы

Схема Схема SOAPSOAP--взаимодействиявзаимодействия

Отправитель

Получатель

XML-сообщение

XML-сообщение

SOAP-конверт

SOAP-конверт

HTTP

Page 5: Web- службы

<soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”>

</soap:Envelope>

Структура Структура SOAPSOAP--сообщенийсообщений

<?xml version=“1.0”>

<soap:Header>…

</soap:Header>

<soap:Body>…

</soap:Body>

Page 6: Web- службы

Заголовок Заголовок SOAPSOAP--сообщенийсообщений

Заголовок является необязательным и обычно служит для хранения следующих сведений:аутентификация;информация о защите;маршрутная информация;информация о транзакциях и т.д.

Page 7: Web- службы

Тело Тело SOAPSOAP-сообщений-сообщений

SOAP-SOAP-сообщениясообщения

процедурно-ориентированныепроцедурно-ориентированныесообщениясообщения

документо-документо-ориентированныеориентированные

сообщениясообщения

запросы

ответы кодированные бизнес-данные

Page 8: Web- службы

RPC-RPC-сообщения в сообщения в SOAPSOAP

Необходимо описать взаимодействие с методом AddAdd с использованием SOAP 1.1

public int Add (int x, int y){

return x + y;}

Page 9: Web- службы

Сообщение-запросСообщение-запрос

<?xml version=“1.0” encoding=“utf-8”?><soap:Envelope

xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <Add> <x>2</x> <y>2</y> </Add> </soap:Body></soap:Envelope>

Page 10: Web- службы

Сообщение-ответСообщение-ответ

<?xml version=“1.0” encoding=“utf-8”?><soap:Envelope

xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <AddResult> <result>4</result> </AddResult> </soap:Body></soap:Envelope>

Page 11: Web- службы

SOAP-SOAP-кодированиекодирование

Более сложные структуры данных можно описывать при помощи механизмов типизации XMLSchema и SOAP-encoding

public int AddArray (int [] numbers){

int total = 0;

foreach (int number in numbers)total += number;

return total;}

Page 12: Web- службы

SOAP-SOAP-кодированиекодирование

<?xml version=“1.0” encoding=“utf-8”?><soap:Envelope

xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”

xmlns:soap-enc=“http://schemas.xmlsoap.org/soap/encoding/”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”> <soap:Body> <AddArray> <numbers soap-enc:arrayType=“xsi:int[3]”> <int>1</int> <int>2</int> <int>3</int> </numbers> </AddArray> </soap:Body></soap:Envelope>

Page 13: Web- службы

Связывание протоколаСвязывание протокола

POST /SomeWebService HTTP/1.1Content-Type: text/xmlSOAPAction: “http://somedomain.com/SomeWebService.wsdl”Content-Length: 243Host: Somestation

<?xml version=“1.0” encoding=“utf-8”?><soap:Envelope

xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <Add> <x>2</x> <y>2</y> </Add> </soap:Body></soap:Envelope>

Page 14: Web- службы

Связывание протоколаСвязывание протокола

HTTP/1.1 200 OKServer: Microsoft-IIS/6.0Date: Sun, 29 Apr 2007 19:45:20 GMTContent-Type: text/xmlContent-Length: 243

<?xml version=“1.0” encoding=“utf-8”?><soap:Envelope

xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <AddResult> <result>4</result> </AddResult> </soap:Body></soap:Envelope>

Page 15: Web- службы

WSDLWSDL

Документ WSDLWSDL (Web Service Description Web Service Description LanguageLanguage) предоставляет информацию, которая необходима клиенту для взаимодействия с web-сервисом.WSDL-документ состоит из пяти элементов, содержащихся под корневым элементом definitions:types;message;portType;binding;service

Page 16: Web- службы

Элементы Элементы WSDLWSDL

Элемент typestypes содержит определения схемы для обмена данными между клиентом и сервером. Язык схемы по умолчанию – XMLSchema.Элемент messagemessage идентифицирует отдельное сообщение, которым могут обмениваться клиент и сервер. Сообщение состоит из одного или нескольких фрагментов. Каждый фрагмент представляется элементом part и ссылается на элемент или определение типа, заданного внутри элемента typestypes.

Элемент portTypesportTypes содержит один или несколько элементов operationoperation. Операцию можно считать соглашением о том, при помощи каких сообщений messagemessage клиент и сервер будут взаимодействовать друг с другом.

Page 17: Web- службы

Элементы Элементы WSDLWSDL

Элемент bindingbinding применяется для связывания типа порта с отдельным протоколом с помощью элементов расширения.

Элемент serviceservice содержит один или несколько элементов portport. Элемент portport используется для определения адреса web-сервиса, поддерживающего конкретное связывание.

Page 18: Web- службы

Диаграмма описания Диаграмма описания сервисасервиса

ОперацияСообщение (входное)

Сообщение (выходное)

Тип порта

ОперацияСообщение (входное)

Сообщение (выходное)

ПортПорт

Привязка

Сетевой адрес

ОперацияСообщение (входное)

Сообщение (выходное)

Тип порта

ОперацияСообщение (входное)

Сообщение (выходное)

ПортПорт

Привязка

Сетевой адрес

ОперацияСообщение (входное)

Сообщение (выходное)

Тип порта

ОперацияСообщение (входное)

Сообщение (выходное)

ПортПорт

Привязка

Сетевой адрес

СервисСервис

Page 19: Web- службы

UDDIUDDI

UDDI UDDI (Universal Description, Discovery and (Universal Description, Discovery and Integration)Integration) представляет собой иерархический реестр, являющийся центральным хранилищем для опубликованных технических спецификаций и информации о компаниях.

Реестр UDDI сам по себе является web-сервисом. Он предоставляет API, основанный на SOAP.

Page 20: Web- службы

UDDI API

Версия UDDI 1.0 предоставляет около 30 методов для обеспечения с реестром.

Требования допустимости Требования допустимости UDDI-UDDI-сообщений:сообщений:SOAP-сообщение должно быть закодировано в UTF-8;элементы внутри тела UDDI-документа должны быть видимы внутри пространства имён UDDI API, определяемым URI urn:uddi-org:api;запрос должен содержать пустой HTTP-заголовок SOAPAction;в тело сообщения при помощи атрибута generic должна быть внедрена версия API.

Page 21: Web- службы

UDDI APIUDDI API

Методы опросаМетоды опроса

find_

get_

Методы публикацииМетоды публикации

delete_save_

Page 22: Web- службы

Основные типы данных Основные типы данных UDDI UDDI APIAPI

tModel. Используется для ссылки на техническую спецификацию в виде WSDL или транспортный протокол.buisnessEntity. Компания или её структурное подразделение.buisnessService. Набор сервисов, предоставляемых компанией.bindingTemplate. Описывает отдельный сервис, включая его конечную точку и техническую спецификацию.

Page 23: Web- службы

Проблемы Проблемы Web-Web-сервисовсервисов

обнаружение клиентом;

безопасность;

маршрутизация сообщений;

адресная служба (служба направлений);

Page 24: Web- службы

GXAGXAGlobal XML Web Services Global XML Web Services

ArchitectureArchitectureЯзык контроля Web-сервисов (WS-InspectionWS-Inspection)

Язык обеспечения безопасности Web-сервисов (WS-WS-SecuritySecurity)

Язык лицензирования Web-сервисов (WS-LicenseWS-License)

Протокол маршрутизации Web-сервисов (WS-RoutingWS-Routing)

Протокол направлений Web-сервисов (WS-ReferralWS-Referral)

Page 25: Web- службы

Безопасность Безопасность web-web-сервисовсервисов

Технологии, предоставляемые HTTP:Механизмы аутентификации web-сервера;SSL/TLS или IPSec для защиты каналов передачи данных;Криптографические алгоритмы для шифрования и подписи данных;

Механизмы, предоставляемые модулями WS-Security и WS-License:Пересылка персональных параметров доступа;Обеспечение целостности сообщений;Обеспечение конфиденциальности сообщений;