Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free (Михаил Алексеев, OSEDUCONF-2021)

Материал из 0x1.tv

Докладчик
Михаил Алексеев.jpg
Михаил Алексеев

При внедрении RunaWFE на предприятиях было выявлено, что наибольшую сложность составляет организация работы с слоем бизнес-объектов. В докладе описана реализация внутреннего хранилища бизнес-объектов в системе RunaWFE Free.

Видео

on youtube

Презентация

Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free.pdf

Thesis

При внедрении RunaWFE на предприятиях было выявлено, что наибольшую сложность составляет организация работы с слоем бизнес-объектов.

Слой бизнес-объектов "— это информация о ресурсах организации, предназначенная для персистентного хранения. Например, данные о банкоматах, товарах и пр.

Жизненный цикл бизнес-объектов выходит за рамки жизненного цикла бизнес-процессов. Таким образом, с одним и тем же бизнес-объектом могут взаимодействовать разные экземпляры бизнес-процессов.

Для решения проблемы в системе RunaWFE Free было решено реализовать внутреннее хранилище бизнес-объектов, удовлетворяющее следующим требованиям:

  1. В качестве персистентного хранилища должны использоваться Excel файлы.
  2. Внутреннее хранилище должно автоматически разворачиваться при установке RunaWFE Free, не требуя от пользователей дополнительных действий, но быть кастомизируемым под нужды пользователей.
  3. Внутреннее хранилище должно быть реализовано с минимальными трудозатратами, используя существующие компоненты RunaWFE.

Хранилище на основе Excel файлов было выбрано в учебных целях, чтобы студенты финансово-бухгалтерских специальностей могли легко проверить результаты работы бизнес-процессов, не обладая специфическими знаниями теории баз данных.

Работу с внутренним хранилищем было решено реализовать при помощи следующих элементов:

  1. Обработчик внутреннего хранилища.
  2. Иконка data store из BPMN и пунктирная стрелка.
  3. Признак хранения во внутреннем хранилище для пользовательских типов данных.

Обработчик может быть сконфигурирован для выполнения 4 операций: insert, select, update, delete.

Выбор подмножества операций должен происходить автоматически при связывании иконки data store с обработчиком внутреннего хранилища с помощью пунктирной стрелки:

data store → обработчик = {select}
обработчик → data store = {insert, update, delete}

В качестве основы для обработчика внутреннего хранилища был взят существующий обработчик внешнего хранилища, конфигурация которого для операции update представлена на Рис. 1.

Способ конфигурации обработчика внешнего хранилища обладает следующими недостатками:

  • пользователю предлагается слишком много полей для ввода, что затрудняет использование обработчика внешнего хранилища новыми пользователями;
  • поле «Условие» принимает на ввод строку определённого формата, в котором легко допустить ошибку;
  • выбраны не самые удачные названия настроек для секции «Атрибут», которые меняют своё значение в зависимости от выполняемой операции, что ещё сильнее усложняет понимание конфигурации;
Конфигурация обработчика внешнего хранилища
Конфигурация обработчика внешнего хранилища

Для переиспользования серверного кода обработчика внешнего хранилища было решено сохранить формат конфигурации обработчика внешнего хранилища, улучшив его usability в обработчике внутреннего хранилища.

В ходе анализа конфигурации обработчика внешнего хранилища были определены следующие этапы улучшения usability,:

  1. Автоматически заполнять параметр конфигурации «Входной файл» (источник данных) специальным значением InternalStorage при связывании обработчика внутреннего хранилища с иконкой data store, таким образом убрав данный параметр из конфигурации.
  2. Упразднить секцию «Атрибут», введя параметр «Пользовательский тип данных», который может принимать любое значение из множества пользовательских типов данных, имеющих признак хранения во внутреннем хранилище.
  3. Минимизировать количество отображаемых параметров конфигурации, оставив только необходимые для совершения операции. В таблице 1 представлено соответствие необходимых параметров для каждой из операций.
  4. Типизировать параметр «Условие» на основании выбранного пользовательского типа данных.
Операция Предикаты Переменная с данными/
переменная-результат
insert - +
select + +
update + +
delete + -
Дерево предикатов
Дерево предикатов

Параметр «Условие» в конфигурации обработчика внешнего хранилища представляет собой строку вида

[атрибут_пользовательского_типа_данных] операция_сравнения @переменная_сравнения 
                                                     операция_объединяющая_предикаты 
[атрибут_пользовательского_типа_данных] операция_сравнения @переменная_сравнения
…

Которая может быть описана с помощью бинарного дерева, представленного на Рис. 2.

Логическое представление дерева предикатов позволяет осуществлять его обработку, в том числе типизацию отдельных предикатов.

При реализации описанной функциональности были использованы следующие технологии:

  • Java 8;
  • Apache Poi 3.17;
  • Apache Struts 1.3.8;
  • Apache Commons 2.6;
  • Spring 3.1.2;
  • Lombok 1.18;
  • Dom4j 1.6.1;
  • Eclipse Tycho 1.5.1.

Результаты

На Рис 3–6 представлены скриншоты элементов системы, использующихся для работы с внутренним хранилищем. Модифицированные конфигурации обработчиков не допускают ввода произвольного текста, дают только возможность выбора из существующих элементов. Структура конфигураций сильно упрощена за счёт использования направленности соединения задачи-сценария с иконкой базы данных пунктирной стрелкой.

Схема бизнес-процесса с использованием BPMN data store.
Схема бизнес-процесса с использованием BPMN data store.
Признак хранения во внутреннем хранилище.
Признак хранения во внутреннем хранилище.
Конфигурация обработчика внутреннего хранилища.
Конфигурация обработчика внутреннего хранилища.
Содержимое внутреннего хранилища.
Содержимое внутреннего хранилища.

Заключение

В результате реализации внутреннего хранилища пользователям стал доступен удобный способ работы с слоем бизнес-объектов, позволяющий в декларативной форме описывать операции над бизнес-объектами и скрывающий низкоуровневые детали реализации.

9 Михеев А. Г., Орлов М. В. Система управления бизнес-процессами и административными регламентами. // Программные продукты и системы, № 3, 2011 Ссылка на сайт проекта RunaWFE Free: http://runawfe.org/rus

Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free!.jpg

Примечания и ссылки



Plays:0   Comments:0