Язык описания интерфейсов WSDL

Автор работы: Пользователь скрыл имя, 19 Января 2012 в 21:08, реферат

Краткое описание

Для создания открытой распределенной системы необходимо использование общепринятых языков описания интерфейса программной компоненты. В настоящий момент существует ряд апробированных на практике стандартов для передачи данных в гетерогенных распределенных системах: XML, XSD, SOAP и WSDL. Их использование позволяет создавать системы, не привязанные жестко к какому либо средству разработки программ или транспортному протоколу.

Содержание работы

Введение…………………………………………………………………………...3
История…………………………………………………………………………….4
WSDL (WEB Services Description Language)……………………………………5
Версии 1.1 и 2.0………………………………………………………………….12
Коммерческие предпосылки использования Web-сервисов………………….14
Заключение……………………………………………………………………….16
Список используемой литературы…………………………………………….17

Содержимое работы - 1 файл

!!!Контрольная работа.docx

— 77.76 Кб (Скачать файл)

Содержание:

Введение…………………………………………………………………………...3

История…………………………………………………………………………….4

WSDL (WEB Services Description Language)……………………………………5

Версии 1.1 и 2.0………………………………………………………………….12

Коммерческие  предпосылки использования Web-сервисов………………….14

Заключение……………………………………………………………………….16

Список  используемой литературы…………………………………………….17 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение

В связи  с широчайшим распространением сетевых  технологий в настоящее время  многие производители аппаратного  и программного обеспечения прилагают  свои усилия к выработке различных  парадигм и методологий использования  этих самых технологий. Не осталась в стороне, разумеется, и корпорация Microsoft. В ее недрах была разработана  парадигма .NET (.NET Framework), которая кладет в основу своей идеологии представление  любой программной системы как  набора взаимодействующих между  собой в распределенной сетевой  среде агентов, называемых веб-сервисами (Web Services). Последние, в свою очередь, являются "черным ящиком" для клиентов снаружи, предоставляя им доступ лишь к своему внешнему интерфейсу и скрывая  все детали реализации. При разработке приложений подобной архитектуры возникает  проблема организации первичного взаимодействия между веб-сервисом и его клиентом, результатом которого должно стать  получение клиентом информации об услугах, предоставляемых веб-сервисом, и  способах обращения к ним. Для  решения этой проблемы фирмами Microsoft, IBM и Ariba был разработан Язык описания веб-сервисов (Web Service Description Language, WSDL). 
 
 
 
 
 
 
 

История

WSDL 1.0 (Сент. 2000) был разработан IBM, Microsoft и Ariba для описания веб-сервисов для SOAP toolkit.

WSDL 1.1, выпущен в марте 2001. Фактически это формализованный WSDL 1.0. Между этими версиями нет никаких принципиальных отличий.

WSDL 1.2 (Июнь 2003) по прежнему работает под W3C. WSDL 1.2 не поддерживается большинством вендоров SOAP.

WSDL 2.0 получил  официальную поддержку W3C в июне 2007. WSDL 1.2 был переименован WSDL 2.0 поскольку имел большие отличия от предыдущей версии.  
 
 
 
 
 
 
 
 
 
 
 
 

WSDL (WEB Services Description Language)

WSDL (WEB Services Description Language) — язык описания веб-сервисов. Предназначен для точного описания веб-сервиса и его программных интерфейсов. В описании можно найти такую информацию, как адрес сервера, протокол, номер используемого порта, формат запроса и многое другое.

WSDL — язык описания веб-сервисов, основанный на языке XML.

Язык  описания веб-сервисов (Web Services Description Language, WSDL) - это формат XML-схем, определяющий расширенную структуру описания интерфейсов веб-сервисов. WSDL первоначально  был разработан компаниями Microsoft и IBM. А затем его поддержали консорциум W3C и 25 компаний. WSDL - это сердце структуры веб-сервиса. Это общий способ представления передаваемых в сообщениях типов данных, указывающий действия, которые должны быть выполнены с данным сообщением и согласно которому сообщения привязываются к сетевым транспортам.

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

WSDL в  соответствии с уровнем абстрагирования  состоит из трех элементов. WSDL можно разделить на три основные  составляющие:

    • определение типов данных;
    • абстрактные операции;
    • связывание сервисов.

Каждая  составляющая может быть указана  в различных XML-документах и импортирована  в виде различных комбинаций, что  позволяет создавать окончательное  описание веб-сервиса. Кроме того, все составляющие могут быть представлены и в одном XML-документе. "Определение типов данных" задает структуру и содержание сообщений. "Абстрактные операции" определяют операции, которые должны быть выполнены с содержанием сообщения, а "связывание сервисов" подразумевает сетевой транспорт, который доставит сообщение по месту назначения.

Типы  данных веб-сервисов основаны на XML-схемах, но могут быть распространены на любые  другие механизмы. WSDL-описания типов  данных базируются на XML-схемах, но здесь  годятся для использования и  другие эквивалентные или аналогичные  системы определения типов данных. Например, вместо типов данных XML-схемы  может применяться язык описания интерфейса (Interface Definition Language, IDL) CORBA. (Если используется иная модель определения типов, ее должны "понимать" обе стороны.)

Ниже  показан скелет описания сервисов на языке WSDL.

<?xml version="1.0" ?>

<definitions name="Stocks" tsrgetNamespace=url

xmlns:soap="http://(soaporg)/wsdl/soap"

xmlns="http://(soaporg)/wsdl/">

