МЕТОД ФОРМИРОВАНИЯ ПРОТОТИПОВ СЕРВИСОВ НА ОСНОВЕ ЗНАНИЙ О БИЗНЕС-ПРОЦЕССАХ
О.1, Г.2, Wójcik W.3
1Восточно-Казахстанкий Государственный технический университет им. Д. Серикбаева, Усть-Каменогорск, Республика Казахстан, VMokerov@gmail.com
2Восточно-Казахстанкий Государственный технический университет им. Д. Серикбаева, Усть-Каменогорск, Республика Казахстан, TBalova@ektu.kz
3Люблинский политехнический университет, Люблин, Польша
Аннотация
В работе представлен метод формирования шаблонов сервисов на основе онтологической базы знаний. Метод нацелен на формирование прототипа системы с использованием семантики связей. Рассмотрено применение метода для разработки прототипа семантического портала университета.
Введение
Целью данной работы является автоматизация формирования прототипа сервис-ориентированной системы. Достижение поставленной цели связано с созданием формальной модели системы [1,2]. Сервис-ориентированный подход обеспечивает гибкость и масштабируемость системы [3], а так же предоставляет возможность математической формализации с применением теории множеств и теории графов [4]. Для формализации модели системы в работах [1,2,5,6] предложен онтологический подход. Онтологическая модель предметной области может быть получена из метамодели информационной системы [7,8]. Указанные работы показывают на возможность использования онтологической базы знаний как при проектировании системы, так и в процессе её развития. В работах [1,2,6] база знаний выступает инструментом поддержки процесса проектирования. Описанные подходы опираются на детальную инженерию знаний о системе, но с другой стороны часто требуется воссоздать только прототип системы для принятия и согласования решений о развитии архитектуры системы. В таких случаях используется методика быстрого прототипирования. Вопрос быстрого прототипирования сервисов рассмотрен в [9], технология разработки «гибкого» программного обеспечения с применением эволюционного прототипирования используется для разработки сложных программно-аппаратных систем [10]. Предлагаемое в работе решение опирается на метамодель системы и те связи, которые изначально в неё заложены, следовательно, не требует значительных изменений в методологии разработки системы или дополнительной инженерии знаний.
Формирование прототипов сервисов на основе знаний.
Достижение означенной цели возможно посредством решения следующих задач:
- формирование метамодели системы;
- преобразование метамодели в онтологию системы;
- создание прототипов сервисов.
Последовательность решения приведённых задач положена в основу предлагаемого метода, графическая схема реализации которого представлена на рисунке 1.
Решение задачи формирования метамодели системы осуществляется на основе системного анализа. Элементами метамодели выступают бизнес-процессы, сущности и функции системы, а так же связи между ними. Таким образом, результатом решения данной задачи является модель системы, определённая в семантике методологии, выбранной аналитиком. Вне зависимости от используемой методологии на данном этапе будут определены[11]:
- основные функции системы;
- сущности или объекты предметной области;
- состав и структура бизнес-процессов.

