Основы WSDL. (Лекция 6)

Содержание

Слайд 2

В ходе лекции изучаются следующие темы: основные положения WSDL; структура WSDL-документа; элементы Types и Message;

В ходе лекции изучаются следующие темы:

основные положения WSDL;
структура WSDL-документа;
элементы Types и

Message;
Слайд 3

Основные положения WSDL Тема № 1

Основные положения WSDL

Тема № 1

Слайд 4

Web Services Description Language – XML-ориентированный язык описания web-сервисов и доступа к ним Определение WSDL

Web Services Description Language – XML-ориентированный язык описания web-сервисов и доступа

к ним

Определение WSDL

Слайд 5

В WSDL, абстрактное определение конечных точек и сообщений сервиса отделено от

В WSDL, абстрактное определение конечных точек и сообщений сервиса отделено от

конкретных особенностей развертывания сети или привязок к формату данных. Это дает возможность использовать абстрактные определения сообщений (абстрактными описания данных в процессе обмена) и портов (абстрактные наборы операций)

Основная особенность WSDL

Слайд 6

WSDL признает необходимость множества типов данных для описания форматов сообщений, поддерживает

WSDL признает необходимость множества типов данных для описания форматов сообщений, поддерживает

спецификацию XML-схемы (XSD) в качестве канонической системы типов. Однако, WSDL позволяет использовать и другие языки определения типов как расширения

Поддержка типов данных

Слайд 7

WSDL определяет общий механизм связывания, позволяющий прикрепить конкретный формат данных, протокол

WSDL определяет общий механизм связывания, позволяющий прикрепить конкретный формат данных, протокол

или структуру данных к абстрактному сообщению, операции или конечной точке. Кроме того, WSDL позволяет специфические расширения связывания для протоколов SOAP 1.1, HTTP GET / POST и MIME

Назначение WSDL

Слайд 8

Ключевые слова WSDL (описаны в RFS-2119): MUST; MUST NOT; REQUIRED; SHALL;

Ключевые слова WSDL (описаны в RFS-2119):

MUST;
MUST NOT;
REQUIRED;
SHALL;
SHALL NOT;
SHOULD;
SHOULD NOT;
RECOMMENDED;
MAY;
OPTIONAL.

Слайд 9

Структура WSDL-документа Тема № 2

Структура WSDL-документа

Тема № 2

Слайд 10

WSDL-документ представляет собой упорядоченный набор определений Структуризация WSDL-документа

WSDL-документ представляет собой упорядоченный набор определений

Структуризация WSDL-документа

Слайд 11

Основные элементы WSDL-документа: Documents – контейнер для определения документов, доступных для

Основные элементы WSDL-документа:

Documents – контейнер для определения документов, доступных для прочтения

человеком;
Types - контейнер для определения типов данных, использующих некоторый тип системы (например, XSD);
Message-абстрактное, описываемое в том числе через введенные типы определение передаваемых данных;
Operation - абстрактное описание какого-либо действия, поддерживаемого сервисом;
Port Type - абстрактный набор операций, поддерживаемый одной или несколькими конечными точками;
Binding – описание конкретного протокола и спецификаций формата данных для определенного Port Type;
Port – описание одной конечной точки, которое определяется как сочетание элемента Binding и сетевого адреса;
Service – описание сервиса как набора взаимосвязанных конечных точек (портов).
Слайд 12

Пример структуры WSDL-документа:

Пример структуры WSDL-документа:

Слайд 13

Пример структуры WSDL-документа:

Пример структуры WSDL-документа:

Слайд 14

Пример структуры WSDL-документа:

Пример структуры WSDL-документа:

Слайд 15

Пример структуры WSDL-документа:

Пример структуры WSDL-документа:

Слайд 16

Элементы Types и Message Тема № 3

Элементы Types и Message

Тема № 3

Слайд 17

Элемент Types содержит определения типов данных, которые используются для описания передаваемых

Элемент Types содержит определения типов данных, которые используются для описания передаваемых

сообщений. WSDL предпочитает использование XSD как канонической системы типов

Назначение элемента Types

Слайд 18

Рекомендации по кодированию абстрактных типов через XSD для WSDL: используйте формы

Рекомендации по кодированию абстрактных типов через XSD для WSDL:

используйте формы элементов,

а не атрибуты;
не применять атрибуты или элементы, присущие общему кодированию и не имеющие ничего общего с абстрактным содержанием сообщения (некоторые примеры: soap:root, soap:encodingStyle, xmi:id, xmi:name);
типы массивов должны основываться на типах массивов, определенных в схеме кодирования SOAP v1.1 (http://schemas.xmlsoap.org/soap/encoding/) независимо от того, использует ли на самом деле форма элементов кодировку, указанную в разделе 5 описания SOAP v1.1;
Слайд 19

Рекомендации по кодированию абстрактных типов через XSD для WSDL: используйте имя

Рекомендации по кодированию абстрактных типов через XSD для WSDL:

используйте имя ArrayOfXXX

для типов Array (где XXX является тип элементов в массиве);
тип элементов массива и размерность массива задаются с помощью значений по умолчанию для soapenc:arrayType;
используйте тип xsd:anyType для представления поля / параметра, который может иметь любой тип.
Слайд 20

Пример заголовка WSDL-документа:

Пример заголовка WSDL-документа:

Слайд 21

Пример описания элемента Types WSDL-документа:

Пример описания элемента Types WSDL-документа:

Слайд 22

Синтаксис описания элемента Message:

Синтаксис описания элемента Message:

Слайд 23

Назначение атрибутов описания Message: message name – используется для обозначения наименования

Назначение атрибутов описания Message:

message name – используется для обозначения наименования сообщения, уникального

среди наименований всех сообщений данного WSDL-документа;
part name – используется для обозначения наименования части сообщения, уникального среди наименований всех частей данного сообщения WSDL-документа.
Слайд 24

Пример элемента Message WSDL-документа:

Пример элемента Message WSDL-документа:

Слайд 25

Если содержание сообщения является достаточно сложным, такое сообщение можно задать через

Если содержание сообщения является достаточно сложным, такое сообщение можно задать через

создание соответствующего композитного типа

Альтернативный синтаксис задания типов для Message

Слайд 26

Пример альтернативного описания Message:

Пример альтернативного описания Message:

Слайд 27

Элемент Port Types Тема № 4

Элемент Port Types

Тема № 4

Слайд 28

Пример синтаксиса элемента Port Types WSDL-документа:

Пример синтаксиса элемента Port Types WSDL-документа:

Слайд 29

Основные шаблоны операций элемента Port Types: One-way - конечная точка получает

Основные шаблоны операций элемента Port Types:

One-way - конечная точка получает сообщение;
Request-response

- конечная точка получает сообщение и отправляет коррелированное сообщение;
Solicit-response - конечная точка посылает сообщение, и получает коррелированное сообщение;
Notification - конечная точка посылает сообщение.
Слайд 30

Пример описания One-way операции:

Пример описания One-way операции:

Слайд 31

Пример описания Request-response операции:

Пример описания Request-response операции:

Слайд 32

Элементы описания Request-response операции: input – описание входного message; output -

Элементы описания Request-response операции:

input – описание входного message;
output - описание выходного

message;
fault – описание сообщения об ошибке.
Слайд 33

Пример описания Solicit-response операции:

Пример описания Solicit-response операции:

Слайд 34

Пример описания Notification операции:

Пример описания Notification операции: