Создание онтологических Web-сервисов и сервисов на концептуальном уровне. Исследование роли агентов в создании и реализации сервис-ориентированных приложений. Особенность архитектуры системы интеграции SWS с использованием мультиагентного потока работ.
Аннотация к работе
Статья написана, опираясь на классический подход, основанный на использовании семантических Web-сервисов с семантическими описаниями свойств сервисов и использовании возможностей сервисов, которые представляются в онтологиях. Исходя из этого, в работе предложен логический подход, основанный на использовании описания вычислительного процесса для того, чтобы навязать определенный порядок в поведении группы агентов и соответствующих им сервисов. В данной работе были представлены основные подходы и средства, заложенные в основу технологии адаптивной композиции сервисов на основе онтологии и интеграции агентов в среде семантической сети для нужд малого и среднего бизнеса.В последовательной композиции, если сервис S2 выполняется после S1, то имеется в виду, что S1 должен завершиться с положительным результатом, а затем может быть запущен сервис S2. SOA также рассматривается как средства активации Web-сервисов, которые могут вызываться другими программами, выступающими как клиенты или потребители этих сервисов. Web-сервис (WS) в текущем использовании - это не что иное, как единица работ, выполняется сервис-провайдером (службой, предоставляющей сервис) для обеспечения желаемого результата пользователю сервиса. Модель SOA, которая представлена набором уровней, позволяет обеспечить следующие основные функции для поддержки Web-сервисов: 1) публикация Web-сервисов, где используется спецификация UDDI, которая определяет возможности WS и характеризует поставщика сервиса; 2) описание Web-сервисов средствами языка WSDL, чтобы конкретизировать как сервис может быть инициирован (входные и выходные сообщения), и средства SOAP, как протокол коммуникации для доступа к Web-сервисам;Наряду с технологиями и средствами представления данных и знаний в семантической сети рождается новая парадигма создания и интеграции прикладных применений, которая соответствует новым требованиям. В данной работе были представлены основные подходы и средства, заложенные в основу технологии адаптивной композиции сервисов на основе онтологии и интеграции агентов в среде семантической сети, средой использования которых станет малый и средний бизнес.
Введение
Базовые процедуры, представляющие содержание проблемы семантического описания, можно выразить продукционной цепочкой: "входящее сообщение > система знаний > реакция". Ее суть предполагает мультидисциплинарную системную интеграцию формально-логического представления структуры и правил вывода, методов и средств компьютерной лингвистики и виртуальной парадигмы, в частности, архитектуры компьютерной системы с ориентацией на современные электронные компоненты, эффективно поддерживающие технологии реконфигурации.
Обзор иностранной и отечественной литературы. В различных областях деятельности человека наблюдается экспоненциальный рост числа информационных ресурсов, разработанных для решения разнообразных задач - исследовательских и практических. Каждый из ресурсов представлен средствами некоторой информационной модели (некоторого языка - баз данных, программирования, спецификации процессов и пр.) [1]. Весомый вклад в развитие отечественную и мировую теорию онтологического моделирования и концептуальное моделирование предметных областей внесли ученые-теоретики Эбраэл Дж., Беккерт Б., Брюхов Д., Гаврилова Т., Калиниченко Л., Ким С. Х. Леданг, Миссиков M., Ступников С., Хорошевский В. и др.
Постановка задачи. Проектирование любой знание-ориентированной информационной системы, каковой является и языково-онтологическая информационная система, предусматривает разработку трех независимых, но тесно взаимосвязанных аспектов: 1) логического представления знаний, 2) онтологии домена (языково-онтологическая картина мира; 3) процессинга (компьютерной обработки). При этом онтология, во-первых, предоставляет словарь этих сущностей, а во-вторых, представляется формализованным представлением всех видов сущностей. Целью данной статьи есть выделение морфологических и причинно-следственных связей и контуров модели информационной системы малого бизнеса на базе онтологий с использованием адаптивной композиции веб-сервисов.
Описание исследования. В последние годы увеличивается интерес к информационным системам (ИС) на основе семантического описания (т.е. при котором сама поисковая система/агент обрабатывает информацию, учитывая логические связи между объектами и их релевантность) или онтологии. И усиливающимся современным трендом есть придание ИС и использование свойства адаптивности. В контексте темы данной статьи такая адаптивность следует из того факта, что новые веб-сервисы могут быть созданы и становятся доступны автоматическим способом, без остановки и переналадки системы при изменении условий ее выполнения. Примером может быть изменение трафика в Интернет, который не обеспечен надежной средой коммуникации. Адаптация веб-сервисов может быть статической или динамической, ручной или автоматической, превентивной или реактивной [8]. Статическая адаптация выполняется через модификации на этапе создания сервиса, тогда как динамическая изменяет программу во время работы как путем прямого человеческого вмешательства средствами адаптации, так и автоматически, при котором изменение программы может быть выполнена системой непосредственно. Наконец, превентивная адаптация происходит перед специфическим событием, а реактивная адаптация - когда адаптация осуществляется после события. Например, система может понять, что один сервис не доступен, и затем принимает меры перед выполнением (превентивная адаптация). Если система принимает меры после неудачного или ложного запроса - это соответствует реактивной адаптации.
Для иллюстрации типов композиции рассмотрим реальные веб-сервисы и условия, при которых их композиция имеет место в распределенных приложениях. Допустим, нам необходимо перевести текст с русского языка на китайский. Такой программы-переводчика нет. Но есть программы перевода с русского на китайский. Каждая из таких программ оформлена как веб-сервис. Сервис перевода с русского языка на китайский является композицией соответствующих сервисов. На рис. 1 предоставленные традиционные типы композиции сервисов в информационной системе: итеративная композиция, последовательная композиция, композиция с выбором и параллельная композиция.
Рис. 1. Типы композиции веб-сервисов в информационной системе малого бизнеса на базе онтологий
В итеративных композициях заданный сервис S1 запускается несколько раз последовательно. В последовательной композиции, если сервис S2 выполняется после S1, то имеется в виду, что S1 должен завершиться с положительным результатом, а затем может быть запущен сервис S2. Композиция такого типа представлена на рис. 1-б. В композиции с выбором, где участниками являются два и более сервисов (S1 и S2), но одновременно может быть выбран для выполнения только один из них. Выбор осуществляется на основе специфицированного критерия (критерий порядке). В композиции этого типа сервисы S1 и S2 могут взаимодействовать или нет. Этот случай представлен на рис.1-в, где оператор С осуществляет выбор сервиса. Наконец, в параллельной композиции два или более сервисов выполняются в тоже время независимо. Рис. 1-г представляет эту ситуацию (оператор Р определяет параллелизм композиции). Эти различные типы композиции могут быть встроены в языковые средства композиции.
Сервисно-ориентированная архитектура SOA (Service Oriented Architecture) признана революционной в технологии построения и интеграции информационных систем для малого бизнеса. По определению, SOA - это парадигма, которая предназначена для проектирования, разработки и управления приложениями в сетевой среде. Использование этого подхода требует от разработчиков обеспечение проектирования приложений как набор сервисов. Разработчики должны «выйти за пределы» своих разработок (приложений) и подумать, как воспользоваться уже существующими сервисами или как их сервисы могут быть использованы другими разработчиками и пользователями приложений. SOA направлена на использование альтернативных технологий и подходов интеграции приложений (таких, как обмен сообщениями) с помощью «связывания» сервисов, а не посредством написания нового программного кода. SOA также рассматривается как средства активации Web-сервисов, которые могут вызываться другими программами, выступающими как клиенты или потребители этих сервисов.
В общем виде модель SOA предполагает наличие трех основных участников: поставщика сервиса, потребителя сервиса и реестра сервисов. Взаимодействие участников выглядит достаточно просто: поставщик сервиса регистрирует свои сервисы в реестре, а потребитель обращается к реестру с запросом.
На самом деле SOA - это всего лишь другой стиль построения современных корпоративных систем. Он ориентируется на сервисы и характеризуется распределенной архитектурой и слабо связанными интерфейсами [7].
Web-сервис (WS) в текущем использовании - это не что иное, как единица работ, выполняется сервис-провайдером (службой, предоставляющей сервис) для обеспечения желаемого результата пользователю сервиса. Именно сервис, а не объект, как в объектно-ориентированном программировании, является тем модулем или программным кодом, повторно используется, и при этом он не зависит от технологий, языковых сред и других ресурсов. Интегрирующую роль между сервис-провайдером и пользователем берут на себя программные агенты.
По определению W3C, Web-сервис (Web service) направлен на обеспечение взаимодействия «машина-машина» по сети. Web-сервис имеет интерфейс, описанный в формате, доступном для машинной обработки (WSDL). Другие сервисы также взаимодействуют с Web-службой, так как это определено их описанием, с использованием SOAP-сообщений, передаваемых по протоколу HTTP в сочетании с другими Web-стандартами [12].
Корпоративная информационная система, построенная на основе SOA, состоит из набора сервисов, доступных через прикладные программные интерфейсы, и встроенного механизма поиска. Перечень сервисов в общем реестре позволяет пользователю определить службу и сервис, предлагающий искомую функцию.
Web-сервисы упрощают Web-приложения. Общие реестры сервисов доступны любым заинтересованным клиентам во всем мире, надстройка (в отличие от встраивания) Web-сервисов над корпоративными системами не требует их существенных изменений, а общедоступные API (прикладные программные интерфейсы) решают проблемы повторного использования кода и масштабности его применения.
Web-сервисы - это суть SOA с двумя существенными ограничениями: интерфейсы базируются на протоколах (HTTP, FTP, SMTP, TCP), а все сообщения описываются в формате XML. Подробные описания стандарта Web-сервисов и спецификаций SOA приводятся на сайтах консорциума W3C [10]. Веб-сервисы имеют свойства и возможности быть найденными, и к ним можно обратиться от распределенных приложений. Web-сервисы определяются средствами языка описания (WSDL) [7] и могут быть вызваны на выполнение средствами, построенными на использовании протокола доступа к объектам (SOAP) [10].
Модель SOA, которая представлена набором уровней, позволяет обеспечить следующие основные функции для поддержки Web-сервисов: 1) публикация Web-сервисов, где используется спецификация UDDI, которая определяет возможности WS и характеризует поставщика сервиса;
2) описание Web-сервисов средствами языка WSDL, чтобы конкретизировать как сервис может быть инициирован (входные и выходные сообщения), и средства SOAP, как протокол коммуникации для доступа к Web-сервисам;
3) композиция Web-сервисов, которая конкретизирует как комплексный сервис может состоять из других сервисов средствами языка потоков данных веб-сервисов WSFL.
Далее рассмотрим возможности семантической информационной сети на базе онтологий. Как известно, семантическая сеть (Semantic Web) [6] предоставляет средства организации такого представления данных в сети, чтобы допускалась не только визуализация, но и эффективная автоматическая обработка данных программами разных производителей.
Суть идеи можно представить следующим образом: если рассмотреть пару «данные-программы», используемую в традиционных программных системах, то очевидно, что значение обрабатываемых данных содержится в самих программах, которые эти данные обрабатывают, а их программные коды содержат алгоритм понимания этих данных. В подходах семантической сети вводятся метаданные, т.е. данные о данных, которые рассматриваются как знания о данных и, вынесенные за пределы программного кода. В метаданные вложено смысл данных или часть смысла. Если метаданные обрабатывать таким же образом и вместе с данными, то программы могут стать универсальными и упрощенными, что является прогрессивным фактором.
Парадигмой для построения прикладных применений в семантической сети является подход, основанный на использовании семантических Web-сервисов [15]. Такие Web-сервисы (SWS) расширяют понятие обычных Web-сервисов в части использования семантической информации, а именно онтологий и семантической разметки как для прикладных, так и для системных нужд [8]. Подход основан на семантических описаниях свойств сервисов и использовании возможностей сервисов, которые представляются в онтологиях, рассуждении о функциональной композицию сервисов [8].
Средства построения SWS должны позволить пользователю разрабатывать SWS путем моделирования сервисов на концептуальном уровне и обеспечить развертывание сервисов физически, путем композиции существующих сервисов в среде семантической сети. Моделирование сервисов на концептуальном уровне должно обеспечивать проверку корректности и завершенности сервиса, который создается. Одним из наиболее реалистичных и доступных для малого бизнеса способов обеспечения простоты и сравнительно большей эффективности ИС есть придание ИС свойства адаптивности на основе взаимодействия агентов. Так, в контексте Web-сервисов адаптивность следует из факта, что новые Web-сервисы могут быть созданы и становятся доступны автоматическим способом.
Как известно, агент-ориентированные технологии с использованием SWS направлены на потребности крупных гетерогенных систем, для обеспечения распределенного планирования и управления или координации, например, в задачах логистики, где организационная функция может иметь определенное преимущество, используя методы SWS.
Проблемными аспектами, которые имеют общий характер и которые определены как семантические функции SWS [3, C. 50], являются: 1) идентификация SWS (matchmaking) и их поиск; 2) автоматизированная композиция SWS; 3) исследования состояния (мониторинг) процессов SWS; 4) протоколы взаимодействия SWS, координация-интерпретация и выполнение; 5) онтологическое посредничество (например, нахождение SWS по содержанию запроса или сообщения описаний или заявлений о своем существовании); 6) планирование выполнения SWS (формирование сообщений или запросов) и интерпретация ответов; 7) управление онтологиями, создание, поиск и доступ к онтологий; управления процессами создания SWS (фабрики сервисов, инсталляция, перемещение); посредничество процессам и делегирование функций; услуги репутации (история использования SWS).
Одна из проблем, которая сопровождает создания и использования онтологий при создании SWS, состоит в содержательном сочетании единого смыслового пространства. Современная теория не дает надежного способа сочетания данных, определенных различными онтологиями. Поэтому основным подходом к решению этой проблемы является наличие единой базовой онтологии относительно общего поля специфицированной информации и ее расширений. Такую онтологию естественно было бы назвать «моделью мира», подчеркивая ее фундаментальную роль в моделей предметных областей. Средствам представления знаний в семантической сети присущи универсальные выразительные возможности, синтаксическая и семантическая интероперабельность (способность к взаимодействию). Онтологическая интероперабельность реализуется, например, в онтологиях путем установления соответствия между используемыми терминами [1].
Рассмотрим роль агентов (или же поисковой системы) в создании и реализации сервис-ориентированных приложений. Обычно выделяют сервисы и агенты. Рассмотрим основные различия между ними таковы: 1) WS непосредственно «знают и узнают» только себя;
2) WS могут быть разработаны без учета того, чтобы использовать или «понимать» онтологии;
3) WS могут быть не способными к кооперативному (совместному) действию через коммуникации, или не способны к совместному поведению [7].
Агенты же, наоборот, обладают всеми этими свойствами. Агент определяется как сервис, который обладает такими основными свойствами как: ситуативность, автономность, реактивность, pro-активность и социальная способность [13].
Метафора социальной способности представляет особой мощности агентно-ориентированной парадигме и является одной из особенностей, что делает агента способным для создания распределенной системы. Если в мультиагентных системе каждый агент представляет индивидуальный сервис, который в свою очередь получает возможность координироваться с другими сервисами через эти агенты, то WS также получают социальное свойство. Агенты обеспечивают динамические социальные формы поведения сервисов, через которые они разделяют обязательства для достижения общей цели [13].
Для этого каждый агент должен признать, что лучший путь достижения цели заключается в привлечении помощи других агентов. Общественные обязательства возникают в соответствии с общественной зависимости, когда один агент делает обязательства относительно другого.
Общественные агенты, которые имеют доступ к семантическому описанию (онтологии), способны к координации своего поведения. Даже без семантической информации, агенты могут использоваться для выполнения локальной оптимизации потока работ. Агенты используют семантические описания поведения для того, чтобы обдумать свои собственные возможности и возможности других агентов в системе, и использовать эти рассуждения для кооперативного решения задачи.
Исходя из описанной выше логики исследовательских предпосылок, уместно было бы развить подход, который основан на использовании описания вычислительного процесса для того, чтобы навязать определенный порядок в поведении группы агентов и соответствующих им сервисов.
Архитектура системы интеграции SWS с использованием мультиагентного потока работ показана на рис. 2 Ключевым значением для решения проблемы интеграции сервисов является обеспечение стандарта взаимодействия сервисов. Для решения этой задачи используются средства BPEL (Business Process Execution Language). Средства BPEL является новым стандартом для интеграции гетерогенных приложений и сервисов, и является языком потоков работ, процессов и данных. Основу BPEL составляют три ключевых свойства: асинхронность, координация потоков и управление исключительными ситуациями [13; 8;14].
Стандарты управления потоками работ обеспечивают ряд очевидных преимуществ таких как: - строгая формализация процесса описания потоков работ, что обеспечивает стандартный процесс анализа и построения новых моделей сложных рабочих процессов;
- переносимость и интероперабельность, т.е. модели процессов, созданные в рамках одной системы, могут частично или полностью работать под управлением другой системы;
- универсальность, т.е. расширяемость стандартов делает возможным применение единого механизма описания управления потоками в разных отраслях. сервис ориентированный приложение мультиагентный
Главной характеристикой предлагаемой поточной архитектуры для адаптивной композиции веб-сервисов в рамках информационной системы малого бизнеса является использование подходов агент-ориентированных программирования к реализации WORKFLOW-композиции, с использованием свойств адаптивности агентов. «Программные объекты были определены как агенты, которые обладают определенными характеристиками. Группы характеристик определяют уровни агентов» [1]. Уровни, классифицированные как слабые агенты, имеют тенденцию к обладанию такими характеристиками, как автономность, социальная способность реактивность и/или проактивность. Однако, сильные агенты в дополнение к характеристикам слабых агентов, имеют также обладать способностями к рассуждению, даже такими как эмоции, которые обычно приписываются человеческом поведении.
Для поиска нужных сервисов используется UDDI-сервер, который содержит перечень доступных Web-сервисов. И хотя программа или агент может найти Web-сервис без помощи человека, она не в состоянии понять, как им пользоваться и даже для чего он предназначен. Язык описания Web-сервисов (WSDL) дает нам инструмент для описания того, каким образом можно взаимодействовать с тем или иным Web-сервисом, тогда как семантическая разметка, является средством SWS, обеспечивает нас информацией о том, что и как делает данный сервис [11].
Онтологии сервисов используются для кодирования классов и подклассов понятий и их отношений. Онтологии предоставляют индивидуальному сервису возможность наследовать разделены понятия и словари из специфической области. Например, индивидуальный предприниматель может определить онтологию, содержащую класс «Покупать» с подклассом «Покупать смартфон» и т.д.
Онтология Web-сервисов описываются с использованием языка семантической разметки. Такой семантическое описание позволяет агентам «понимать» SWS как по составу функций, которые они выполняют, так и по внутренней структуре, и поэтому агенты могут находить, создавать композитный (сложный) сервис, запускать и контролировать такие сервисы.
Далее, семантическая разметка WS обеспечивается средствами DAML OIL или OWL. Эти языки комбинируют со стандартными языками описания Web-сервисов WSDL и SOAP. Хотя и в SW-ориентированных языках программист должен создавать сервисы на концептуальном уровне для того, чтобы избегать структурных ошибок и несоответствий, или ошибок в течение создания и разработки архитектуры WS. В этом смысле разработка SWS требует моделирования на концептуальном уровне и включает спецификацию описания сервиса, функциональные и структурные средства.
SWS-композиция состоит в комбинировании нескольких сервисов для создания нового сервиса. Поэтому разработка SWS и композиция SWS имеют схожие функции. Однако отличие их состоит в том, что композиция использует сервисы, которые уже существуют, и являются программно-управляемым процессом. При разработке SWS пользователи вручную создают сервисы, используя графический интерфейс.
Процесс представления сервиса с использованием агент-ориентированного подхода в общем смысле состоит из пяти шагов, как показано на рис. 3. На первом шаге определяются сервисы, необходимые для организации технологического процесса композиции. Поиск сервисов происходит посреди реестра UDDI или в локальной среде, в котором зарегистрированы сервисы.
На втором шаге, сохраняются характеристики сервиса и фиксируются в поточной агент-ориентированной модели сервисов. Так же на втором шаге определяются характеристики сервисов и формируется соответствующая агентная модель, готовая для дальнейшей работы. На третьем шаге проектировщик потока данных создает проектную модель, как для сервисов, так и для процессов.
Как только модель процессов создана, на четвертом шаге, обеспечивается фиксация информации процесса. Эта информация запоминается в процесс-ориентирований модели данных, которая готова к работе с агентами.
В пятом и заключительном шаге, агенты осуществляют доступ к потоковой модели данных - WORKFLOW и работают с ней для управления сервисами, реагируя на изменения среды.
Формальное определение агентов прикладного уровня строится на основе ролей поточной модели, которые по сути являются запросами к прокси-серверу. Операционные запросы содержат информацию о запуске распределенных сервисов в соответствующее время. Информация о завершении получается на основе мониторинга сервисов, определении ошибок и профилактических сообщений о нестандартных ситуациях.
Рис. 3 Общая схема динамической Workflow-композиции веб-сервисов
Вывод
Наряду с технологиями и средствами представления данных и знаний в семантической сети рождается новая парадигма создания и интеграции прикладных применений, которая соответствует новым требованиям. Концепции процедурного, модульного и объектно-ориентированного программирования - это примеры прошлого, будущее, похоже, за сервисно-ориентированной и агентно-ориентированной архитектурами [13].
В данной работе были представлены основные подходы и средства, заложенные в основу технологии адаптивной композиции сервисов на основе онтологии и интеграции агентов в среде семантической сети, средой использования которых станет малый и средний бизнес. Семантические технологии обеспечивают существование определенного уровня абстракции над существующими информационными технологиями. Этот уровень позволяет осуществлять связь данных, семантики и процессов, выполняемых в распределенной среде. Развитие этих технологий позволит создавать единое унифицированное представление SWS в широком круге приложений, позволит точно находить необходимую информацию, упрощать внутрифирменную интеграцию и интеграцию сетевых приложений в распределенной среде. Рассмотрены средства и стандарты интеграции и координации сетевых сервисов для малого и среднего бизнеса на основе моделей потока работ.
Список литературы
1. Калиниченко Л.А. Методология организации решения задач над множественными распределенными неоднородными источниками информации. Сборник трудов Международной конференции «Современные информационные технологии и ИТ-образование». М.: МГУ, 2005. С. 20-37.( Kalinichenko L.A. Metodologiya organizatsii resheniya zadach nad mnozhestvennymi raspredelennymi neodnorodnymi istochnikami informatsii. Sbornik trudov Mezhdunarodnoy konferentsii «Sovremennye informatsionnye tekhnologii i IT-obrazovanie». M.: MGU, 2005. S. 20-37. [in Russian])
2. Скворцов Н.А., Ступников С.А. Использование онтологии верхнего уровня для отображения информационных моделей. // Труды 10-й Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» (RCDL’2008). Дубна: ОИЯИ, 2008. С. 122-127. (Skvortsov N.A., Stupnikov S.A. Ispol"zovanie ontologii verkhnego urovnya dlya otobrazheniya informatsionnykh modeley. // Trudy 10-y Vserossiyskoy nauchnoy konferentsii «Elektronnye biblioteki: perspektivnye metody i tekhnologii, elektronnye kollektsii» (RCDL’2008). Dubna: OIYAI, 2008. S. 122-127. [in Russian])