<types>

<elements>...</elements>

</types>

<message>...</message>

<portType>...</portType>

<binding>

<operation>

<input>...</input>

<output>...</output>

</operation>

</binding>

<service>...</service>

</definitions>

Как мы видим, описание сервисов представляет собой XML-документ, состоящий из нескольких элементов, в том числе из описания пространства имен (namespace), описания типов и элементов, сообщений, порта, а также возможных операций — запросов и ответов.

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

Документ WSDL определяет Web-сервис и включает в себя приведенные ниже элементы:

Сервис (Service). Web-сервис в целом. В документе WSDL сервис описывается элементом <definitions> в корне дерева. Дочерними являются элементы <types>, <message>, <portType>, <binding>, <service>. У элемента <service> есть атрибут «name», который используется для того, чтобы присвоить имя сервису. Указывается порт, используемый Web-службой, и адрес, по которому можно активизировать Web-службу.

<service name="Test"> <!-- имя = "Испытание -->

<port name="ТезtSoap" binding="s0:TestSoap">

<!-- порт -->

<soap:address location=

"http://localhost/SimpleWebService/Add.asmx" />

</port> <!-- порт -->

</service>

Типы (Types). Типы данных, используемые сервисом. В документе WSDL типы данных описываются с помощью элемента <types>, содержащего один или более элементов <xsd:schema>.

<types>

<s:elemerz name="Add"> <s: comjl.exType> <s: sequence>

<salement minOccurs="1" maxOccurs="1"

name="x" type="s:int" />

<s:element minOccurs="1" maxOccurs="1"

name="y" type="s:int" />

</s:sequence>

</s:complexType>

</s:element>

<s:element name="AddResponse">

<s:complexType>

<s:sequence>

<s:element minOccurs="1" maxOccurs="1"

name="AddResult" type="s:int" />

</s:sequence>

</s:complexType>

</s :elment>

</types>

Сообщение (Message). Абстрактное описание данных, передаваемых или принимаемых сервисом. Допустимо любое количество сообщений. В документе WSDL каждое сообщение описывается элементом <message>. Каждый элемент <message> содержит один или более элементов <part>, необходимых для описания данных по имени и типу.

<message name="AddSoapIn"> <!-- сообщение -->

<part name="parameters" element="s0:Add" /> <!-- параметры -->

</message> <!-- сообщение -->

<message name="AddSoapOut"> <!-- сообщение -->

<part name="parameters" element="s0:AddResponse" />

<!-- параметры -->

</message> <!-- сообщение -->

Тип порта (PortType). Абстрактный набор операций, поддерживаемых сервисом. В документе WSDL тип порта описывается элементом <portType>. Каждый элемент <portType> содержит один или более элементов <operation> (<действие>).

<portType name="TestSoap">

<operation name="Add"> <!-- операция -->

<input message="s0:AddSoap!n" />

<output message="s0:AddSoapOut" />

</operation> <!-- операция -->

</portType>

Операция (Operation). Абстрактное описание действия, поддерживаемого сервисом. В документе WSDL операция описывается элементом <operation>. Каждый элемент <operation> содержит элементы <input> и <output>, определяющие связанные сообщения. Дополнительные элементы <fault> также могут быть определены.

Привязка (Binding). Определение протокола и формата данных, предназначенных для типа порта. В документе WSDL привязка описывается элементом <binding>. У элемента <binding> есть атрибут «type», который определяет название типа порта. Для кодирования SOAP используется элемент <binding>, содержащий элемент <soap:binding> с атрибутами «style» («rpc» или «document») и «transport». Элемент <binding> содержит элементы <operation>, описывающие формат данных для каждой операции.

Порт (Port). Конечная точка, определенная в виде комбинации связывающего и сетевого адресов. В документе WSDL порт описывается элементом <port> под элементом <service>. У элемента <port> есть атрибут «binding», необходимый для присвоения имени связыванию, и атрибут «address location», необходимый для присвоения имени конечной точке сети, связанной с привязкой.

В Lotus Domino Designer 7 разработчик приложения может импортировать существующий файл WSDL в приложение и Domino Designer, затем сгенерирует классы на языке LotusScript или Java. Тем не менее, разработчики должны иметь в виду, что не все существующие WSDL-файлы могут быть интерпретированы Lotus Domino Designer 7. Некоторые файлы могут быть отклонены, в зависимости от используемых элементов XML.

Документ WSDL полностью описывает интерфейс  веб-сервиса с внешним миром. Единственной проблемой остается поиск веб-сервисов и их контрактов для решения конкретных задач. Для этого был разработан протокол UDDI.

Web-сервис  представляет собой программную  систему, предназначенную для  поддержки взаимодействия компьютеров  через сеть. Интерфейс Web-сервиса  описан в формате, который компьютер  способен обработать (в особенности  WSDL). Другие системы взаимодействуют  с Web-сервисом способами, предусмотренными  его описанием, с использованием  сообщений SOAP, которые обычно  передаются посредством HTTP с XML-преобразованием  вместе с другими стандартами,  связанными с Web. Lotus Domino Designer 7 включает элемент разработки приложений - Web-сервисы, а также встроенную поддержку языка описания Web-сервисов (WSDL). WSDL - это стандарт спецификации для описания сервисов, работающих по сети и основанных на XML. Он обеспечивает поставщиков услуг простым способом описания основного формата запросов к системам вне зависимости от основного времени выполнения.

Информация о работе Язык описания интерфейсов WSDL