Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОКС.doc
Скачиваний:
13
Добавлен:
04.12.2018
Размер:
536.58 Кб
Скачать

23. Серверы приложений.

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

- взаимодействует с клиентами, получая задания; и

- взаимодействует с базами данных, выбирая данные, необходимые для обработки.

24. Стек веб-сервисов.

Стек технологий веб-сервисов принципиально разбивается на следующие две составляющие:

- технологии, обеспечивающие функциональность веб-сервисов (Functions);

- технологии, обеспечивающие качество сервиса веб-сервисов (Quality of service).

Эти составляющие в свою очередь образуются несколькими слоями (layers):

- технологии, обеспечивающие функциональность веб-сервисов:

- транспортный слой (transport layer);

- коммуникационный слой (service communication layer);

- слой описаний сервисов (service description layer);

- сервисный слой (service layer);

- слой бизнес-процессов (business process layer);

- слой реестров сервисов (service registry layer).

- технологии, обеспечивающие качество сервиса веб-сервисов:

- слой политик (policy layer);

- слой безопасности (security layer);

- слой транзакций (transaction layer);

- слой управления (management layer).

Ответ на вопрос №24

Стек протоколов веб-сервисов

Итак, концепция сервисно-ориентированной архитектуры подразумевает реализацию бизнес-процессов предприятия в виде совокупности сервисов, взаимодействующих друг с другом либо с пользователями в определенной последовательности и в соответствии с определенными правилами. Отметим, что, вообще говоря, это весьма нетривиальная задача - определить эту "определенную последовательность" и "определенные правила" таким стандартным для разработки бизнес-приложений образом, чтобы покрыть весь спектр существующих сценариев взаимодействия бизнес-объектов, учитывая исторически сложившееся многообразие технической и технологической реализации этого взаимодействия и самих бизнес-объектов. Решить эту задачу в рамках какой-либо единой технологии пока не удалось. И хотя тенденция консолидации существующего множества технологий веб-сервисов в настоящее время налицо, для реализации сервисно-ориентированных архитектур с помощью веб-сервисов сейчас применяется совокупность технологий, образующих так называемый стек технологий веб-сервисов (см. Рис. 2).

Стек технологий веб-сервисов принципиально разбивается на следующие две составляющие:

технологии, обеспечивающие функциональность веб-сервисов (Functions);

технологии, обеспечивающие качество сервиса веб-сервисов (Quality of service).

Эти составляющие в свою очередь образуются несколькими слоями (layers):

технологии, обеспечивающие функциональность веб-сервисов:

транспортный слой (transport layer);

коммуникационный слой (service communication layer);

слой описаний сервисов (service description layer);

сервисный слой (service layer);

слой бизнес-процессов (business process layer);

слой реестров сервисов (service registry layer).

технологии, обеспечивающие качество сервиса веб-сервисов:

слой политик (policy layer);

слой безопасности (security layer);

слой транзакций (transaction layer);

слой управления (management layer).

В целях понимания назначения слоев, дадим краткое описание каждого из них.

Таблица 1: Стек протоколов веб-сервисов

 № 

 Наименование слоя 

 Назначение слоя 

 Технологии, реализующие слой 

Функциональность (Functions)

1

Транспортный слой (Transport layer)

Описывает средства обмена данными между веб-сервисами

Стандартные: HTTP,

HTTPS, JMS (для Java-приложений), SMTP Нарождающиеся: WS-ReliableMessaging, BEEP

2

Коммуникационный слой (Service communication layer)

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

Стандартные: SOAP Нарождающиеся:REST

3

Слой описаний сервисов (Service description layer)

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

операционное (operational);

полное (complete)

Стандартные: XML, WSDL Нарождающиеся: ebXML

4

Сервисный слой (Service layer)

Описывает программное обеспечение, вызываемое с помощью WSDL-описаний интерфейсов веб-сервисов. В частности, это сами веб-сервисы

 

5

Слой бизнес-процессов (Business process layer)

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

Стандартные: в настоящее время нет Нарождающиеся: BPEL4WS

6

Слой реестров сервисов (Service registry layer)

Описывает возможности организации веб-сервисов в иерархические библиотеки, позволяющие публикацию, поиск и вызов веб-сервисов по их WSDL-описаниям интерфейсов

Стандартные: UDDI Нарождающиеся: WS-Inspection

Качество сервиса (Quality of service)

7

Слой политик (Policy layer)

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

Стандартные: в настоящее время нет Нарождающиеся: WS-Policy, WS-PolicyAssertions и WS-PolicyAttachment

8

Слой безопасности (Security layer)

Описывает возможности обеспечения безопасности веб-сервисов и безопасности их функционирования (авторизация, аутентификация и разделение доступа)

Стандартные: WS-Security Нарождающиеся: WS-SecureConversation, WS-Federation, WS-Authorization, WS-Trust и WS-Privacy

9

Слой транзакций (Transaction layer)

Описывает свойство транзакционности распределенных систем на основе веб-сервисов для обеспечения надежности их функционирования

Стандартные: в настоящее время нет Нарождающиеся: WS-Transaction и WS-Coordination

10

Слой управления (Management layer)

