Web-
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Web- службы PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Web- службы

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Web

Web-службы

SOAP, WSDL, UDDI, GXA

вторник, 21 октября 2014 г.


Xml rpc

XML-RPC

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

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

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

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


Web

SOAP

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

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


Web

Отправитель

Получатель

XML-сообщение

XML-сообщение

SOAP-конверт

SOAP-конверт

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

HTTP


Web

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

<?xml version=“1.0”>

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

</soap:Envelope>

<soap:Header>

</soap:Header>

<soap:Body>

</soap:Body>


Web

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

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

  • аутентификация;

  • информация о защите;

  • маршрутная информация;

  • информация о транзакциях и т.д.


Web

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

SOAP-сообщения

процедурно-ориентированные

сообщения

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

сообщения

запросы

ответы

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


Rpc soap

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

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

public int Add (int x, int y)

{

return x + y;

}


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>


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>


Web

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

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

public int AddArray (int [] numbers)

{

int total = 0;

foreach (int number in numbers)

total += number;

return total;

}


Web

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>


Web

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

POST /SomeWebService HTTP/1.1

Content-Type: text/xml

SOAPAction: “http://somedomain.com/SomeWebService.wsdl”

Content-Length: 243

Host: 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>


Web

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

HTTP/1.1 200 OK

Server: Microsoft-IIS/6.0

Date: Sun, 29 Apr 2007 19:45:20 GMT

Content-Type: text/xml

Content-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>


Web

WSDL

Документ WSDL (Web Service Description Language) предоставляет информацию, которая необходима клиенту для взаимодействия с web-сервисом.

  • WSDL-документ состоит из пяти элементов, содержащихся под корневым элементом definitions:

  • types;

  • message;

  • portType;

  • binding;

  • service


Web

Элементы WSDL

Элемент types содержит определения схемы для обмена данными между клиентом и сервером. Язык схемы по умолчанию – XMLSchema.

Элемент messageидентифицирует отдельное сообщение, которым могут обмениваться клиент и сервер. Сообщение состоит из одного или нескольких фрагментов. Каждый фрагмент представляется элементом part и ссылается на элемент или определение типа, заданного внутри элемента types.

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


Web

Элементы WSDL

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

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


Web

Порт

Порт

Порт

Тип порта

Тип порта

Тип порта

Операция

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

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

Операция

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

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

Операция

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

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

Операция

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

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

Операция

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

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

Операция

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

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

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

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

Привязка

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

Привязка

Привязка

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

Сервис


Web

UDDI

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

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


Uddi api

UDDI API

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

  • Требования допустимости UDDI-сообщений:

  • SOAP-сообщение должно быть закодировано в UTF-8;

  • элементы внутри тела UDDI-документа должны быть видимы внутри пространства имён UDDI API, определяемым URIurn:uddi-org:api;

  • запрос должен содержать пустой HTTP-заголовок SOAPAction;

  • в тело сообщения при помощи атрибута genericдолжна быть внедрена версия API.


Uddi api1

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

find_

get_

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

save_

delete_

UDDI API


Uddi api2

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

  • tModel. Используется для ссылки на техническую спецификацию в виде WSDL или транспортный протокол.

  • buisnessEntity. Компания или её структурное подразделение.

  • buisnessService. Набор сервисов, предоставляемых компанией.

  • bindingTemplate.Описывает отдельный сервис, включая его конечную точку и техническую спецификацию.


Web

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

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

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

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

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


Web

GXA

Global XML Web Services Architecture

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

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

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

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

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


Web

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

Технологии, предоставляемые HTTP:

  • Механизмы аутентификации web-сервера;

  • SSL/TLS или IPSec для защиты каналов передачи данных;

  • Криптографические алгоритмы для шифрования и подписи данных;

Механизмы, предоставляемые модулями WS-Security и WS-License:

  • Пересылка персональных параметров доступа;

  • Обеспечение целостности сообщений;

  • Обеспечение конфиденциальности сообщений;


  • Login