Реализация работы бота с внутренним хранилищем в свободной системе управления бизнес-процессами RunaWFE Free (Владислав Сизов, OSSDEVCONF-2023) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (→Thesis) |
StasFomin (обсуждение | вклад) |
||
Для задач-сценариев в системе RunaWFE Free существует удобный способ работы с таблицами внутреннего хранилища и переменными бизнес-процессов. В данной работе аналогичный способ работы с данными внутреннего хранилища был реализован для ботов. В отличие от задачи-сценария, которая является частью определённого бизнес-процесса, бот не может обращаться к переменным бизнес-процесса напрямую. Поэтому для бота работы с внутренним хранилищем были добавлены глобальные разделы, содержащие переменные и типы данных. </blockquote> {{VideoSection}} {{vimeoembed|898210575|800|450}} {{youtubelink|}} |zGvikwL9My8}} {{SlidesSection}} [[File:Реализация работы бота с внутренним хранилищем в RunaWFE Free (OSSDEVCONF-2023).pdf|left|page=-|300px]] {{----}} == Thesis == |
Текущая версия на 06:25, 25 июня 2024
- Докладчик
- Владислав Сизов
В системе RunaWFE Free работать с внутренним хранилищем данных можно как путём использования элементов нотации BPMN «задача-сценарий», так и при помощи ботов (автоматических исполнителей заданий).
Для задач-сценариев в системе RunaWFE Free существует удобный способ работы с таблицами внутреннего хранилища и переменными бизнес-процессов. В данной работе аналогичный способ работы с данными внутреннего хранилища был реализован для ботов.
В отличие от задачи-сценария, которая является частью определённого бизнес-процесса, бот не может обращаться к переменным бизнес-процесса напрямую. Поэтому для бота работы с внутренним хранилищем были добавлены глобальные разделы, содержащие переменные и типы данных.
Содержание
Видео
Презентация
Thesis
Введение
По сравнению с задачами-сценариями у ботов в системе RunaWFE Free[1] есть два преимущества:
- Один бот (с одной настроенной конфигурацией) может работать с разными бизнес-процессами. Если для этого использовать задачи-сценарии, то в каждом бизнес-процессе их конфигурации придётся дублировать, что приводит к сложностям при сопровождении и изменении работы системы.
- Боты, в отличие от задач-сценариев, при работе с данными могут поддерживать транзакции, основанные на принципах процессного управления[2].
В случае задач-сценариев для работы с таблицами внутреннего хранилища в бизнес-процессе для каждой используемой таблицы
создаётся пользовательский тип переменной, подтипы которого соответствуют типам полей таблицы. Далее при выполнении
действий с таблицами (Select, Insert, Delete, Update) в специальных формах из списков выбираются и сопоставляются поля
таблиц, соответствующие переменные бизнес-процесса и логические операции между ними.
В отличие от задачи-сценария бот не является частью бизнес-процесса и не может обращаться к переменным бизнес-процесса
напрямую, т.к. бот может работать с разными бизнес-процессами, в которых переменные могут иметь различные названия.
Поэтому в данной работе для бота была добавлена возможность использовать глобальные разделы, из которых в конфигурациях
действий с таблицами выбираются соответствующие переменные и в дальнейшем используются как формальные параметры задач
ботов. А при назначении задач ботам в бизнес-процессах этим формальным параметрам ставятся в соответствие переменные
бизнес-процессов (т.е. фактические параметры).
Реализация
Для решения проблемы в системе RunaWFE Free был создан обработчик для бота для взаимодействия с внутренним хранилищем:
Работу с внутренним хранилищем было решено реализовать следующим образом:
- Входные параметры бота должны состоять из переменных таблиц.
- Выходным параметром должна быть сама таблица в случае операций INSERT, DELETE, UPDATE. В случае операции SELECT – список хранящий тип данных таблицы.
При реализации описанной функциональности были использованы следующие технологии:
- Java 8;
- Spring 3.1.2;
- Lombok 1.18;
- Dom4j 1.6.1.
Результаты
На иллюстрациях 3—4 представлены скриншоты проекта, позволяющего использовать бота для работы с внутренним хранилищем. Структура конфигураций сильно упрощена за счёт автоматического создания глобального раздела бота, который будет использоваться для передачи данных в конфигурацию задачи бота.
Заключение
В результате создания глобального раздела бота пользователям стало гораздо удобнее настраивать бота для работы с внутренним хранилищем системы.
Примечания и ссылки
- ↑ Михеев\,А.\,Г., Орлов\,М.\,В. Система управления бизнес-процессами и административными регламентами. // Программные продукты и системы, № 3, 2011
- ↑ Михеев\,А.\,Г. Проект RunaWFE Free. Реализация транзакций для курса процессного управления предприятием — в кн.: Четырнадцатая конференция Свободное программное обеспечение в высшей школе. Материалы конференции / Переславль, 25—27 января 2019 года. М.: МАКС Пресс., 2019.