Вбудований підпроцес
- 1. Загальний опис
- 2. Використання вбудованого підпроцесу при моделюванні
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. Загальний опис
Вбудований підпроцес (Embedded subprocess) — це підпроцес, що налаштовується та запускається всередині основного (батьківського) бізнес-процесу.
Вбудований підпроцес дозволяє НЕ виконувати два бізнес-процеси окремо, щоразу виходячи до Кабінету користувача та запускаючи кожний послідовно. Натомість вбудований підпроцес покликаний забезпечити плавний перехід між бізнес-процесами, без розриву основного процесу та підпроцесу, і повернення назад до основного процесу. Наприклад, основний процес має на меті внести дані про заяву, але він також вимагає попередньо погодити внесення змін уповноваженою особою. Погодження змін логічно і зручно винести в окремий вбудований процес, таким чином розділяючи два процеси між собою, і водночас не порушуючи єдиний потік послідовності. |
Вбудований підпроцес повинен мати тільки одну подію none start[1].
При активації вбудованого підпроцесу, ініціюється старт цього підпроцесу подією Start event. Підпроцес залишається активним, допоки активним залишається хоча б один елемент у контейнері з підпроцесом. Коли останній елемент підпроцесу, тобто фінальна подія виконується, підпроцес завершується, і продовжується вихідний потік послідовності у батьківському[2] процесі.
2. Використання вбудованого підпроцесу при моделюванні
Розглянемо застосування BPMN-елемента Embedded subprocess на прикладі бізнес-процесу внесення даних (далі — основний або батьківський процес) та вбудованого підпроцесу погодження змін (далі — підпроцес).
На етапі моделювання необхідно створити 1 пул із бізнес-процесом та зберегти його в рамках одного файлу .bpmn. |
2.1. Етапи моделювання процесів
Для того, щоб змоделювати 2 процеси (у нашому випадку — це основний процес та підпроцес), використовуючи елемент Embedded subprocess, необхідно пройти наступні етапи:
2.2. Створення пулу для бізнес-процесу
Найперше, змоделюйте пул для основного бізнес-процесу. Для цього виконайте кроки, подані нижче:
Моделювання діаграми бізнес-процесу має відбуватися в рамках елемента Create Pool/Participant. |
-
Відкрийте додаток Camunda Modeler та створіть нову діаграму BPMN. Для цього у лівому верхньому куті натисніть меню File → New File → BPMN Diagram.
-
На панелі інструментів зліва знайдіть елемент Create pool/Participant та перетягніть його до панелі моделювання.
-
Заповніть наступні поля відповідними значеннями:
-
У полі
Participant Name
введіть назву пулу, що відображатиметься у моделері —Бізнес-процес внесення даних
. -
У полі
Process id
введіть ідентифікатор бізнес-процесу (наприклад,processId
). -
У полі
Process Name
вкажіть бізнес-назву процесу —Бізнес-процес внесення даних
.
-
2.3. Моделювання стартової події основного процесу
Створіть початкову подію. Для цього виконайте наступні кроки:
-
На панелі інструментів, зліва, знайдіть елемент (коло) CreateStartEvent та перетягніть його до панелі моделювання.
-
На панелі налаштувань справа заповніть наступні параметри відповідними значеннями:
-
У полі
Name
введіть назву початкової події —Старт процесу
. -
У полі
Initiator
введітьinitiator
.initiator
— спеціальна змінна, що встановлюється для користувача, який розпочав процес.
-
2.4. Моделювання користувацької задачі внесення даних
Далі створіть користувацьку задачу, призначену для внесення даних користувачем. Для цього виконайте наступні кроки:
-
Створіть нову задачу, вкажіть її тип, натиснувши іконку ключа та обравши з меню пункт User Task (Користувацька задача).
-
На панелі налаштувань справа натисніть
Open Catalog
, оберіть шаблон User Form (Користувацька форма) та натиснітьApply
для підтвердження. -
На панелі налаштувань справа заповніть наступні поля:
-
У полі
Name
вкажіть назву задачі —Внесення даних про заяву
. -
У полі
Form key
введіть ключ форми, що відповідатиме службовій назві форми для внесення даних —add-application
. -
У полі
Assignee
вкажіть змінну, що використовується для зберігання користувача, який запустив екземпляр процесу, —${initiator}
.
-
2.5. Моделювання вбудованого підпроцесу
На цьому етапі необхідно змоделювати вбудований підпроцес. Він налаштовується всередині окремого контейнера в рамках цього ж пулу.
-
На панелі інструментів зліва знайдіть елемент Create expanded SubProcess та перетягніть його в середину пулу.
-
Далі змоделюйте 3 елементи в рамках підпроцесу:
-
стартову подію підпроцесу;
-
користувацьку задачу для погодження змін;
-
подію завершення підпроцесу.
-
2.5.1. Моделювання стартової події підпроцесу
Налаштуйте стартову подію підпроцесу.
На відміну від налаштувань основного процесу, подія старту підпроцесу додається автоматично, разом із контейнером Create expanded SubProcess. |
На панелі налаштувань справа заповніть поле Name
назвою початкової події — Старт підпроцесу
.
2.5.2. Створення користувацької задачі для погодження змін
Створіть користувацьку задачу для погодження змін. Для цього виконайте кроки, подані нижче:
-
Створіть нову задачу, вкажіть її тип, натиснувши іконку ключа та обравши з меню пункт User Task (Користувацька задача).
-
На панелі налаштувань справа натисніть
Open Catalog
, оберіть шаблон User Form (Користувацька форма) та натиснітьApply
для підтвердження. -
На панелі налаштувань справа заповніть наступні поля:
-
У полі
Name
вкажіть назву задачі —Прийняття рішення про погодження заяви
. -
У полі
Form key
введіть ключ форми, що відповідатиме службовій назві форми для внесення даних —add-applicationsecond
. -
У полі
Assignee
вкажіть змінну, що використовується для зберігання користувача, який запустив екземпляр процесу, —${initiator}
.
-
2.5.3. Моделювання події завершення підпроцесу
На цьому етапі необхідно створити подію, яка завершуватиме підпроцес.
-
Створіть подію завершення бізнес-процесу.
-
На панелі налаштувань справа для параметра
Name
вкажіть значенняЗавершення підпроцесу
.
2.6. Моделювання події завершення основного процесу
На цьому етапі необхідно створити подію, яка завершуватиме процес.
-
Створіть подію завершення бізнес-процесу.
-
На панелі налаштувань справа для параметра
Name
вкажіть значенняЗавершення процесу
.