Понятие Web-службы. Стандарты, используемые web-службами. Архитектура web-службы. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Понятие Web-службы. Стандарты, используемые web-службами. Архитектура web-службы.



Web Service (или Web-служба) - набор услуг в виде программных приложений, идентифицированного сетевым адресом URI (Uniform Ressourse Identifier), интерфейсы и связывания (binding) которого определяются XML-средствами. Web-службы обеспечивают прямые взаимодействия через Интернет с другими агентами программного обеспечения, используя сообщения, основанные также на XML-формате.

Web Services – новая технология для развертывания распределенных вычислительных систем. Основная причина ее появления – неспособность существующих технологий, таких как объектные системы типа COM семейства Microsoft и стандарты OMG CORBA, в полной мере обеспечить совместимость (интероперабельность) различных программных продуктов для неоднородных распределенных систем. Технология Web Services предложена и развивается под эгидой WWW-консорциума W3C [1] ведущих компаний-производителей программного обеспечения.

Основу ее составляют:

· простейшие коммуникационные Интернет-протоколы HTTP и/или SMTP;

· протоколы SOAP (Simple Object Access Protocol) для управления сообщениями в универсальном XML-формате;

· язык WSDL (Web Services Definition Language) описания интерфейса взаимодействия компонент распределенной системы.

· UDDI: Универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description, and Integration). Каталог веб-служб и сведений о компаниях, предоставляющих веб-службы во всеобщее пользование или конкретным компаниям.

В архитектуре Web-служб рассматириваются две ее составные части: базовая (Basic Architecture) и расширенная (Extended Web Services Architecture) архитектура. Базовая архитектура включает в себя стандартный (обязательный) набор средств этой технологии, уже нашедший применение в различных реализациях Web-служб; расширенная архитектура в большей части ориентирована на дополнительные или перспективные спецификации, расширяющие возможности технологии, такие как:

· асинхронные сообщения,

· передача данных в режиме приложений (attachment) SOAP-сообщений,

· идентификация и конфиденциальность сообщений и др.

Базовая архитектура включает следующие технологии Web-служб:

· обмен сообщениями,

· обеспечение удаленного вызова процедур,

· описание услуг Web-служб,

· регистрация (публикация) и поиск (обнаружение) описаний услуг.


Язык WSDL. Структура WSDL-документа. Способы создания. Режимы операции WSDL.

WSDL (Web Services Description Language) версии 1.1 был опубликован 15 марта 2001 года. WSDL - это формат, базирующийся на XML и использующийся для описания сетевых cервисов, при помощи сообщений, содержащих информация о том как осуществлять доступ к конкретному веб-сервису. WSDL расширяем, что позволяет описывать услуги (сервисы) и их сообщения независимо от того, какие форматы сообщений или сетевые протоколы используются для транспорта, однако, чаще всего используется WSDL 1.1 вместе с SOAP 1.1, HTTP GET/POST и MIME. Поскольку WSDL был разработан совместно с SOAP, в его разработке участвовали все те же фирмы Microsoft, Ariba и IBM. Если рассматривать документ WSDL интуитивно, то можно сказать, что он позволяет ответить на 4 вопроса:

1 ) что вы делаете? Ответ на этот вопрос дается в форме пригодной как для восприятия человеком так и форме воспринимаемой машиной. Ответ для чел-ка в тегах: < name />, < documentation />, для машины - < message />, < pointType >

2 ) на каком языке вы разговариваете? (какие типы вы используете?)Ответ в теге: < types />

3 ) как я буду с вами общаться? (как клиент будет обращаться к веб-службе?):HTTP или SMTP. Ответ находится в < binding />

4) где мне вас найти? (где я могу найти эту веб-службу или какой у нее URL?). Ответ находится: < service />

Структура:

Каждый документ WSDL можно разбить на три логические части:

1. определение типов данных — определение вида отправляемых и получаемых сервисом XML сообщений

2. абстрактные операции — список операций, которые могут быть выполнены с сообщениями

3. связывание сервисов — способ, которым сообщение будет доставлено

