ISSN 2225-7551

УДК 004.94

 

В.В. Казимир, д-р техн. наук

М.В. Харченко, асистент

Чернігівський національний технологічний університет, м. Чернігів, Україна

технологія побудови вбудованих програмних моделей бізнес-процесів на основі їх xml-описів

В.В. Казимир, д-р техн. наук

М.В. Харченко, ассистент

Черниговский национальный технологический университет, г. Чернигов, Украина

технология построения встраиваемых программных моделей бизнес-процессов на основе их xml-описаний

Volodymyr Kazymyr, Doctor of Technical Sciences

Maryna Kharchenko, assistant

Chernihiv National University of Technology, Chernihiv, Ukraine

the technology of creating embedded software models
of business-processes based on their xml descriptions

Розглянуто можливості використання мови XML для побудови програмних моделей бізнес-процесів. Запропоновано метод конвертації XML-опису концептуальної моделі бізнес-процесу в XML-опис формалізованої моделі за допомогою введення додаткових структур. Розроблено метод вбудовування програмних моделей бізнес-процесів у контур управління управляючого web-порталу.

Ключові слова: бізнес-процес, технологія, вбудована модель, управління, xml.

Рассмотрены возможности использования языка XML для построения программных моделей бизнес-процессов. Предложен метод конвертации XML-описания концептуальной модели бизнес-процесса в XML-описание формализованной модели путем ввода дополнительных структур. Разработан метод встраивания программных моделей бизнес-процессов в контур управления управляющего web-портала.

Ключевые слова: бизнес-процесс, технология, встраиваемая модель, управление, xml.

Possibilities of using XML for building software models of business processes are describe in the article. The method for converting XML-description of the conceptual model of the business process to XML-description of formalized model by adding additional structures is proposed. A method of embedding software models of business processes in a control loop of a managing web-portal is developed and described in the article.

Key words: a business process, a technology, an embedded model, a management, xml.

Постановка проблеми. Проблема комплексної автоматизації управлінської діяльності дуже актуальна для кожного підприємства. Цей процес повинен відбуватися із застосуванням певного методу, який дозволив би провести зміни з максимальною ефективністю [1]. Таким методом на сьогодні є моделювання бізнес-процесів підприємств. Пропонується для побудови моделі бізнес-процесу застосовувати такі самі етапи, що і для побудови імітаційної моделі. А саме, розроблення таких моделей, як концептуальної, формальної, програмної [2]. У роботі [3] авторами запропоновано використовувати формальний апарат управляючих Е-мереж для формалізації бізнес-процесів. Щоб мати змогу створити за отриманим формалізованим описом програмну модель бізнес-процесу і в подальшому використовувати її для реалізації концепції управляючих web-порталів [4], необхідно розробити технологію перетворення формалізованої моделі у програмний код алгоритму виконання бізнес-процесу.

Аналіз останніх досліджень і публікацій. Питання моделювання й автоматизації управління бізнес-процесами розглядається у працях Б. Старінського, Л.В. Кузнєцової, А.В. Ніколаєва, О.І. Максимова, А.Є. Глухова [5] та ін. Однак, незважаючи на свою актуальність, рівень дослідження питання вбудовування моделей бізнес-процесів у контур управління управляючих web-порталів не достатній.

Мета статті. Головною метою цієї статті є розроблення інформаційної технології побудови програмної моделі бізнес-процесу, яка може бути вбудована в контур управління управляючого web-порталу.

Виклад основного матеріалу. Графічно представлені концептуальна і формальна моделі дозволяють якнайкраще відобразити логіку виконання бізнес-процесу, але їх не можна застосовувати для управління процесами. У зв’язку з цим виникає необхідність перетворення даних моделей у такий формат, який можна використовувати у подальшому для реалізації інформаційної підтримки управління бізнес-процесами.

Використання XML для опису бізнес-процесів

Кожна модель бізнес-процесу має ієрархічну структуру, яка складається із послідовності виконуваних етапів (операцій), станів, ресурсів (виконавців бізнес-процесу та інформаційних ресурсів), товарів і послуг. Як відомо, дані такого типу легко представити у вигляді структурованого опису даних. До того ж одним із об’єктів управління бізнес-процесів є документи. Згідно зі стандартом ISO 23081-1:2006 [6] для управління документами, бізнес-правилами та бізнес-процесами використовуються їх метадані. У стандарті визначено, що структура таких метаданих описуються на мові XML [7].