Описывает возможности управления веб-сервисами и характеристиками их функционирования

 

Представленный выше стек технологий веб-сервисов вводит иерархию во множество технологий веб-сервисов в соответствии с их функциональным назначением. При этом в таблице указаны лишь наиболее широко применяемые и устоявшиеся технологии. Стандартными названы технологии, получившие официальный статус стандартов международных консорциумов по разработке IT-стандартов (W3C, OASIS либо WS-I).

25. Веб-сервисы и SOAP

Веб-сервисы и SOAP призваны решить проблемы кросс-платформенного взаимодействия приложений. Статья поможет получить представление об этих новых перспективных технологиях.

Что такое SOAP

В настоящее время используемые технологии удаленного вызова методов (DCOM, CORBA/IIOP и RMI) довольно сложны в настройке и организации взаимодействия. Это влечет за собой проблемы в эксплуатации и функционировании распределенных систем (проблемы безопасности, транспорт через брандмауэры и т.д.). Существующие проблемы успешно решены созданием SOAP (Simple Object Access Protocol), простого протокола, основанного на XML, для обмена сообщениями в распределенных средах (WWW). Он предназначен для создания веб-сервисов и удаленного вызова методов. SOAP можно использовать с разными транспортными протоколами, включая HTTP, SMTP и т.д.

Что такое веб-сервисы

Веб-сервисы - это функциональность и данные, предоставляемые для использования внешними приложениями, которые работают с сервисами посредством стандартных протоколов и форматов данных. Веб-сервисы полностью независимы от языка и платформы реализации. Технология веб-сервисов является краеугольным камнем программной модели Microsoft .NET.

Для демонстрации возможностей SOAP я использовал недавно вышедшую реализацию SOAP Toolkit версии 2.0 от Microsoft. Следует заметить, что текущая версия Toolkit заметно отличается от предыдущей (Microsoft SOAP Toolkit for Visual Studio 6.0) и от бета версии SOAP Toolkit 2.0.

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

SOAP - это базовая однонаправленная модель соединения, обеспечивающая согласованную передачу сообщения от отправителя к получателю, потенциально допускающая наличие посредников, которые могут обрабатывать часть сообщения или добавлять к нему дополнительные элементы. Спецификация SOAP содержит соглашения по преобразованию однонаправленного обмена сообщениями в соответствии с принципом "запрос/ответ", популярным при организации соединения типа RPC, а также определяет, как осуществлять передачу всего XML-документа.

SOAP-сообщения содержат конверт, заголовок и тело сообщения. SOAP-сообщения состоят из нескольких основных частей.

Envelope (конверт) - определяет начало и конец сообщения.

Header (заголовок) - содержит любые дополнительные атрибуты сообщения, используемые в ходе обработки сообщения как посредником, так и конечным получателем.

Body (тело сообщения) - содержит XML-данные, передаваемые данным сообщением.

Attachment (вложение) - состоит из одного и более документов, "прикрепленных" к основному сообщению. (Относится только к SOAP with Attachments ("SOAP с вложениями").)

RPC interaction (SOAP:RPC-взаимодействие) - определяет, как моделировать взаимодействия RPC-типа.

Encoding (кодировка) - определяет, как будут представлены простые и сложные данные, передаваемые в сообщении.

Обязательными являются только конверт и тело сообщения.

Рис. 1.8. SOAP-сообщения осуществляют соединение удаленных узлов

Рис. 2. Схема взаимодействия клиента и сервера по протоколу SOAP

Библиотека ROPE посылает запрос по Web-адресу, предоставленному клиентом, и запрашивает у сервера SDL-файл. Запрос попадает к программе Listener, которая может быть написана как с использованием технологии ASP, так и с применением Internet Server API (ISAPI). Независимо от реализации клиенту будет отправлен SDL-файл.

Библиотека ROPE на основе SDL-файла создает объект Proxy, с помощью которого клиент может вызвать какой-либо метод серверного объекта, в частности по нажатию на кнопку Get Quotation метод Proxy.

Метод объекта транслируется библиотекой и отправляется в виде HTTP-запроса на сервер.

Listener и в этот раз перехватывает и переправляет этот запрос библиотеке ROPE, которая, разобрав посланный XML-текст, вызывает серверный объект с необходимыми параметрами и возвращает клиенту «упакованные» в XML результаты работы.

Для желающих более подробно разобраться с протоколом SOAP и инструментарием SOAP Toolkit в документации последнего приведен довольно сложный пример, демонстрирующий более тонкие вопросы взаимодействия клиента и сервера.

Протокол SOAP будет «встроен» в ожидаемую в ближайшее время версию Visual Studio, и тогда разработчики смогут использовать технологию Web-сервисов (Web Service) с помощью SOAP точно так же, как они реализуют обычные COM-серверы и COM-клиенты. Microsoft планомерно проводит в жизнь свой лозунг «Focus on business problem, not on plumbing» (сосредоточьтесь на бизнесе, а не на прокладке водопроводов), только теперь логика функционирования системы выходит на новый уровень — глобальных сетей и огромных корпоративных систем. А чтобы не затеряться в этом новом компьютерном мире, представление о нем лучше получить уже сейчас.