Главная
Новости
Статьи и обзоры
Горожанин
Обнинск в Internet
Web Design
Hardware
Software
Безопасность
Серфинг
Игродром
Relax
Технологии
Web-обзор
Интернет-ликбез
Опросник
УП-Технологии
ART.net
Ссылки
Архив
О нас
Контакты
Форумы
Основатель: К.Николаенко
Главный Редактор: С.Коротков
Web Design: Neutron
|
|
= Технологии =
ВВЕДЕНИЕ В ВЕБ-СЕРВИСЫ
Андрей Филёв, Михаил Плизкин
продолжение: начало в #31(143),#32(144)
WSDL
При разработке веб-приложений часто возникает проблема получения клиентом информации об услугах, предоставляемых веб-сервисом, и способах обращения к ним. Для решения этой проблемы фирмами Microsoft, IBM и Ariba был разработан язык описания веб-сервисов - web Service Description Language (WSDL).
Отметим в первую очередь, что каждый документ WSDL является (по определению) документом XML. Эта особенность представляется очень логичной ввиду широкого распространения XML в качестве универсального формата хранения данных. Опишем вкратце структуру WSDL-документа (иногда называемого также контрактом):
- типы
- сообщения
- типы портов
- привязки
- порты
- сервисы
В каждое из этих понятий вкладывается вполне определенный смысл. Приведем соответствующие определения:
- Типы - это понятия, в терминах которых описываются сообщения
- Сообщения - это абстрактные представления передаваемых данных. Сообщения состоят из нескольких элементов, с каждым из которых связан некоторый тип данных в некоторой системе типов
- Типы портов - это наборы абстрактных операций, производимых с входящими и исходящими сообщениями.
- Привязки определяют конкретные протокол и формат данных для операций, введенных конкретным типом порта
- Порты вводят адреса для привязок, определяя тем самым точку входа для внешних каналов связи
- Сервисы - это наборы взаимосвязанных портов.
Приведем примеры использования каждого из понятий. Мы постараемся описать контракт простейшего сервиса, который в ответ на запрос выдает некий ответ. Большинство веб-сервисов, которые разработчикам придется создавать на первых порах, будут, вероятно, организованы столь же просто или будут распадаться на несколько взаимодействующих веб-сервисов с аналогичным контрактом. При этом внутрення структура может быть сколь угодно сложной, внешний же интерфейс может по-прежнему описываться достаточно просто.
<types>
<schema
targetNamespace="http://sitename.com/questionanswer.xsd"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="request">
<complexType>
<all>
<element name="contents" type="int"/>
</all>
</complexType>
</element>
<element name="responce">
<complexType>
<all>
<element name="contents" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>
На этом примере видно, как при помощи языка определения типа документа XML Schema определяются несколько новых типов данных (в нашем случае два).
Продолжение следует.
|
|