Архитектура XML Web-сервисов: модели и механизмы

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

Web-сервисы — это программные компоненты, которые имеют интерфейс, описан­ный в формате, пригодном для компьютерной обработки, как правило — это WSDL-формат, и взаимодействие с которыми осуществляется согласно их WSDL- описанию с помощью сообщений, передаваемых обычно по HTTP-протоколу.


Оглавление статьи[Показать]


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

Различные реализации интерфейса Web-сервиса по-разному реализуют его общую функциональность, предоставляя многообразие услуг в рамках одного сервисного набора.

Конкретную реализацию интерфейса Web-сервиса обеспечивает агент — про­граммный компонент, осуществляющий отправку и получение сообщений и принадлежащий поставщику сервиса. Клиент, осуществляющий запрос к Web-сервису с помощью клиентского приложения, также именуемого агентом, называется потребителем сервиса.

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

WSDL-описание Web-сервиса определяет формат сообщений, участвующих в об­мене, тип передаваемых данных, протокол передачи сообщений и адреса доставки сообщений Web-сервису.

Архитектура XML Web-сервисов описывается набором моделей:

  • Message Oriented Model — модель описывает сообщения Web-сервиса, включая структуру сообщений и механизм их доставки;
  • Service Oriented Model — модель характеризует сервис, выполняемые действия при взаимодействии с сервисом, агентов поставщиков и потребителей сервиса, а также определяет метаданные, используемые для описания сервиса;
  • Resource Oriented Model — модель описывает Web-сервисы как ресурсы, иден­тифицируемые URI-адресом, принадлежащие поставщикам сервиса и предос­тавляемые потребителям сервиса;
  • Policy Model — модель описывает условия доступа к ресурсам.

 

Модель Message Oriented

Модель Message Oriented Model (MOM) описывает сообщения и их обработку, включая структуру сообщений, отношения между отправителем и получателем сообщений, а также механизм их передачи.

MOM определяет понятия адреса, политики доставки, сообщения, тела сообщения, корреляции сообщения, оболочки сообщения, модели обмена сообщениями Message Exchanage Pattern (MEP), заголовка сообщения, получателя сообщения, надежности сообщения, отправителя сообщения, последовательности сообщений, транспортировки сообщений.

Для того чтобы сообщение было доставлено получателю, необходим адрес достав­ки сообщения.

Формат адреса доставки сообщения зависит от механизма транспортировки сооб­щения. В случае HTTP-протокола передачи сообщений — это URL-адрес получателя.

Адрес доставки сообщения может содержаться в самом сообщении, как правило, в его оболочке.

Политика доставки — это условия доставки сообщения, которые могут заключать­ся в гарантиях доставки сообщения, его кодировке при передаче, формировании отчета о доставке и т. д.

Модель MOM определяет сообщение как единицу данных, передаваемую от одного агента другому. Структура сообщений определяется в WSDL-описании Web- сервиса.

Сообщение состоит из конверта (оболочки), одного или нескольких заголовков и тела сообщения. Конверт сообщения служит контейнером для его компонентов и может содержать информацию об адресе доставки сообщения. Заголовок сообще­ния содержит информацию о сообщении, относящуюся к системе безопасности, механизму транзакций, маршрутизации сообщения и т. д. Заголовок сообщения может обрабатываться независимо от самого сообщения, поэтому каждое сообщение может иметь различные заголовки, определяющие способы обработки тела со­общения. Тело сообщения содержит его контент или адрес соответствующего ре­сурса данных.

Клиент может вызывать Web-сервис с помощью простых HTTP-запросов GET и POST. В случае GET-запроса заголовок сообщения — это HTTP-заголовок, а параметры URL — это тело сообщения. В случае POST-запроса заголовок сообщения — это HTTP-заголовок, а тело сообщения — это передаваемые данные.

В ответ на HTTP GET- и POST-запросы XML Web-сервис передает клиенту сооб­щения в XML-формате.

Если клиент взаимодействует с Web-сервисом по SOAP-протоколу, тогда сообще­ния, участвующие в обмене, имеют SOAP-структуру, состоящую из конверта, заголовков и тела.

При обмене сообщениями с Web-сервисом устанавливается соответствующий кон­текст, в котором сообщение запроса ассоциируется с сообщением ответа, что важно в случае асинхронного обмена.

Обмен сообщениями с Web-сервисом регламентируется шаблоном Message Exchange Pattern (MEP), который определяет поток сообщений (последователь­ность) между агентами, включая обработку ошибок и связи между входящими и выходящими сообщениями.

Шаблоны MEP могут описывать обмен сообщениями не только с одним Web- сервисом, но и последовательности, в которых Web-сервисы взаимодействуют друг с другом.

