Язык описания интерфейсов WSDL
Web-сервис как программная система, идентифицируемая с помощью некоторого URI, общедоступный интерфейс и связывания которого определяются и описываются с помощью языка описания интерфейсов WSDL. История, коммерческие предпосылки использования сервисов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 19.01.2012 |
Размер файла | 169,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание:
Введение
История
WSDL (WEB Services Description Language)
Версии 1.1 и 2.0
Коммерческие предпосылки использования Web-сервисов
Заключение
Список используемой литературы
Введение
В связи с широчайшим распространением сетевых технологий в настоящее время многие производители аппаратного и программного обеспечения прилагают свои усилия к выработке различных парадигм и методологий использования этих самых технологий. Не осталась в стороне, разумеется, и корпорация 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-схемы может применяться язык описания интерфейса (InterfaceDefinition 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>
<salementminOccurs="1" maxOccurs="1"
name="x" type="s:int" />
<s:elementminOccurs="1" maxOccurs="1"
name="y" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddResponse">
<s:complexType>
<s:sequence>
<s:elementminOccurs="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», необходимый для присвоения имени связыванию, и атрибут «addresslocation», необходимый для присвоения имени конечной точке сети, связанной с привязкой.
В LotusDominoDesigner 7 разработчик приложения может импортировать существующий файл WSDL в приложение и DominoDesigner, затем сгенерирует классы на языке LotusScript или Java. Тем не менее, разработчики должны иметь в виду, что не все существующие WSDL-файлы могут быть интерпретированы LotusDominoDesigner 7. Некоторые файлы могут быть отклонены, в зависимости от используемых элементов XML.
Документ WSDL полностью описывает интерфейс веб-сервиса с внешним миром. Единственной проблемой остается поиск веб-сервисов и их контрактов для решения конкретных задач. Для этого был разработан протокол UDDI.
Web-сервис представляет собой программную систему, предназначенную для поддержки взаимодействия компьютеров через сеть. Интерфейс Web-сервиса описан в формате, который компьютер способен обработать (в особенности WSDL). Другие системы взаимодействуют с Web-сервисом способами, предусмотренными его описанием, с использованием сообщений SOAP, которые обычно передаются посредством HTTP с XML-преобразованием вместе с другими стандартами, связанными с Web. LotusDominoDesigner 7 включает элемент разработки приложений - Web-сервисы, а также встроенную поддержку языка описания Web-сервисов (WSDL). WSDL - это стандарт спецификации для описания сервисов, работающих по сети и основанных на XML. Он обеспечивает поставщиков услуг простым способом описания основного формата запросов к системам вне зависимости от основного времени выполнения.
Ограничения в реализации Web-сервисов в LotusDomino 7 выражаются в следующем:
На «родном» уровне поддерживаются только те элементы, которые предоставляются провайдером.
Связь должна выполняться по простому протоколу доступа к объектам (SOAP) с помощью протоколов HTTP POST. Элемент Web-сервиса характеризуется следующими параметрами:
Скомпилированный Web-сервис, подобно Web-агенту, представляет собой отдельную автономную программу в базе данных LotusDomino. Для того чтобы им воспользоваться, необходимо включить Web-сервис или от реплицировать его на сервер, к которому имеется Web-доступ. К нему можно получить доступ с помощью одной из приведенных ниже URL-команд LotusDomino:
· Open Web Service: используя протокол HTTP POST, запускает Web-сервис. Если использован протокол HTTP GET, то команда Open Web Service вернет некоторую информацию об этом сервисе.
· WSDL: запрашивает у Web-сервиса его WSDL-документ.
Web-сервис можно протестировать во время HTTP-сессии в режиме предварительного просмотра LotusNotes или LotusDominoDesigner.
Web-сервис имеет те же возможности безопасности, что и агент.
Вы можете импортировать существующий WSDL-документ, чтобы сгенерировать каркас Web-сервиса. Каркасный код соответствует описанию Web-сервиса. Затем вы добавляете исполнительный код.
В качестве альтернативы можно приступить к созданию Web-сервиса с черновика, написав собственный код на языке Java или LotusScript, чтобы создать описание Web-сервиса.
программный система интерфейс язык
Версии 1.1 и 2.0
Последняя официальная версия 2.0 (WSDL Version 2.0 от 26 июня 2007 года), которая имеет статус рекомендации, и версия 1.1 (WSDL Version 1.1 от 15 марта 2001 года), которая имеет статус заметки (note).
Структура
Каждый документ WSDL можно разбить на следующие логические части:
определение типов данных (types) -- определение вида отправляемых и получаемых сервисом XML сообщений
элементы данных (message) -- сообщения, используемые web-сервисом
абстрактные операции (portType) -- список операций, которые могут быть выполнены с сообщениями
связывание сервисов (binding) -- способ, которым сообщение будетдоставлено.
Пример WSDL
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
Коммерческие предпосылки использования Web-сервисов
Начиная с DominoRelease 5 появилась возможность написания приложений вне сервера LotusDomino и получения доступа к данным LotusDomino напрямую. Этого удалось достичь за счет использования привязок COM и CORBA к внутренним классам. Тем не менее, проблема проверки достоверности и согласованности данных, возможно, не была решена соответствующим образом с помощью внешних приложений. Web-сервисы предоставляют хороший компромисс между прямым доступом к данным и возможностью выполнения сетевых операций. Они представляют собой путь раскрытия функций приложений и данных в сети. Разработчики приложений на языке Java, Microsoft .NET, а также многих других могут получить доступ к данным LotusDomino, просто используя Web-сервисы.
Преимущества приложения, в котором внедрены Web-сервисы, лучше всего продемонстрировать на приложении ITSO Electronics, которое предоставляет клиентам текущую информацию о продуктах. Например, если приложение ITSO Electronics обещает пользователям доступ к информации о продуктах компании ITSO Electronics, ему необходимо разрешить доступ внешних приложений к базе данных покупателей вне зависимости от используемого приложения, будь то Java, J2EE или .NET. В связи с тем, что приложение покупателя отправляет запрос о получении информации Web-сервису, оно должно быть не зависимо от платформы и операционной системы. Элемент Web-сервиса получает запрос о получении данных в виде сообщения XML. Следовательно, если пользователь введет запрос в форму приложения покупателя с целью получения информации о продукте компании ITSO Electronics, Web-сервис получит запрос в виде сообщения SOAP в формате XML и отправит ответ клиенту таким же образом. Используя расширенную поддержку, приложение ITSO Electronics может расширить свою функциональность в целях получения информации о цене продуктов от множества производителей. Используя Java, элемент Web-сервиса может отправлять запросы на получение данных на множество URL-адресов, запрашивая данные о цене, используя протокол XML. Все запросы отправляются в виде сообщений SOAP, и ответы приходят в таком же формате, в приложении ITSO Electronics. Пользователь при этом не знает ни о типе базы данных, из которой получает данные, ни об операционной системе, ни о платформе. Пользователи получают доступ, по-видимому, к неограниченному запасу данных, представленному с особой эффективностью.
Заключение
Для создания открытой распределенной системы необходимо использование общепринятых языков описания интерфейса программной компоненты. В настоящий момент существует ряд апробированных на практике стандартов для передачи данных в гетерогенных распределенных системах: XML, XSD, SOAP и WSDL. Их использование позволяет создавать системы, не привязанные жестко к какому либо средству разработки программ или транспортному протоколу. Однако открытый характер спецификации SOAP допускает как реализацию использующей ее промежуточной средой некоторой дополнительной функциональности, так и принятие все новых стандартов и расширений, использующих заголовки SOAP. Это может привести к определенным сложностям при взаимодействии основанных на WSDL и SOAP программных компонент различных разработчиков.
Список используемой литературы:
1. http://progclub.ru/param=book&name=arh_net&dir=glava11&file=index13
2. http://www.mycode.ws/index.php?elif=soap/0c6a74669f0a8b70f77699437cc33031.htm
3. http://kunegin.narod.ru/ref6/web/6.htm
4. Книга по Lotus. Разработка приложений в среде Domino 7
Размещено на Allbest.ru
Подобные документы
Поисковые системы. Описание и сравнение сервисов поисковых систем, предоставляемых пользователям. Сравнительный анализ интерфейсов. Риски использования поисковых систем. Блокировка вирусных сайтов. Загруженность главной страницы новостями и рекламой.
презентация [198,3 K], добавлен 17.01.2014Интерфейс пользователя. Виды интерфейсов: командный, графический и семантический. Речевая и биометрическая технология. Методы разработки пользовательского интерфейса, его стандартизация. Типы интерфейсов: процедурно- и объектно- ориентированные.
контрольная работа [147,9 K], добавлен 07.05.2009Основные понятия, применяемые при описании интерфейсов, их классификация. Обзор применяемых в компьютерной технике интерфейсов по их характеристикам и области применения. Описание и основные характеристики интерфейсов IDE, IEEE-1394, HDMI 1.4 и SATA.
курсовая работа [183,3 K], добавлен 25.04.2012Понятие и назначение интерфейса, его структура и компоненты, порядок их взаимодействия. Этапы разработки и особенности пакетной технологии. Простой графический интерфейс. Краткое описание современных внешних интерфейсов: USB, FireWire, IrDA, Bluetooth.
реферат [506,8 K], добавлен 27.03.2010Принципы и методы разработки пользовательских интерфейсов, правила их проектирования. Классические способы создания прототипов пользовательских интерфейсов в Microsoft Expression Blend. Работа с текстом и графическими изображениями в Expression Blend.
курсовая работа [1,5 M], добавлен 19.03.2012Язык разметки гипертекста HTML, основы работы с Delphi. Разработка формата файла базы данных цвета. Методика подбора цвета для WEB-страниц. Изучение и систематизация информации о правилах создания эргономичных интерфейсов (в том числе WEB-интерфейсов).
курсовая работа [475,8 K], добавлен 17.07.2009Разработка кода на С++, реализующего простой интерфейс СОМ без динамической компоновки, результаты работы программы. Объявление интерфейсов IX, IY, IZ и IUnknown. Добавление подсчета ссылок с помощью реализации двух методов IUnknown – AddRef и Release.
контрольная работа [1,6 M], добавлен 14.11.2010Изучение нейро-компьютерных интерфейсов - физических интерфейсов приёма или передачи сигналов между живыми нейронами биологического организма (например, мозгом животного) с одной стороны, и электронным устройством (например, компьютером) с другой стороны.
контрольная работа [374,2 K], добавлен 25.11.2010Архитектура программируемых логических контроллеров - промышленных компьютеров. Устройство вспомогательных интерфейсов. Разнообразие сетевых интерфейсов и коммуникационных модулей. Изучение среды программирования контроллеров фирмы Siemens Step7.
презентация [1,0 M], добавлен 06.08.2013Основные стандарты usability-тестирования интерфейсов информационных систем. Количественные и качественные методы оценки тестирования. Технология Eye-tracking. Постановка целей и задач для тестирования сайта Налоговой службы Российской Федерации.
дипломная работа [3,3 M], добавлен 11.06.2017