На рис. 1 у вигляді схеми показана ієрархія структури документа XML, що містить кореневий елемент, декілька вузлових елементів, а також вузлів нижчого рівня і так далі.

Рис. 1. Ієрархія структури документа XML

XML – це ієрархічна структура, призначена для зберігання будь-яких даних, візуально структура яких може бути представлена як дерево. Найважливіша обов’язкова синтаксична вимога ‒ те, що документ має тільки один кореневий елемент. Текст або інші дані всього документа мають бути розташовані між єдиним початковим кореневим тегом і відповідним йому кінцевим тегом. Таким чином, як мову опису бізнес-процесів оберемо XML.

Технологічно процес побудови програмних моделей бізнес-процесів і їх вбудовування в управляючий web-портал полягає у послідовному виконанні шести етапів.

1. Визначення XML-опису концептуальної моделі бізнес-процесу.

2. Розширення XML-опису концептуальної моделі з урахуванням формального апарату управляючих Е-мереж і отримання XML-опису формалізованої моделі бізнес-процесу.

3. Визначення XML-структури управляючого web-порталу.

4. Додаткова розмітка XML-документів.

5. Визначення піддокументів.

6. Відображення піддокументів.

XML-опис концептуальної моделі бізнес-процесу можна легко отримати за допомогою експорту її графічного представлення (IDEF0 та IDEF3) засобами системи моделювання бізнес-процесів, наприклад, BPWin.

Реалізація другого етапу відбувається за методом конвертації, що описується нижче.

Етапи 3–6 також описуються нижче в методі вбудовування моделей бізнес-процесів у контур управління управляючого web-порталу.

Метод конвертації XML-опису концептуальної моделі в XML-формат формалізованої моделі бізнес-процесу

Суть методу полягає в конвертації описів концептуальних моделей бізнес-процесів із стандартного формату XML у спеціалізований формат [8]. Оскільки формалізована модель будується із використанням формального апарату управляючих Е-мереж, то для перетворення використаємо запропоноване у роботі [9] розширення визначенням CEN (Contol E-Nets ‒ управляючі Е-мережі) формату Petri Net Markup Language (PNML). Основу схеми визначення мережі складають: схема визначення позиції, схема визначення переходу і схема визначення дуги.

На рис. 2–5 наведені схеми PNML-визначень основних компонентів CEN.

Рис. 2. Схема PNML – визначення мережі

Рис. 3. Схема PNML – визначення позиції

Рис. 4. Схема PNML – визначення дуги

Рис. 5. Схема PNML – визначення переходу

На підставі наведених схем генерується XSD-файл, який використовується для конвертації XML-опису концептуальної моделі у XML-опис CEN-моделі (формалізованої моделі у форматі PNML).

Кожному елементу (позиції, переходу, дузі) формалізованої моделі підібрано шлях для збереження даних про модель у файлі PNML. Наприклад:

а) одній позиції елементу:

1) у файлі PNML відповідає шлях виду Xpath:

pnml\content\net\content\place”;

2) Xpath у файлі XML:

ProcessModeler\PMModel\PMDiagram_Groups\PMDiagram\PMBox_Groups\PMBox”;

б) дуга матиме вигляд:

1) Xpath у файлі PNML: “pnml\content\net\content\arc”;

2) Xpath у файлі XML:

ProcessModeler\PMModel\PMActivity_Groups\PMActivity”;

в) перехід матиме вигляд:

1) Xpath у файлі PNML: “pnml\content\net\content\transition”;

2) Xpath у файлі XML:

ProcessModeler\PMModel\ PMJunction _Groups\ PMJunction”.

Під час конвертації формалізованого опису моделі бізнес-процесу у форматі XML відбувається пошук та поєднання необхідних даних про об’єкти моделі на основі закладеної в конверторі інформації про місцезнаходження та відповідності метаданих.

У процесі читання файла виконується послідовне визначення об’єктів:

  • позицій – основних елементів діаграм;

  • переходів;

  • взаємозв’язків між позиціями і переходами на основі посилань, що трапляються у властивостях дуг та позицій.

