УДК 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).