Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free (Михаил Алексеев, OSEDUCONF-2021) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
=== Заключение === В результате реализации внутреннего хранилища пользователям стал доступен удобный способ работы с слоем бизнес-объектов, позволяющий в декларативной форме описывать операции над бизнес-объектами и скрывающий низкоуровневые детали реализации. <span>9</span> Михеев А. Г., Орлов М. В. Система управления бизнес-процессами и административными регламентами. // Программные продукты и системы, № 3, 2011 Ссылка на сайт проекта RunaWFE Free: http://runawfe.org/rus {{----}} [[File:{{#setmainimage:Реализация внутреннего хранилища бизнес-объектов в свободной системе управления бизнес-процессами RunaWFE Free!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> {{vklink|180489}} {{fblink|2955556694697332}} <references/> {{stats|disqus_comments=0|refresh_time=2021-08-31T18:15:50.556915|vimeo_plays=0|youtube_plays=0}} [[Категория:OSEDUCONF-2021]] [[Категория:RunaWFE]] |
Версия 12:01, 15 ноября 2021
- Докладчик
- Михаил Алексеев
При внедрении RunaWFE на предприятиях было выявлено, что наибольшую сложность составляет организация работы с слоем бизнес-объектов. В докладе описана реализация внутреннего хранилища бизнес-объектов в системе RunaWFE Free.
Видео
Презентация
Thesis
При внедрении RunaWFE на предприятиях было выявлено, что наибольшую сложность составляет организация работы с слоем бизнес-объектов.
Слой бизнес-объектов "— это информация о ресурсах организации, предназначенная для персистентного хранения. Например, данные о банкоматах, товарах и пр.
Жизненный цикл бизнес-объектов выходит за рамки жизненного цикла бизнес-процессов. Таким образом, с одним и тем же бизнес-объектом могут взаимодействовать разные экземпляры бизнес-процессов.
Для решения проблемы в системе RunaWFE Free было решено реализовать внутреннее хранилище бизнес-объектов, удовлетворяющее следующим требованиям:
- В качестве персистентного хранилища должны использоваться Excel файлы.
- Внутреннее хранилище должно автоматически разворачиваться при установке RunaWFE Free, не требуя от пользователей дополнительных действий, но быть кастомизируемым под нужды пользователей.
- Внутреннее хранилище должно быть реализовано с минимальными трудозатратами, используя существующие компоненты RunaWFE.
Хранилище на основе Excel файлов было выбрано в учебных целях, чтобы студенты финансово-бухгалтерских специальностей могли легко проверить результаты работы бизнес-процессов, не обладая специфическими знаниями теории баз данных.
Работу с внутренним хранилищем было решено реализовать при помощи следующих элементов:
- Обработчик внутреннего хранилища.
- Иконка data store из BPMN и пунктирная стрелка.
- Признак хранения во внутреннем хранилище для пользовательских типов данных.
Обработчик может быть сконфигурирован для выполнения 4 операций: insert, select, update, delete.
Выбор подмножества операций должен происходить автоматически при связывании иконки data store с обработчиком внутреннего хранилища с помощью пунктирной стрелки:
data store → обработчик = {select} обработчик → data store = {insert, update, delete}
В качестве основы для обработчика внутреннего хранилища был взят существующий обработчик внешнего хранилища, конфигурация которого для операции update представлена на Рис. 1.
Способ конфигурации обработчика внешнего хранилища обладает следующими недостатками:
- пользователю предлагается слишком много полей для ввода, что затрудняет использование обработчика внешнего хранилища новыми пользователями;
- поле «Условие» принимает на ввод строку определённого формата, в котором легко допустить ошибку;
- выбраны не самые удачные названия настроек для секции «Атрибут», которые меняют своё значение в зависимости от выполняемой операции, что ещё сильнее усложняет понимание конфигурации;
Для переиспользования серверного кода обработчика внешнего хранилища было решено сохранить формат конфигурации обработчика внешнего хранилища, улучшив его usability в обработчике внутреннего хранилища.
В ходе анализа конфигурации обработчика внешнего хранилища были определены следующие этапы улучшения usability,:
- Автоматически заполнять параметр конфигурации «Входной файл» (источник данных) специальным значением InternalStorage при связывании обработчика внутреннего хранилища с иконкой data store, таким образом убрав данный параметр из конфигурации.
- Упразднить секцию «Атрибут», введя параметр «Пользовательский тип данных», который может принимать любое значение из множества пользовательских типов данных, имеющих признак хранения во внутреннем хранилище.
- Минимизировать количество отображаемых параметров конфигурации, оставив только необходимые для совершения операции. В таблице 1 представлено соответствие необходимых параметров для каждой из операций.
- Типизировать параметр «Условие» на основании выбранного пользовательского типа данных.
Операция | Предикаты | Переменная с данными/ |
переменная-результат | ||
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 представлены скриншоты элементов системы, использующихся для работы с внутренним хранилищем. Модифицированные конфигурации обработчиков не допускают ввода произвольного текста, дают только возможность выбора из существующих элементов. Структура конфигураций сильно упрощена за счёт использования направленности соединения задачи-сценария с иконкой базы данных пунктирной стрелкой.
Заключение
В результате реализации внутреннего хранилища пользователям стал доступен удобный способ работы с слоем бизнес-объектов, позволяющий в декларативной форме описывать операции над бизнес-объектами и скрывающий низкоуровневые детали реализации.
9 Михеев А. Г., Орлов М. В. Система управления бизнес-процессами и административными регламентами. // Программные продукты и системы, № 3, 2011 Ссылка на сайт проекта RunaWFE Free: http://runawfe.org/rus
Примечания и ссылки
Plays:0 Comments:0