Транзакційний підпроцес
1. Загальний опис
Транзакційний підпроцес (Transaction subprocess) — це підпроцес, за допомогою якого реалізується моделювання бізнес-сценаріїв з транзакціями, виконання яких може тривати багато днів або тижнів, доки не буде завершено набір всіх активностей бізнес-процесу.
Транзакція (Transaction) — це набір активностей, які становлять логічну одиницю операції, що мають виконуватися неподільно. Такий процес регулюється спеціальним протоколом (визначеним у середовищі виконання), який забезпечує або повне виконання або повне скасування\анулювання всіх активностей транзакційного бізнес-процесу.
- Транзакція може мати один з трьох наступних результатів:
-
-
Транзакція вважається успішною, якщо всі дії у процесі успішно виконані, процес продовжується у звичайному режимі. Такий підпроцес транзакції, за потреби, може потім компенсуватися подією компенсації Compensation Event (наразі робота елемента не розглядається).
-
Транзакція завершується помилкою, якщо підпроцес закінчується подією помилки (Error Event), яка не обробляється в межах підпроцесу транзакції. Тоді транзакції перериваються без будь-якої компенсації, а процес продовжується із проміжною подією помилки.
-
Транзакція скасовується, якщо виконання досягає події завершення скасування (Cancel Event). Усі дії, які вже були виконані в рамках процесу, при цьому необхідно припинити та скасувати. Це досягається шляхом виконання компенсаційних заходів (наразі робота елемента Compensation Event не розглядається). Після компенсації, виконання продовжується за потоком(-ами) вихідної послідовності граничної події скасування.
-
2. Моделювання транзакційного підпроцесу
Для моделювання транзакційного підпроцесу, необхідно:
-
Змоделюйте батьківський[1] бізнес-процес, для якого необхідно додати транзакційний підпроцес (Transaction subprocess).
-
На панелі інструментів зліва оберіть елемент Create expanded SubProcess та перетягніть його до області моделювання.
-
Виділіть контейнер із підпроцесом, натисніть іконку ключа та оберіть у налаштуваннях тип Transaction, тобто транзакційний підпроцес.
-
Змоделюйте бізнес-процес транзакції, із використанням необхідних активностей.
-
Завершіть моделювання батьківського бізнес-процесу та всіх альтернативних виходів із транзакційного підпроцесу.