Коли всі знайдені дані структуровані необхідним чином, так що є елементи, переходи та посилання між ними, виконується запис у файл PNML кожної позиції, кожної структури у такому порядку: позиції, переходи, дуги за встановленими правилами та визначеними шляхами Xpath. Усі відповідні властивості заповнюються на основі відповідностей об’єктів.

Тому позиція, що у початковому файлі XML мала опис у вигляді:

<PMBox id="{517322F2-E663-422A-AA37-9F95F3955E95}+00000000" Name="Prog">

<PMBoxProps>

<PMBoxCoordinates member_name="left">695</PMBoxCoordinates>

<PMBoxCoordinates member_name="top">100</PMBoxCoordinates>

<PMBoxCoordinates member_name="right">760</PMBoxCoordinates>

<PMBoxCoordinates member_name="bottom">215</PMBoxCoordinates>

<PMActivityRef>{0FEBE7B1-F9BD-4C83-BBE0-23E30728E745}+00000000 </PMActivityRef>

<PMUowIdNumber>2</PMUowIdNumber>

<PMPersistentBoxNumber />

<PMDrawStyle>0</PMDrawStyle>

<PMObjectFontReference>{9ACD20C4-C74C-4099-B9BF-1E6880774C22}+ 00000000</PMObjectFontReference>

<PMTextColorReference />

<PMTitleColorReference />

<PMBackgroundColorReference />

<PMBitmapRef>{21B92027-26A1-4D4C-A91C-82295C501E6E}+00000000</PMBitmapRef>

<PMBitmapJustification>0</PMBitmapJustification>

<PMShapeId>0</PMShapeId>

</PMBoxProps>

</PMBox>,

у новому файлі має вигляд:

<tns:pnml xmlns:tns="http://www.stu.chernihiv.ua/CEN" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www. stu.chernihiv.ua/CEN E:\CEN_PNML.xsd" >

<tns:place id="517322F2-E663-422A-AA37-9F95F3955E95">

<tns:graphics>

<tns:position>

<attribute name="x">695</attribute>

<attribute name="y">100</attribute>

</tns:position>

</tns:graphics>

<tns:attributes>

<tns:attribute>

<tns:name>Prog</tns:name>

</tns:attribute>

</tns:attributes>

<tns:attributes>

<tns:attribute>

<tns:type>Position</tns:type>

</tns:attribute>

</tns:attributes>

</tns:place>

</tns:pnml>.

Отже, за XSD-схемою, на яку є посилання у шапці створеного файла «E:\CEN_PNML.xsd», можна створити PNML-файл.

Запропонований метод дає змогу конвертувати XML-опис концептуальної моделі бізнес-процесу у XML-опис формалізованої моделі у форматі PNML і вбудовувати отриману програмну модель в управляючий web-портал.

Метод вбудовування моделей бізнес-процесів у контур управління управляючого web-порталу

Цей метод ґрунтується на запропонованому у статті [10] підході, за яким функціонування управляючого web-порталу описується формальними моделями бізнес-процесів, представленими у форматі XML. У загальному випадку весь процес роботи web-порталу можна представити у вигляді ієрархічної структури виду:

<root><!-- суперкористувач-->

<admin><!--адміністратор системи -->

<post/><!-- посада-->

<doctype/><!-- тип документа-->

<department><!-- відділ -->

<user><!-- співробітник-->

<file><!--завантажений файл -->

</file>

</user>

<customer><!--співробітник, що ініціює процес -->

</customer>

</department>

<model>

<alias><!-- екземпляри документів, що будуть переміщатись у моделі-->

<doctype><![CDATA[link to /root/admin/doctype]]></doctype>

</alias>

<defination/><!--визначення структури основного документа моделі -->

<config/><!--налаштування моделі (початковий етап, атрибути і файли, доступні після завершення роботи моделі)-->

<action><!--дія (етап)-->

<subaction><!-- піддія-->

<action/><!--посилання на наступну дію -->

</subaction>

<responsible><!-- виконавець дії-->

</responsible>

</action>

...

</model>

</admin>

</root>.

