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

advertisement
УДК 004.4(06) Технологии разработки программных систем
В.В. КЛИМОВ, Н.Л. САВИНОВ
Научный руководитель – Б.А. ЩУКИН, д.т.н., профессор
Национальный исследовательский ядерный университет «МИФИ»
СИСТЕМА ДИНАМИЧЕСКОЙ КОМПОЗИЦИИ
ВЕБ-СЕРВИСОВ НА ОСНОВЕ
ИХ WSDL И OWL-S ОПИСАНИЙ
Данная система предназначена для разработчиков программного обеспечения, желающих при помощи
простых манипуляций создать и использовать в своем приложении композитный веб-сервис.
В последнее время с ростом, расширением, слиянием различных организаций появляется и необходимость слияния их it-решений. Данная задача до недавнего времени была крайне трудоемкой, требовала команду высококлассных профессионалов, большое количество финансовых ресурсов, а предоставленные
решения не отличались высоким качеством. Подобная ситуация не могла продолжаться долго, и рядом
компаний было предложено несколько решений данной задачи, получивших общее название SOA (Serviceoriented architecture). Несмотря на множество реализаций данной концепции, основной на данный момент
является основанная на понятии веб-сервисов.
Под веб-сервисами понимают программные компоненты, интерфейсы которых описаны с использованием стандарта WSDL, опирающегося на XML. Вызов веб-сервисов может обеспечиваться с использованием практически любого Internet протокола (http, stmp). В связи с такой структурой, веб-сервисы имеют следующие серьезные достоинства:

могут быть написаны практически на любом языке программирования,

работать под любой операционной системой

быть доступными для других приложений, которым не требуется знать о веб-сервисах ничего, кроме их интерфейса.
Указанные преимущества приводит к возможности легкого создания слабо-связных приложений без
привязки к языку программирования, среде исполнения и местоположению компонент этих приложений.
На данный момент реализовано много различных веб-сервисов, а также систем для их поиска (UDDI,
ebXML). Данные системы позволяют находить веб-сервисы по производителю, дате создания и нескольким
другим параметрам, а после использовать их в своем приложении.
Однако веб-сервисы, написанные простыми разработчиками, или крупными компаниями, редко предоставляют необходимые для их пользователя возможности.
Для решения ряда задач требуется:

построить сложную цепочку из последовательного и параллельного исполнения веб-сервисов

задать правила и порядок исполнения сервисов в этой цепочки.
Данная задача является достаточно нетривиальной. Решения, существующие на данный момент
(BPEL4WS, WSCI) обладают множеством недостатков:

Не существует единого стандарта для композиции веб-сервисов.

Требуется покупать и разворачивать сложную и дорогую систему наподобие IBM WebSphere.

Требуется тратить время и деньги на обучение работы сотрудников с этой системой.

Стандарты не имеют технологий динамической (по запросу пользователя на желаемые им входы и
выходы веб-сервиса) генерации веб-сервисов
Поэтому разработчику, желающему создать композитный веб-сервис, требуется предварительно изучить
несколько спецификаций, инструментальных средств, и только потом создать свой композитный сервис.
Подобный подход применим в крупных компаниях, готовых тратить множество ресурсов на долгосрочную
серьезную разработку. Но такой метод неприменим для простых разработчиков, желающих быстро получить и использовать в своем коде композитный веб-сервис.
В связи с этим появляется необходимость создания системы динамической композиции веб-сервисов.
Данная система требует от пользователя, желающего создать композитный сервис из других веб-сервисов,
всего лишь указать желаемые входы и выходы получаемого сервиса. Также от пользователя требуется указать предметную область, для которой создается веб-сервис.
УДК 004.4(06) Технологии разработки программных систем
Предлагаемая мною система решает поставленные задачи. В системе есть следующие компоненты:
1. Графический редактор с веб-интерфейсом, позволяющий пользователю выбирать нужные вебсервисы и строить отношения между ними (граф отношений веб-сервисов).
2. Модуль генерации композитного веб-сервиса из графической схемы.
3. Модуль рекомендаций, строящий по запросу пользователя (желаемые входы и выходы) граф отношений веб-сервисов.
Подобная легкость достигается за счет работы с двумя технологиями – OWL-S, являющегося семантическим расширением стандарта WSDL, а также самого стандарта WSDL. И если работа с первым стандартом является работой на перспективу (стандарт еще не признан ведущими фирмами-разработчиками, хотя
идет его постепенное развитие), то второй – дает результат здесь и сейчас, так как все веб-сервисы работают сейчас с данным стандартом.
Данная система дает резкие преимущества перед существующими в данный момент тяжеловесными системами:
1. Веб-интерфейс, позволяющий производить композицию веб-сервисов без установки на локальной
машины тяжеловесных коробочных систем. Требуется всего лишь доступ в Интернет.
2. От пользователя системы требуется куда меньше навыков, чем при работе с коробочными версиями (наподобие IBM WebSphere).
3. Система является открытой и бесплатной.
4. Система работает не только с WSDL описаниями веб-сервисов, но и более перспективными OWL-S
описаниями.
5. Система имеет модуль рекомендаций составления сложного веб-сервиса, аналогов которого на
данный момент не существует.
6. Система позволяет получить композитный веб-сервис в виде простого WSDL-описания (пользователю не надо будет знать, какие и как веб-сервисы использовались при его создании).
И хотя система не лишена недостатков (меньший функционал в композиции в сравнении с коробочными
версиями), аналогов по простоте и удобству использования не существует.
Список литературы
1. Бибернштейн, Н. Компас в мире сервис-ориентированной архитектуры (SOA). Пер. с англ. –М.: КУДИЦ-пресс, 2007. - 458 с., ил.
2. The World Wide Web Consortium (W3C) [Электронный ресурс]// The World Wide Web Consortium (W3C).
– (http://www.w3.org).
Download