В. В. КЛИМОВ, Н. Л. САВИНОВ

Научный руководитель – Б. А. ЩУКИН, д. т.н., профессор

Национальный исследовательский ядерный университет «МИФИ»

Система динамической композиции
веб-сервисов на основе
их
WSDL и OWL-S описаний

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

В последнее время с ростом, расширением, слиянием различных организаций появляется и необходимость слияния их it-решений. Данная задача до недавнего времени была крайне трудоемкой, требовала команду высококлассных профессионалов, большое количество финансовых ресурсов, а предоставленные решения не отличались высоким качеством. Подобная ситуация не могла продолжаться долго, и рядом компаний было предложено несколько решений данной задачи, получивших общее название SOA (Service-oriented architecture). Несмотря на множество реализаций данной концепции, основной на данный момент является основанная на понятии веб-сервисов.

Под веб-сервисами понимают программные компоненты, интерфейсы которых описаны с использованием стандарта WSDL, опирающегося на XML. Вызов веб-сервисов может обеспечиваться с использованием практически любого Internet протокола (http, stmp). В связи с такой структурой, веб-сервисы имеют следующие серьезные достоинства:

·  могут быть написаны практически на любом языке программирования,

·  работать под любой операционной системой

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

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

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

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

Для решения ряда задач требуется:

·  построить сложную цепочку из последовательного и параллельного исполнения веб-сервисов

·  задать правила и порядок исполнения сервисов в этой цепочки.

Данная задача является достаточно нетривиальной. Решения, существующие на данный момент (BPEL4WS, WSCI) обладают множеством недостатков:

·  Не существует единого стандарта для композиции веб-сервисов.

·  Требуется покупать и разворачивать сложную и дорогую систему наподобие IBM WebSphere.

·  Требуется тратить время и деньги на обучение работы сотрудников с этой системой.

·  Стандарты не имеют технологий динамической (по запросу пользователя на желаемые им входы и выходы веб-сервиса) генерации веб-сервисов

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

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

Предлагаемая мною система решает поставленные задачи. В системе есть следующие компоненты:

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

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

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

Подобная легкость достигается за счет работы с двумя технологиями – OWL-S, являющегося семантическим расширением стандарта WSDL, а также самого стандарта WSDL. И если работа с первым стандартом является работой на перспективу (стандарт еще не признан ведущими фирмами-разработчиками, хотя идет его постепенное развитие), то второй – дает результат здесь и сейчас, так как все веб-сервисы работают сейчас с данным стандартом.

Данная система дает резкие преимущества перед существующими в данный момент тяжеловесными системами:

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

2. От пользователя системы требуется куда меньше навыков, чем при работе с коробочными версиями (наподобие IBM WebSphere).

3. Система является открытой и бесплатной.

4. Система работает не только с WSDL описаниями веб-сервисов, но и более перспективными OWL-S описаниями.

5. Система имеет модуль рекомендаций составления сложного веб-сервиса, аналогов которого на данный момент не существует.

6. Система позволяет получить композитный веб-сервис в виде простого WSDL-описания (пользователю не надо будет знать, какие и как веб-сервисы использовались при его создании).

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

Список литературы

1.Бибернштейн, Н. Компас в мире сервис-ориентированной архитектуры (SOA). Пер. с англ. –М.: КУДИЦ-пресс, 20с., ил.

2.The World Wide Web Consortium (W3C) [Электронный ресурс]// The World Wide Web Consortium (W3C). – (http://www. w3.org).