Згідно із запропонованим методом наведена структура абстрактного XML-документа розділяється на окремі складові, які зберігаються у БД. Застосовуючи технологію XML, один запис БД зберігає разом дані і метадані з проекції назв об’єктів і їх атрибутів на XML-теги, а даних – на значення тегів. Оскільки об’єкти (складові) можуть бути пов’язаними, передбачено створення посилань між ними. Для цього у БД створена окрема таблиця. Таким чином, є БД, в якій у вигляді текстових записів зберігаються XML-структури, що містять відомості про моделі процесів, документи і дані користувачів, а також у БД зберігаються зв’язки між цими даними. Нижче як приклад наводиться запис про модель:

<name>Модель рецензування</name>

<author>Науково-дослідна частина </author>

<description>Модель процесу рецензування авторефератів, дисертацій та науково-методичної літератури </description>.

Наведена структура явно не пов’язана з іншими даними, але використовуючи таблицю зв’язків створюється абстрактний XML-документ, структура якого була наведена вище.

Визначення значень складових тегу model відбувається завдяки конвертації XML-опису формалізованої моделі бізнес-процесу. Так, атрибути тегу defination визначаються із значення атрибутів мітки в початковій позиції формалізованої моделі. Атрибути тегу config отримують свої значення із початкового переходу і кінцевої позиції. Тегу action відповідають дії, що виконуються під час переходу, тег subaction визначається управляючою функцією переходу. Тег responsible отримує своє значення з атрибуту «виконавець» мітки управляючої Е-мережі.

Оскільки у БД дані зберігаються у форматі XML, інтерфейс користувача також оперує даними у форматі XML. Для цього краще всього підходять дві технології – XSL та XSLT [8].

Використовуючи розроблену БД та технологію зберігання об’єктних даних, розроблення інтерфейсу користувача можна поділити на два етапи: формування даних у форматі XML згідно з моделлю відображення; перетворення підготовлених даних у формат HTML.

Формування даних являє собою підготовку DOM-документа, що містить увесь необхідний набір даних, який буде в подальшому перетворений у web-сторінку. Для побудови ієрархічного документа був розроблений набір спеціальних інструкцій для формату XSL, після оброблення яких здійснювалось підключення інших DOM-документів і їх об’єднання в один XML-документ.

Сформовані дані передаються в XSLT-шаблон, який їх обробляє та виконує перетворення у web-сторінку.

Приклад інструкцій вибірки даних з БД і формування XML-документа наведено нижче. В ньому формується список моделей.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/">

<xsl:element name="models">

<xsl:attribute name="id"><xsl:value-of select="/*/@id" /></xsl:attribute>

<xsl:element name="model">

<xsl:attribute name="action">link</xsl:attribute>

<xsl:attribute name="tmpl">short</xsl:attribute>

<xsl:attribute name="doctype">model</xsl:attribute>

<xsl:element name="criteria"> ( type='model' ) order by cdate ASC
</xsl:element>

</xsl:element>

</xsl:element>

</xsl:template>

</xsl:stylesheet>.

Результатом вибірки з БД буде наступний XML-документ з даними:

<?xml version="1.0"?>

<models id="-1" oid="101" pid="101" utype="admin" v="1">

<model id="560" pid="101" utype="admin" v="1">

<name> Модель рецензування </name>

<description> Модель процесу рецензування авторефератів, дисертацій та

науково-методичної літератури </description>

<author> Науково-дослідна частина </author>

<used count="2"/>

</model>

</models>.

Подальша робота з отриманими даними відбувається за допомогою набору XSLT-шаблонів, на основі яких будується інтерфейс користувача. Використання XSLT-шаблонів значно впливає на швидкість розроблення інтерфейсу, оскільки виокремлюючи частини інтерфейсу, що найчастіше використовуються, в окремі XSLT-шаблони, а потім, використовуючи їх шляхом комбінування, можна швидко та ефективно створювати однотипні web-сторінки. Наприклад, web-сторінки у великому об’ємі містять різні елементи управління: кнопки, поля вводу, форми, меню, таблиці та ін. Визначивши заздалегідь такі частини інтерфейсу, зникає необхідність розробляти їх знову. Достатньо під час проектування інтерфейсу задавати відповідні XSLT-шаблони його частин. XSLT-парсер, у свою чергу, під час розбору шаблонів web-сторінок буде замінювати виклики шаблонів частин інтерфейсу відповідними елементами.

Для прикладу нижче наведено фрагмент коду, що відповідає за формування посилання на сторінку із виводом списку мо