Реализация работы бота с внутренним хранилищем в свободной системе управления бизнес-процессами RunaWFE Free (Владислав Сизов, OSSDEVCONF-2023)

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

Докладчик
Владислав Сизов

В системе RunaWFE Free работать с внутренним хранилищем данных можно как путём использования элементов нотации BPMN «задача-сценарий», так и при помощи ботов (автоматических исполнителей заданий).

Для задач-сценариев в системе RunaWFE Free существует удобный способ работы с таблицами внутреннего хранилища и переменными бизнес-процессов. В данной работе аналогичный способ работы с данными внутреннего хранилища был реализован для ботов.

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

Видео

Презентация

Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf

Thesis

Введение

По сравнению с задачами-сценариями у ботов в системе RunaWFE Free[1] есть два преимущества:

  1. Один бот (с одной настроенной конфигурацией) может работать с разными бизнес-процессами. Если для этого использовать задачи-сценарии, то в каждом бизнес-процессе их конфигурации придётся дублировать, что приводит к сложностям при сопровождении и изменении работы системы.
  2. Боты, в отличие от задач-сценариев, при работе с данными могут поддерживать транзакции, основанные на принципах процессного управления[2].


В случае задач-сценариев для работы с таблицами внутреннего хранилища в бизнес-процессе для каждой используемой таблицы создаётся пользовательский тип переменной, подтипы которого соответствуют типам полей таблицы. Далее при выполнении действий с таблицами (Select, Insert, Delete, Update) в специальных формах из списков выбираются и сопоставляются поля таблиц, соответствующие переменные бизнес-процесса и логические операции между ними. В отличие от задачи-сценария бот не является частью бизнес-процесса и не может обращаться к переменным бизнес-процесса напрямую, т.к. бот может работать с разными бизнес-процессами, в которых переменные могут иметь различные названия. Поэтому в данной работе для бота была добавлена возможность использовать глобальные разделы, из которых в конфигурациях действий с таблицами выбираются соответствующие переменные и в дальнейшем используются как формальные параметры задач ботов. А при назначении задач ботам в бизнес-процессах этим формальным параметрам ставятся в соответствие переменные бизнес-процессов (т.е. фактические параметры).

Реализация

Для решения проблемы в системе RunaWFE Free был создан обработчик для бота для взаимодействия с внутренним хранилищем:

Конфигурация задачи бота
2023-sizov-img002.png

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


  1. Входные параметры бота должны состоять из переменных таблиц.
  2. Выходным параметром должна быть сама таблица в случае операций INSERT, DELETE, UPDATE. В случае операции SELECT – список хранящий тип данных таблицы.


Конфигурация обработчика в задаче бота.

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

  • Java 8;
  • Spring 3.1.2;
  • Lombok 1.18;
  • Dom4j 1.6.1.


Результаты

На иллюстрациях 3—4 представлены скриншоты проекта, позволяющего использовать бота для работы с внутренним хранилищем. Структура конфигураций сильно упрощена за счёт автоматического создания глобального раздела бота, который будет использоваться для передачи данных в конфигурацию задачи бота.

Схема конфигурации задачи бота в бизнес-процесс
Схема бизнес-процесса

Заключение

В результате создания глобального раздела бота пользователям стало гораздо удобнее настраивать бота для работы с внутренним хранилищем системы.


Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023)!.jpg

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

  1. Михеев\,А.\,Г., Орлов\,М.\,В. Система управления бизнес-процессами и административными регламентами. // Программные продукты и системы, № 3, 2011
  2. Михеев\,А.\,Г. Проект RunaWFE Free. Реализация транзакций для курса процессного управления предприятием — в кн.: Четырнадцатая конференция Свободное программное обеспечение в высшей школе. Материалы конференции / Переславль, 25—27 января 2019 года. М.: МАКС Пресс., 2019.