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

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

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

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

{{VideoSection}}

{{vimeoembed|898210575|800|450}}
{{youtubelink|}}
|zGvikwL9My8}}
{{SlidesSection}}
[[File:Реализация работы бота с внутренним хранилищем в свободной системе управления бизнес-процессами RunaWFE Free (Владислав Сизов, OSSDEVCONF-2023).pdf|left|page=-|300px]]

{{----}}

== Thesis ==
=== Введение ===

По сравнению с задачами-сценариями у ботов в системе RunaWFE Free<ref>Михеев\,А.\,Г., Орлов\,М.\,В. Система управления бизнес-процессами и административными регламентами. // Программные
продукты и системы,  3, 2011</ref> есть два преимущества:
#   Один бот  одной настроенной конфигурацией) может работать с разными бизнес-процессами. Если для этого использовать задачи-сценарии, то в каждом бизнес-процессе их конфигурации придётся дублировать, что приводит к сложностям при сопровождении и изменении работы системы.
#  Боты, в отличие от задач-сценариев, при работе с данными могут поддерживать транзакции, основанные на принципах процессного управления<ref>Михеев\,А.\,Г. Проект RunaWFE Free. Реализация транзакций для курса процессного управления предприятием    в кн.: Четырнадцатая конференция Свободное программное обеспечение в высшей школе. Материалы конференции / Переславль, 25—27 января 2019 года. М.: МАКС Пресс., 2019.</ref>.


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

=== Реализация ===

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

[[File:2023-sizov-img001.png|center|640px|Конфигурация задачи бота]]

[[File:2023-sizov-img002.png|center|640px]]

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


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


[[File:2023-sizov-img003.png|center|640px|Конфигурация обработчика в задаче бота.]]

При реализации описанной функциональности были использованы следующие технологии:
*  Java 8;
*  Spring 3.1.2;
*  Lombok 1.18;
*  Dom4j 1.6.1.


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

[[File:2023-sizov-img004.png|center|640px|Схема конфигурации задачи бота в бизнес-процесс]]

[[File:2023-sizov-img005.png|center|640px|Схема бизнес-процесса]]

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

* http://runawfe.org/



{{----}}
[[File:{{#setmainimage:Реализация работы бота с внутренним хранилищем в свободной системе управления бизнес-процессами RunaWFE Free (Владислав Сизов, OSSDEVCONF-2023)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Категория:OSSDEVCONF-2023]]
[[Категория:Open-source projects]]
[[Категория:Draft]]

Текущая версия на 06:25, 25 июня 2024

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

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

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

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

Видео

on youtube

Презентация

Реализация работы бота с внутренним хранилищем в 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.