Транзакційний підпроцес

1. Загальний опис

Транзакційний підпроцес (Transaction subprocess) — це підпроцес, за допомогою якого реалізується моделювання бізнес-сценаріїв з транзакціями, виконання яких може тривати багато днів або тижнів, доки не буде завершено набір всіх активностей бізнес-процесу.

Транзакція (Transaction) — це набір активностей, які становлять логічну одиницю операції, що мають виконуватися неподільно. Такий процес регулюється спеціальним протоколом (визначеним у середовищі виконання), який забезпечує або повне виконання або повне скасування\анулювання всіх активностей транзакційного бізнес-процесу.

Транзакція може мати один з трьох наступних результатів:
  • Транзакція вважається успішною, якщо всі дії у процесі успішно виконані, процес продовжується у звичайному режимі. Такий підпроцес транзакції, за потреби, може потім компенсуватися подією компенсації Compensation Event (наразі робота елемента не розглядається).

  • Транзакція завершується помилкою, якщо підпроцес закінчується подією помилки (Error Event), яка не обробляється в межах підпроцесу транзакції. Тоді транзакції перериваються без будь-якої компенсації, а процес продовжується із проміжною подією помилки.

  • Транзакція скасовується, якщо виконання досягає події завершення скасування (Cancel Event). Усі дії, які вже були виконані в рамках процесу, при цьому необхідно припинити та скасувати. Це досягається шляхом виконання компенсаційних заходів (наразі робота елемента Compensation Event не розглядається). Після компенсації, виконання продовжується за потоком(-ами) вихідної послідовності граничної події скасування.

2. Моделювання транзакційного підпроцесу

Для моделювання транзакційного підпроцесу, необхідно:

  1. Змоделюйте батьківський[1] бізнес-процес, для якого необхідно додати транзакційний підпроцес (Transaction subprocess).

  2. На панелі інструментів зліва оберіть елемент Create expanded SubProcess та перетягніть його до області моделювання.

    cancl 1

    cancl 2

  3. Виділіть контейнер із підпроцесом, натисніть іконку ключа та оберіть у налаштуваннях тип Transaction, тобто транзакційний підпроцес.

    cancl 3

  4. Змоделюйте бізнес-процес транзакції, із використанням необхідних активностей.

  5. Завершіть моделювання батьківського бізнес-процесу та всіх альтернативних виходів із транзакційного підпроцесу.

    cancl 4


1. Батьківський або основний процес (Parent process) — процес, що ініціює запуск підпроцесу. Відносно батьківського процесу підпроцес є Child-процесом (Child process).