Документы WSDL можно создавать вручную, однако строгая формализация языка WSDL позволяет автоматизировать процесс написания WSDL -документов. Многие интсрументальные средства создания Web-служб содержат утилиты, которые автоматичеки создают WSDL -файлы, описывающие готовые Web-службы. Например средство создания Web-служб Apache Axis содержит в своем составе класс Java2WSDL, создающий WSDL -файл по классу или интерфейсу Java, описывающему Web-службу. Пакет IBM WSTK, в состав которого входит Axis, содержит утилиту java2wsdl, создающую и запускающую объект из этого класса. Она работает из командной строки.

Элементы WSDL-документа

Опишем наиболее часто употребляемые теги WSDL:

Тег <definitions> – это корневой тег всех WSDL-документов. Он определяет несколько пространств имен:

1)target Name space – это пространство имен нашей веб-службы

2)xmlns – стандартное пространство имен документа WSDL

3)xmlns: SOAP_ENC – пространство имен используемое для описания кодировки SOAP

4)xmlns: impl и intf – пространство имен реализации и определения нашей веб-службы

Идейно содержание тега <definitions> можно разделить на 2 WSDL документа:

· Документ для определения веб-службы

· Документ для реализации веб-службы

Для простоты, как правило, используют 1 файл, который содержит всю информацию

Элемент <message> - предоставляет информацию о данных, которые передаются от одной конечной точки к другой.

Для описания вызова RPC необходимо создать входной сообщение и выходное сообщение.

В рамках этого элемента можно указать параметры метода с помощью элемента <part/>/

Элемент <portType> описывает и определяет операции или методы поддерживаемые веб-службой

Операции могут иметь входные сообщения, а также сообщения об ошибках.

Элемент <binding>- описывает, как операции определенные в типе порта будут передаваться по сети. Т.к. элемент использует тип порта, то он должен указывать тип определенный где-то ранее в документе.

Элемент <service> - указывает где найти веб службу

Элемент import. Очень часто элемент service выделяется в свой wsdl документ из соображений практичности.

Для того, чтобы позволить собрать из нескольких wsdl документов один используется элемент import. Он позволяет включать один wsdl документ в другой.

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

WSDL поддерживает 4 режима операций:

· операции типа one-way или односторонние операции. Сообщение посылается конечной точке службы. В этом случае операция описывается только одним входным сообщением.

· Request-Response – режим запрос-ответ. Этот режим операции является наиболее общим. В этом режиме описание операции содержит входное и выходное сообщение и необязательное сообщение об ошибке.

· Операция типа требование-ответ. В этом режиме конечной точкой является клиент другой конечной точки. Формат операции похож на режим запрос-ответ, но выходные данные перечисляются перед входными данными.

· Операция уведомление. Этот режим – еще одна версия примитива односторонней передачи, в которой конечная точка посылает сообщение а не получает его. Операция содержит только выходное сообщение.


Модели вызова Web-служб.

В настоящее время в литературе широко обсуждается 2 модели вызова веб-служб: статическая и динамическая

Статическая модель вызова является общепринятой и наиболее распространенной. Для того чтобы осуществить реализацию статической модели вызова мы должны получать сведения о существующей веб-службе, возможно посредством доступа к ее wsdl описанию потенциально найдя ее в реестре и сгенерировав код, который каким-либо образом поместит вызов службы в класс Java. Это делается для того, чтобы каждый кто будет использовать веб-службу не писал массу кода генерирующего XML, кодирющий вызов веб-службы.

Документ WSDL представляет собой соглашение между веб-службой и ее клиентом. Клиенту необходимо знать как была реализована веб-служба, какой язык программирования был использован и на какой платформе она работает.

Для создания Java интерфейса и Java класса, который реализует этот интерфейс используются различные части документов wsdl, которые скрывают детали службы от клиента. Для того, чтобы использовать статическую модель вызова необходимо выполнить 2 шага:

1.сгенерировать Java интерфейс, который будет представлять тип порта в документе wsdl

2.генерация класса заглушки, которая будет реализовывать интерфейс, сгененрированный в первом шаге и содержать реализацию протокольного связывания определенного в документе wsdl.

Диаграмма которая показывает структуру статического клиента веб-службы:

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

Динамическая модель вызова.

Одна из тенденций технологии веб-служб – это увеличение уровня автоматизации во взаимодействии приложений. Это означает, что приложения могут устанавливать канал связи не зная подробностей друг о друге (кроме документа wsdl) или что изменения в существующей системе или службе могут быть использованы без необходимости пользователю этой системы вручную проделывать изменения.



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 347; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.67.251 (0.01 с.)