НАУЧНАЯ ЖИЗНЬ
СИНТЕЗ ВИРТУАЛЬНОГО ПРЕДПРИЯТИЯ НА ОСНОВЕ КОМПОЗИЦИИ ВЕБ-СЕРВИСОВ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА РАЗБОРА
Романов Виктор Петрович
доктор технических наук, профессор кафедры информационных систем в экономике и менеджменте РЭУ им. Г. В. Плеханова.
Адрес: ФГБОУ ВПО «Российский экономический университет имени Г. В. Плеханова», 117997, Москва, Стремянный пер., д. 36. E-mail: [email protected]
Варфоломеева Александра Олеговна
ассистент кафедры информатики РЭУ им. Г. В. Плеханова.
Адрес: ФГБОУ ВПО «Российский экономический университет имени Г. В. Плеханова», 117997, Москва, Стремянный пер., д. 36. E-mail: [email protected]
Практически все, что мы используем сегодня, производится виртуальными предприятиями. Стремительное развитие технологий, широкое распространение облачных сервисов, усовершенствование средств обработки и хранения больших данных, виртуализация меняют наше представление не только о том, что такое современное предприятие, но и как должны строиться современные корпоративные информационные системы (КИС). В условиях постоянно меняющихся запросов пользователей создавать постоянный стабильный набор сервисов КИС для поставщика означает терять значительную часть потенциальных потребителей. В основе виртуальных предприятий, являющихся, по сути, информационными системами нового типа, лежит динамическая композиция сервисов, которая делает возможным как быстрое изменение существующего, так и композицию нового предприятия из атомарных сервисов. В статье авторы предлагают использовать теории формальных грамматик как средства поддержки автоматизированной композиции сервисов виртуального предприятия, основанной на алгоритмах интеллектуального планирования.
Ключевые слова: композиция веб-сервисов, автоматизированное планирование, виртуальные предприятия, формальные грамматики, алгоритм разбора.
SYNTHESIS OF VIRTUAL ENTERPRISE BASED ON COMBINATION OF WEB-SERVICES AND THE ALGORITHM OF DELIVERY
Romanov, Victor P.
Doctor of Sciences, Professor of the Department for Information Systems in Economics and Management of the PRUE.
Address: Plekhanov Russian University of Economics, 36 Stremyanny Lane, Moscow, 117997,
Russian Federation.
E-mail: [email protected]
Varfolomeeva, Aleksandra O.
Assistant Lecturer of the Department for Information Science of the PRUE.
Address: Plekhanov Russian University of Economics, 36 Stremyanny Lane, Moscow, 117997,
Russian Federation.
E-mail: [email protected]
Next to everything we use today is produced by virtual enterprises. Fast development of technologies, wide proliferation of cloud services, upgrading means of big data processing and storage, virtualization is changing our ideas not only about modern enterprise but also about ways of building advanced corporate information systems (CIS). In conditions of continuously changing user requests to design a stable set of CIS services means for supplier to lose a considerable part of potential customers. The foundation of virtual enterprises acting actually as information systems of the new type includes a dynamic composition of services which can help to change quickly the current composition and to design a composition of a new enterprise using the core services. The authors propose to use the theory of formal grammar as a means of supporting the automated composition of services of virtual enterprise based on algorithms of intellectual planning.
Keywords: composition of web-services, automated planning, virtual enterprise, formal grammar, algorithm of delivery.
В настоящее время запросы пользователей меняются очень быстро. В таких условиях создание стабильного набора сервисов корпоративных информационных систем (КИС) означает потерю значительной части потенциальных пользователей.
Структура современных КИС должна быть динамичной для удовлетворения спроса различных категорий пользователей. С другой стороны, большое число сервисов, которые являются элементами для построения корпоративных информационных систем, разрабатываются и размещаются в Интернете. В такой ситуации концепция виртуального предприятия становится все более актуальной.
Виртуальное предприятие - это временный альянс кооперирующих друг с другом предприятий, которые функционируют как единая организация для совместного использования навыков, компетенций и ресурсов с целью быстрого реа-
гирования на изменения в условиях рынка.
Виртуальное предприятие приносит пользу как крупным, так и малым организациям. Малые организации на основе композиции веб-сервисов объединяют ресурсы и образуют более крупные структуры, которые иначе они бы не смогли сформировать. Кроме того, они получают доступ к капиталу и технологическим ресурсам и добиваются признания на рынке путем осуществления проектов в сотрудничестве с крупными предприятиями. Крупные предприятия в свою очередь получают доступ к существующим технологиям и повышают гибкость своей деятельности. Таким образом, они способны ускорить процесс развития, более эффективно реагировать на меняющиеся тенденции рынка.
Виртуальные предприятия предоставляют клиентам более быстрое и гибкое обслуживание, так как их взаимодействие основано на выборе виртуальных партне-
ров (рис. 1). В качестве примера виртуального предприятия можно рассмотреть туристическое агентство. Данный тип виртуальных предприятий очень широко распространен.
Бизнес-партнер 1
- описывает сама себя через общую XML-грамматику;
- может быть обнаружена через простой поисковый механизм.
Общая схема, наглядно иллюстрирующая процессы размещения и предоставления веб-сервисов, представлена на рис. 2.
Деятельность M
Универсальные каталоги (реестры)
Бизнес-партнер_2
CDроль О
Потоки данных ( 5 ) Сообщение
рис. 1 Структуре! виртуального предприятия Рис. 2. Модель предоставления веб-сервисов
Композиция веб-сервисов
Проблемы автоматизированной композиции сервисов рассматриваются многими отечественными и зарубежными учеными. В работе Т. В. Левашова, А. В. Смирнова, Н. Г. Шилова [4] разработаны методы и модели поиска и композиции веб-сервисов с учетом различных предусловий, семантических описаний и предварительно составленных онтологий. В работе А. В. Ба-бошина и А. М. Кашевника [1] рассмотрен выбор веб-сервисов на основе вычисления интегральной оценки. Д. А. Душкин [2; 3] рассматривал методы и алгоритмы выбора композиции веб-сервисов в системах с сервисно ориентированной архитектурой.
В литературе можно найти различные определения веб-сервисов. Проанализировав их, мы можем сказать, что веб-сервис -это услуга, которая:
- доступна через Интернет или интра-нет;
- использует стандартизированную систему обмена сообщениями XML;
- не привязана к какой-либо операционной системе или языку программирования;
Мы предлагаем выделять три подхода к композиции сервисов облачных КИС:
- синтаксический;
- семантический;
- рациональный (прагматический).
В рамках синтаксического подхода можно использовать основные принципы веб-сервисов, которые базируются на трех веб-стандартах: SOAP (Simple Object Access Protocol) - протоколе для посылки сообщений по протоколу HTTP и другим интернет-протоколам; WSDL (Web Services Description Language) - языке для описания программных интерфейсов веб-сервисов; UDDI (Universal Description, Discovery and Integration) - стандарте индексации веб-сервисов.
Рассмотрим вкратце процесс взаимодействия приложений в децентрализованной, распределенной среде. Приложение, которому требуется доступ к другому приложению как к веб-службе, использует регистр (каталог) UDDI для обнаружения нужной ему веб-службы (информация в регистре UDDI предварительно должна быть опубликована организацией, желающей сделать свою веб-службу публич-
но доступной). В этом же регистре приложение определяет необходимые для взаимодействия интерфейсы. Интерфейсы публикуются с использованием стандарта WSDL. После этого с помощью интерфейса WSDL приложение вызывает веб-службу и применяет SOAP и XML как конверты и форматы для передачи информации, а протоколы HTTP и SMTP - в качестве транспорта для ее доставки.
Таким образом, технология веб-служб предоставляет общий формат данных (XML), способ доставки и транспортировки данных по Интернету и интранет-сети (SOAP), а также способ обнаружения (UDDI) и описания (WSDL) служб.
Такие стандарты, как OWL-S, дают возможность включить семантическую составляющую в описания веб-сервисов. Эти семантические описания соответствуют онтологиям, которые определяют отношения между ними.
В отличие от синтаксического и семантического рациональный (прагматический) подход предполагает удовлетворение целей конечных пользователей. Например, если несколько служб электронных книжных магазинов могут предложить конкретную книгу, прагматичный подход может означать, что необходимо подобрать самое дешевое предложение.
Синтез виртуального предприятия
на основе композиции веб-сервисов
Процесс разработки информационной системы виртуального предприятия включает следующие стадии.
Шаг 1. Прежде всего необходимо ответить на некоторые вопросы: для чего веб-сервис будет использоваться, кто будет его использовать, как он будет использоваться? Таким образом, пользователь определяет требования к разрабатываемой системе и ее архитектуре.
Шаг 2. На втором шаге необходимо перевести полученные требования на формальный язык. Для этой цели используются онтологии. Стандартная онтология состоит из набора определенных классов и
свойств. Она используется для того, чтобы объявить и описать услугу.
Шаг 3. Следует разработать набор средств для описания и поиска веб-сервисов. Такие технологии, как SOAP и WSDL, разработаны для обеспечения стандартного способа описания веб-сервисов:
а) WSDL - синтаксическое описание.
Определения WSDL описывают, как получить доступ к сервису и какие операции он будет выполнять. Таким образом, типы сообщений, которые веб-сервис воспринимает, отображаются в интерфейсе WSDL и определяют функциональность веб-службы. Язык описания веб-сервисов определяет схемы обмена сообщениями с использованием одного или нескольких типов сообщений. Схема обмена сообщениями определяет последовательность и количество отправленных и/или полученных сообщений, а также кем они отправлены и/или откуда получены.
Отдельный вид интерфейса позволяет описать выполняемые веб-сервисом операции вне зависимости от того, выполняются ли эти операции с использованием транспорта или передачей по каналам связи. WSDL часто используется в комбинации с SOAP и XML-схемой для предоставления доступа к веб-сервисам через Интернет. Абстрактные интерфейсы связаны с конкретными форматами сообщений и с протоколами передачи;
б) семантическое описание функционала веб-сервиса при помощи OWL-S.
OWL-S-онтология - стандартный язык для описания веб-сервисов. OWL-S включает в себя возможности, которые используются для автоматического обнаружения сервисов. Функциональное описание сервиса основывается на тех преобразованиях входов, которые он производит. Кроме того, эта онтология описывает предусловия исполнения веб-сервисом переданных ему заданий, ожидаемый эффект от выполнения задания и результат. Так, на примере туристического агентства, которое используется в этой статье, условием станет нали-
чие активной кредитной карты, а ожидаемым результатом - номер брони в отеле.
Пользователь Разработчик
Принципы разработки архитектуры Онтология предметной области WSDL, OWL-S
Разработка требований к создаваемой системе Перевод требований к архитектуре на формальный язык ^ J Набор запросов для поиска веб-сервисов ^ J
Композиция веб-сервисов в соотв. с их семантическим
Рис. 3. Основные этапы разработки корпоративной информационной системы виртуального предприятия
Шаги 4-5. UDDI является стандартом на основе XML для описания публикации, т. е. размещения информации о веб-сервисе в Интернете провайдером и последующего поиска веб-сервисов клиентом. UDDI позволяет компаниям продвигать свои услуги, публикуя их описание в глобальном реестре. Реестр состоит из трех основных частей: «белых страниц» с контактной информацией, «желтых страниц», описывающих услуги, относящиеся к разным категориям, и «зеленых страниц», которые непосредственно содержат описание сервиса на языке WSDL. Таким образом, пользователь направляет UDDI запрос, содержащий описание WSDL с помощью специального протокола связи SOAP, разработанного для обмена сообщениями между приложениями в Сети. В итоге на пятом шаге пользователь получает выборку веб-сервисов, основанную на сравнении описания, сделанного пользователем, с информацией, представленной на «желтых страницах» провайдером сервиса.
Шаг 6. Наконец, мы предлагаем в видоизмененном виде использовать идею HTN-планирования для составления виртуального предприятия из полученных веб-сервисов. Планирование HTN схоже с классическим планированием в том, что
каждое состояние описывается набором литералов и каждое действие влечет смену состояния. Однако в отличие от классического планирования цель HTN-планиро-вания состоит в том, чтобы создать последовательность действий, которые выполняют какую-то задачу. Описание области планирования состоит из множества операторов, а также наборов методов. Каждый метод определяет, как необходимо разбивать задачу на подзадачи. Процесс HTN-планирования продолжается до тех пор, пока не будут достигнуты примитивные задачи. Например, задача добраться до аэропорта может быть разложена на примитивные подзадачи: взять такси и/или воспользоваться общественным транспортом.
Всему вышеупомянутому предшествуют создание сервиса и его регистрация в UDDI. Это может быть сделано с помощью различных средств, например, с помощью WCF (Windows Communication
Foundation). Это одна из последних технологий Microsoft, которая используется для построения сервис-ориентированных приложений. Используя концепцию взаимодействия на основе сообщений, в которых HTTP-запрос представлен одинаковым образом, WCF позволяет иметь единый API, независимо от различных транспортных механизмов. Платформа WCF также известна как сервисная модель, которая позволяет дополнить программу, написанную на языках программирования C++ или C#, компонентами, дающими возможность размещать в UDDI, а затем искать и использовать эту программу в качестве веб-сервиса.
Комплексные (композитные) сервисы состоят из нескольких более примитивных сервисов, и может потребоваться расширенное взаимодействие или диалог между пользователем и набором услуг, который в настоящее время используется.
Мы предлагаем применить теорию формальных грамматик для поддержки автоматизированной композиции веб-сервисов. Динамичная композиция услуг в первую очередь требует понимания воз-
Получение описания веб-
Разработка веб-сервиса
можностей доступных услуг (т. е. того, что они могут сделать), а также совместимости этих услуг. Упомянутые выше технологии, такие как SOAP и WSDL, разработаны для обеспечения стандартного способа описания веб-сервисов.
Описание веб-сервисов может быть расширено, чтобы включить такую информацию, как предусловия и следствия. OWL-S описание использует эти конструкции для того, чтобы дать больше информации о том, что делает сервис. Можно сопоставить такие описания с оператором планирования и использовать методы искусственного интеллекта для автоматической композиции сервисов при рассмотрении ее в качестве проблемы планирования. В идеале, учитывая цель пользователя и набор веб-сервисов, планировщик сможет
найти подборку веб-сервисов для достижения цели.
Доступные OWL-S-описания веб-сервисов используются для получения доступных действий в области планирования. Более конкретно каждое веб-описание сервиса WSD¿ транслируется в определение оператора А[ алгоритма автоматизированного планирования на основе информации, предоставленной соответствующим профилем (каждое описание веб-сервиса является примером OWL-S-профиля) [6].
Имя действия - это WSD.ro экземпляра профиля:
пате (А) = WSDi.ro. (1)
Предусловия оператора действия рте(Ад формируются как теоретико-множественное объединение входных данных сервиса и предусловий его как концепта:
pre(Ai) = U{WSDhasInputk} U{WSD^hasPrecondition^}.
k=1
k=1
(2)
Позитивные эффекты исполнения оператора add(Ai) составляют объединение вы-
ходов сервиса и позитивных эффектов концептов сервиса:
add(Ai) = U{WSDhasOutputk} U{WSD i}hasEJJectk+}.
к=1
Отрицательные эффекты оператора -список удалений йе1(А1) - формируется как объединение определений негативных эффектов сервиса:
п _
МЩ = и {ЮБО{]НазЕАёак"}. (4)
к=1
Запуск на исполнение алгоритма планирования для вновь сформулированной проблемы планирования порождает план, представляющий описание желаемого композитного веб-сервиса.
Формальная грамматика
Формальная грамматика - это система для определения синтаксиса языка путем нахождения строк и символов, которые считаются грамматически верными. Грамматика С состоит из четырех частей:
С = (2, V, Я Р), (5)
k=1
(3)
где 2 - определенный набор символов, называемых терминальным алфавитом (элементы 2 называются терминальными);
V - конечное непустое множество, непересекающееся с 2 (элементы множества V называются нетерминальными);
5 е V - особый нетерминальный символ, называемый стартовым;
Р - конечное множество правил (продукций) в форме а ^ в, где
а е (2 и^) • V (2и^) и в е (2и^)* т. е. а - строка терминальных и нетерминальных символов, содержащая хотя бы один нетерминальный символ; в - строка, содержащая терминальные и нетерминальные символы.
Алгоритм иерархической сети задач
Используя идею алгоритма интеллектуального планирования - иерархической сети задач, мы можем декомпозировать со-
ставные задачи рекурсивно до тех пор, пока не получим примитивные задачи, и представить их в соответствии с правилами формальной грамматики.
В модифицированном дереве разбора (рис. 4) представлено несколько логиче-
ских операторов, которые определяют разные типы связи между веб-сервисами при композиции виртуального предприятия.
5
ТА
АСТ
Рис. 4. Дерево разбора виртуального предприятия на примере туристического агентства
г
Атомарные сервисы (терминальные символы) представлены буквами нижнего регистра:
К - местный атомарный сервис такси; ^ - местный атомарный сервис общественного транспорта;
dt - атомарный сервис такси в пункте назначения;
dpt - атомарный сервис общественного транспорта в пункте назначения;
pc - атомарный сервис паспортного контроля;
Ь - атомарный сервис посадки в самолет;
к - атомарный сервис досмотра багажа; sh - атомарный сервис шопинга; ex - атомарный сервис экскурсий; su - атомарный сервис серфинга; d - атомарный сервис дайвинга; ws - атомарный сервис водных лыж; а - атомарный сервис регистрации в отеле;
г - атомарный сервис ресторанов; ЬШ - атомарный сервис завтраков в отеле.
Композитные сервисы (нетерминальные символы) представлены символами верхнего регистра:
5 - композитный сервис турпакета;
TR - композитный сервис транспортировки;
TA - композитный сервис транспортировки в аэропорт;
TH - композитный сервис транспортировки в отель;
FL - композитный сервис полета;
ST - композитный сервис пребывания в пункте назначения;
ACT - композитный сервис активности;
AC - композитный сервис размещения;
F - композитный сервис питания;
SP - композитный сервис спорта.
При описании дерева разбора были использованы дополнительные символы &, © и V для упрощения описания грамматик. Они используются в следующих значениях:
6 («и») - все указанные символы предыдущего уровня принадлежат данному нетерминальному символу;
© («исключающее или») - только один символ предыдущего уровня принадлежит данному нетерминальному символу;
V («или») - предполагает включение одного или более символов предыдущего уровня.
Формальная грамматика может быть описана следующим образом: S ^ ТИ & ST, ТИ ^ ТА & ТН & FL, ТА ^ lt © ТН ^ dt © dpt, FL ^ рс & Ь & 1е, ST ^ АСТ & АС & р F ^ г V ЬШ, АС ^ ci,
АСТ ^ sh V ex V SP, SP ^ su V d V ws.
Мы предлагаем схожий с алгоритмом иерархической сети задач алгоритм композиции веб-сервисов, который основан на идее представления структуры виртуального предприятия как дерева разбора, где веб-сервисы представлены как терминальные и нетерминальные символы (алгоритм основан на работе автомата с магазинной памятью, автомат состоит из стека и нескольких групп определителей):
1. Терминальные символы появляются на входной ленте.
2. Они считываются автоматом и направляются в стек для последующего анализа и распознавания.
3. Строка терминальных символов начинается и завершается символом #.
4. К стеку подключены определители терминальных и нетерминальных символов.
5. Определитель терминальных символов соотносит каждый терминальный символ с одной из категорий конечного числа нетерминальных символов. В то же время определитель проверяет соответствие входов, выходов, постусловий и эффектов текущего и следующего сервисов. Выходы и постусловия текущего сервиса должны соответствовать входам и предусловиям следующего сервиса.
6. Каждый определитель терминальных символов имеет память в форме списка терминальных символов, принадлежащих определенной категории. Каждый определитель сравнивает терминальный символ с каждым терминальным символов в его списке (рис. 5).
В1 ^ А1 & A2 & A3
В2 —> А4
у|В1|А1|А2]дз1
# Определитель
■ г
' А1
-_А2
_АЗ
'_А4
Рис. 5. Структура памяти определителя терминальных символов
7. Определенные категории, которые включают имеющийся терминальный символ, записываются в стек.
8. Когда категория каждого терминального символа определена, строка нетерминальных символов сформирована. Она также начинается и заканчивается символом #. Начинается анализ строки нетерминальных символов.
9. Определители нетерминальных символов оперируют с полученными нетерминальными символами (рис. 6).
В1 & В2
! А4
: #
1 а
В1
-_В2
Рис. 6. Работа определителя с полученными нетерминальными символами
Каждый нетерминальный символ имеет счетчик, определяющий его валентность -количество подчиненных символов (например, валентность 5 = 2). Когда счетчик обнуляется, начинает формироваться строка нетерминальных символов следующего уровня.
Алгоритм завершается, когда стартовый символ определен. Результат алгоритма -набор веб-сервисов, которые поступили на вход алгоритма, удовлетворяет правилам разбора и может быть использован для композиции виртуального предприятия.
Таким образом, виртуализация существенно меняет наше представление о том, что такое современное предприятие и как должны строиться современные корпоративные информационные системы, чтобы отвечать всем требованиям стремительно меняющегося рынка. В основе виртуальных предприятий, являющихся, по сути, информационными системами нового типа, лежит динамическая композиция сервисов, которая делает возможным как быстрое изменение существующего, так и
композицию нового предприятия из атомарных сервисов. На основе алгоритма интеллектуального планирования осуществляется перебор различных сочетаний веб-сервисов для создания целевой конфигурации. Мы используем теорию формальной грамматики для сокращения перебора посредством отсева тех сочетаний атомарных сервисов, которые не формируют необходимые промежуточные составляющие, нетерминальные символы. Таким образом, правила действуют как предварительный отсев неперспективных сервисов. Дальнейшее совершенствование алгоритма должно обеспечить проверку стыкуемых веб-сервисов по входам и выходам, а также оптимизацию структуры композитных сервисов.
Список литературы
1. Бабошин А. А., Кашевник А. М. Подход к организации взаимодействия веб-сервисов на основе модели потока работ / / Труды СПИИРАН. - Вып. 5. - СПб. : Наука, 2007.
2. Душкин Д. Н. Автоматизированное определение классов чувствительности веб-сервисов // Управление большими системами : сборник трудов. - Вып. 45. - М. : ИПУ РАН, 2013.
3. Душкин Д. Н. Анализ чувствительности веб-сервисов в задаче выбора оптимальной конфигурации систем с сервисно-ориентированной архитектурой / / Управление большими системами : сборник трудов. - Вып. 40. - М. : ИПУ РАН, 2012.
4. Смирнов А. В., Левашова Т. В., Шилов Н. Г., Кашевник А. М. Поддержка принятия решений в децентрализованной среде на основе сети Web-сервисов / / Таврический вестник информатики и математики. - 2008. - № 2. - С. 186-194.
References
1. Baboshin A. A., Kashevnik A. M. Podkhod k organizatsii vzaimodeystviya veb-servisov na osnove modeli potoka rabot [The Approach to Organization of Interaction of Web-Services Based on the Model of Work Flow]. Works of SPHRAN, Issue 5. Saint Petersburg, Nauka, 2007. (In Russ.).
2. Dushkin D. N. Avtomatizirovannoe opredelenie klassov chuvstvitel'nosti veb-servisov [Automated Finding Sensitivity Classes of Web-Services]. Managing Big Systems, Collection of Works, Issue 45. Moscow, IPU Russian Academy of Sciences, 2013. (In Russ.).
3. Dushkin D. N. Analiz chuvstvitel'nosti veb-servisov v zadache vybora optimal'noy konfiguratsii sistem s servisno-orientirovannoy arkhitekturoy [The Analysis of Sensitivity of Web-Services in a Problem of a Choice of an Optimum Configuration of Systems with Service-Oriented Architecture]. Managing Big Systems, Collection of Works, Issue 40. Moscow, IPU Russian Academy of Sciences, 2012. (In Russ.).
4. Smirnov A. V., Levashova T. V., Shilov N. G., Kashevnik A. M. Podderzhka prinyatiya resheniy v detsentralizovannoy srede na osnove seti Web-servisov [Support of Decision-Making in De-Centralized Environment on the Basis of Web-Services Network]. Tavriya Vestnik of Information and Mathematics, 2008, No. 2, pp. 186-194. (In Russ.).