Модель MOM определяет надежность и гарантированность сообщения как степень уверенности, что сообщение будет доставлено в необходимом порядке. Механизм надежности и гарантированности уменьшает ошибки и обеспечивает информацию о статусе доставки, делая возможным, в случае возникновения ошибки доставки, повторную отправку сообщения и восстановления его порядка доставки.

 

Модель Service Oriented

Модель Service Oriented Model (SOM) описывает сервис и действия.

Модель SOM определяет сервис как ресурс, представляющий возможность выпол­нения задач, реализующих функциональность, которая определена поставщиком сервиса. Чтобы сервис мог использоваться, он должен быть реализован хотя бы одним агентом.

Web-сервис, так же как и Web-ресурс, идентифицируется URI-адресом, однако главное отличие Web-сервиса от Web-ресурса в том, что Web-сервис необязательно должен иметь представление — данные состояния ресурса в общедоступных фор­матах XML, HTML, CSS, JPEG, PNG, получаемые с помощью метода HTTP GET.

Web-сервис имеет свое описание, которое представляет собой набор документов, подлежащий компьютерной обработке и содержащий описание интерфейса Web- сервиса и его поведения. Описание Web-сервиса может быть реализовано с по­мощью языка Service Description Language (SDL) в виде набора XML-документов.

Описание Web-сервиса может использоваться для его конструирования, разверты­вания, определения местонахождения, установления связи между агентами потре­бителя и поставщика сервиса.

Web-сервис ассоциируется с действиями, решающими определенные задачи, кото­рые представляют функциональность сервиса. Модель SOM определяет действие как операцию, которая может быть выполнена агентом в результате получения или отправки сообщения или другого изменения состояния. Обычно действия реализу­ются путем выполнения фрагмента программы, представляющей агента получателя или отправителя сообщения.

Агент — это программа, исполняющая действия и реализующая потребителя или поставщика Web-сервиса.

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

Хореография Web-сервисов может описываться языком Choreography Description Language (CDL), который определяет композицию сервисов, их роли и связи, а также управление состоянием системы связанных сервисов.

Последовательность и условия, при которых один Web-сервис вызывает другие Web-сервисы для решения конкретной задачи, определяются оркестровкой Web- сервисов.

 

Модель Resource Oriented

Модель Resource Oriented Model (ROM) описывает ресурсы.

Модель ROM определяет ресурс как объект, имеющий имя-идентификатор, свое представление и собственника, обладающего правом назначать политику ресурса, которая определяет правила взаимодействия с ресурсом.

Web-сервисы являются разновидностью ресурсов, которые имеют описание, при­годное для компьютерной обработки и содержащее идентификатор ресурса в виде URI-адреса. С помощью описания потребитель узнает о полезности ресурса и уста­навливает связь с ним. Описание облегчает поиск и доступ к ресурсу, включая в себя информацию о местонахождении ресурса, способах доступа к ресурсу и поли­тиках ресурса.

Как было сказано ранее, Web-сервисы — это разновидность ресурсов, отличаю­щаяся от обычных Web-ресурсов тем, что Web-сервисы необязательно должны иметь свое представление — данные состояния ресурса, получаемые с помощью запроса HTTP GET.

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

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

 

Модель Policy

Модель Policy Model описывает политики сервиса, представляющие собой ограни­чения на допустимые действия или состояния агентов или их собственников.

Политики могут определять ограничения относительно доступа к ресурсам/состояний ресурсов или возможных действий/состояний агентов поставщиков или потребителей сервисов.

Политики могут быть двух типов:

  • политики разрешений;
  • политики обязательств.

Политика разрешений позволяет агентам выполнять определенные действия, иметь доступ к определенным ресурсам, достигать определенного состояния.

За выполнением политики разрешений следит механизм защиты разрешений, га­рантирующий соответствие использования сервиса — политики, установленной поставщиком сервиса.

Политика обязательств выдвигает требования для агентов исполнять определенные действия или достигать определенных состояний.

За выполнением политики обязательств следит механизм аудита, проверяющий выполнение обязательств, установленных поставщиком сервиса.

Политики могут иметь описание в формате, пригодном для компьютерной обра­ботки. Описание политики определяет ее и используется для решения применения политики к конкретной ситуации.

Вас заинтересует / Intresting for you:

XML-технология: элементы и атр...
XML-технология: элементы и атр... 10023 просмотров Денис Fri, 02 Nov 2018, 10:32:14
Установка PHP 7 на Windows
Установка PHP 7 на Windows 2437 просмотров Zero Cool Wed, 17 Oct 2018, 11:56:42
Как установить PHP 7.3 на Cent...
Как установить PHP 7.3 на Cent... 8585 просмотров Андрей Васенин Fri, 29 May 2020, 16:25:32
Настройка и использование Joom...
Настройка и использование Joom... 1495 просмотров Гвен Mon, 21 Mar 2022, 14:19:59
Войдите чтобы комментировать