Автор работы: Пользователь скрыл имя, 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
Содержание:
Введение…………………………………………………………
История……………………………………………………………
WSDL (WEB Services Description Language)……………………………………5
Версии 1.1 и 2.0………………………………………………………………….
Коммерческие предпосылки использования Web-сервисов………………….14
Заключение……………………………………………………
Список
используемой литературы…………………………………………….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-документах и импортирована
в виде различных комбинаций, что
позволяет создавать
Типы
данных веб-сервисов основаны на XML-схемах,
но могут быть распространены на любые
другие механизмы. WSDL-описания типов
данных базируются на XML-схемах, но здесь
годятся для использования и
другие эквивалентные или аналогичные
системы определения типов
Ниже показан скелет описания сервисов на языке WSDL.
<?xml version="1.0" ?>
<definitions name="Stocks" tsrgetNamespace=url
xmlns:soap="http://(soaporg)/
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/
</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-сервис
представляет собой