Рисунок 1 - Схема метода формирования шаблонов сервисов
Концепция преобразования метамодели в онтологию системы рассматривается в [7]. В [8] приведён конкретный подход к преобразованию семантики диаграммы классов UML в онтологию связей классов. Для преобразования семантики описания бизнес-процессов может быть использован аналогичный подход.
Формализацию элементов онтологии можно определить с помощью аппарата теории множеств, в соответствии с которым функции системы представлены некоторым множеством U = {f}. Тогда бизнес процессы и сущности можно представить как подмножества данного множества
, где BP–множество бизнес-процессов, Е–множество сущностей.
Таким образом, бизнес-процессы являются некоторым набором функций, а сущности используются некоторым набором функций.
Приемущества в переходе от метамодели системы к её онтологическому описанию[12]:
- совместное использование людьми или программными агентами общего понимания структуры информации;
- возможность повторного использования знаний в предметной области;
- отделение знаний в предметной области от оперативных знаний.
Создание прототипов сервисов на основе онтологии может быть сведено к решению задачи кластеризации с последующим формированием описаний сервисов на основе полученных кластеров.
Кластер функций, определяющих сервис, должен содержать функции с близкой семантикой, тогда как семантика функций различных кластеров должна отличаться существенно:
|
Функцию сходства можно определить как семантическую близость двух функций на основе приведённой онтологической модели:
|
Введённая мера определяет семантическую близость как отношение кардинального числа множества общих бизнес-процессов и сущностей двух функций к кардинальному числу множества всех бизнес-процессов и сущностей этих функций.
Решение задачи кластеризации (1), с учетом функции сходства, определённой в (2), может быть выполнено с помощью метода FOREL.
На основе кластеров, полученных после решения задачи (1), создаются шаблоны сервисов образовательного портала в виде набора WSDL-описаний [13], содержащих интерфейсы всех функций кластера.
Для обоснованности применения предлагаемого метода, необходимо удостовериться, что полученный прототип архитектуры удовлетворяет предъявляемым требованиям. Одним из основных требований в сервис-ориентированной архитектуре является поддержание слабой связи между элементами, т. е. изменения одного элемента системы должно порождать минимально возможные изменения в элементах, связанных с изменённым[14]. Таким образом, для локализации изменений необходимо, чтобы все функции, принадлежащие одному бизнес-процессу, принадлежали минимальному количеству сервисов:
|
Согласно критерию кластеризации, приведённому в (1), функции бизнес-процесса принадлежат единственному сервису, если они используются только в рамках данного бизнес-процесса или всегда вызываются вместе. Таким образом, для функций, определяющих сущность бизнес-процесса, т. е. используемых только при его исполнении, требование к слабой связанности выполняется. Исследование на соответствие полученного прототипа требованиям к масштабируемости и производительности находятся в разработке.
Апробация метода
Предложенный метод был использован при разработке базы знаний электронного университета в рамках гранатового финансирования МОН РК «Разработка онтологической базы знаний е-университета», номер госрегистрации 0112РК01674.
В состав разработанной онтологической модели были включены следующие объекты:
- Class: Бизнес-процесс SubClassOf:Thing;
- Class: Сущность SubClassOf:Thing;
- Class:(Конкретный бизнес-процесс)SubClassOf: Бизнес-процесс;
- Class(Конкретная сущность) SubClassOf: Сущность;
- ObjectProperty: Вызывает Domain: Бизнес-процесс Range:Бизнес-процесс;
- Individual: (Конкретная функция) Types: Бизнес-процесс, Сущность Вызывает some(Конкретная функция).
Таким образом, в приведённой модели определены классы «Бизнес-процесс» и «Сущность», которые являются наследниками класса «Thing» и единственными суперклассами для конкретных бизнес-процессов и сущностей информационной системы соответственно. Функции информационной системы представлены как индивиды множества классов бизнес-процессов и сущностей, т. е. каждая функция является объектом всех классов бизнес-процессов, в которых она участвует, и объектом всех сущностей, которые она использует. Также в онтологию введено объектное свойство «Вызывает», которое определяет порядок вызова функций в рамках всех бизнес процессов.
Онтологическая модель электронного образовательного портала, была разработана с использованием ресурса Protégé, который поддерживается грантом Национальной Библиотеки Медицины Соединенных Штатов LM007885(http://protege. stanford. edu), использована в качестве базы знаний системы.
В Листинге 1 приведен пример WSDL-описание сервиса для указанного проекта.
Листинг 1. Пример WSDL-описание
<!--Шаблон веб-сервиса №1-->
<definitions name="EPService1"
targetNamespace="http://semantic. "
xmlns:soap="http://schemas. xmlsoap. org/wsdl/soap/"
xmlns="http://schemas. xmlsoap. org/wsdl/"
><!—Необходимо определить формат сообщений -->
<message name="Function1Request"></message>
<message name="Function1Response"></message>
<!--Функция «Поиск доступных компетенций» -->
<portTypename="Function1PortType">
<operation name="Function1">
<!--Определить форматы сообщений-->
</operation></portType>
<binding name="Function1SoapBinding">
<soap:binding style="document"
transport="http://schemas. xmlsoap. org/soap/http"/>
<operation name="Function1">
<soap:operation
soapAction="http://semantic. /EPService1"/>
</operation></binding>
<service name="EPService1">
<port name="Function1Port"
binding="Function1SoapBinding">
<soap:address location="http://semantic. /EPService1"/>
</port>
</service>
</definitions>
Таким образом, решение поставленной задачи позволит создать шаблон архитектуры сервис-ориентированного приложения. Сформированные сервисы впоследствии могут быть добавлены к модели знаний при модернизации системы.
Выводы
Описанный метод основан на использовании онтологической модели знаний системы, которая может быть получена из метамодели системы по методикам, приведённым в [7,8]. Метод позволяет получить шаблоны сервисов в виде WSDL-описаний. Полученные описания сервисов могут быть использованы как для быстрого прототипирования, так в и качестве основы для дальнейшего проектирования системы. Прототип архитектуры системы, полученный в результате применения метода, удовлетворяет требованию к слабой связанности элементов.
СПИСОК ЛИТЕРАТУРЫ
1. Pahl C. Semantic model-driven architecting of service-based software systems // Information and Software Technology. 2007. Vol. 49. Pp. 838–850.
2. Valencia-garcı R., Martı R., Garcı F. An ontology, intelligent agent-based framework for the provision of semantic web services // Expert Systems with Applications. 2009. Vol. 36. Pp. 3167–3187.
3. Ghenecea A., Gaucan V., Pirvu D. Distributed Systems and Web Technologies // Journal of Knowledge Management, Economics and Information Technology. 2011. № 5.
4. Pradeep G., Seethalakshmi, Somasundaram B. Design and Composition of e-Learning and Research Resources using Service Oriented Architecture. 2010. Vol. 12, № 5.
5. Šaša A., Krisper M. Ontology-Based Knowledge Management in Service-Oriented Systems // Information Systems. 2011. Vol. 35, № 1. Pp. 105–118.
6. Strasunskas D., Hakkarainen S. E. Domain model-driven software engineering : A method for discovery of dependency links // Information and Software Technology. Elsevier B. V., 2012. Vol. 54, № 11. Pp. 1239–1249.
7. Henderson-Seller B. Bridging metamodels and ontologies in software engineering // The Journal of Systems & Software. Elsevier Inc., 2011. Vol. 84, № 2. Pp. 301–313.
8. Robles K. et al. Towards an ontology-based retrieval of UML Class Diagrams // Information and Software Technology. Elsevier B. V., 2012. Vol. 54, № 1. Pp. 72–86.
9. Lazar I. Rapid Prototyping of Service-Oriented Applications on OSGi Platform // Informatics, 2009. BCI ’09. Fourth Balkan Conference in. 2009. Pp. 217–222.
10. Kaindl H., Arnautovic E. How About Agile Systems Development ? // ICONS 2012 : The Seventh International Conference on Systems. 2012. № c. Pp. 55–58.
11. Satzinger J. W., Jackson R. B., Burd S. D. Systems Analysis and Design in a Changing World. 5th ed. Course Technology, 2008.
12. . et al. Онтологии и тезаурусы: учебное пособие. Казань; Москва, 2006.
13. Web Services Description Language (WSDL) Version 2.0 [Online]. 2007. URL: http://www. w3.org/TR/2007/REC-wsdl20-primer-20070626/.
14. Концепция SOA // Открытые системы. 2004. № 6.
Основные порталы (построено редакторами)
