Ексклюзивний шлюз, що керується подіями

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

Ексклюзивний шлюз, що керується подіями (Event-based Gateway) — логічний оператор виключаючого АБО, який керується подіями (повідомлення, таймер, умова тощо). Використовується для вибору альтернативного маршруту у процесі.

Простими словами, такий оператор дозволяє приймати рішення на основі певних подій.

event based gw 01

Ексклюзивний шлюз, що керується подіями, повинен мати принаймні два вихідні потоки послідовності. Вихідні потоки управління цього шлюзу повинні пов’язуватися лише з проміжними подіями обробки (Intermediate Catching Event) або приймальними задачами (Receive Task).

Платформа реєстрів наразі підтримує 2 типи подій, з якими може взаємодіяти елемент Event-based Gateway: «Таймер» і «Повідомлення», а також задачу отримання (Receive Task).

Коли шлюз активується, екземпляр процесу чекає на шлюзі, доки не буде запущена одна з подій. Потік управління бізнес-процесом спрямовується тією гілкою, де подія відбулася/задача виконалася першою. Решта подій будуть проігноровані.

2. Моделювання ексклюзивного шлюзу, що керується подіями

Для моделювання бізнес-процесу із використанням ексклюзивного шлюзу, що керується подіями (Event-based Gateway), необхідно виконати наступні кроки:

  1. Відкрийте додаток Camunda Modeler та створіть нову діаграму BPMN, натиснувши кнопку BPMN diagram. В результаті з`явиться вікно нової діаграми.

    bp 1

  1. Попередньо змоделюйте початкову подію та задачу будь-якого типу (наприклад, користувацьку).

  2. Приєднайте та налаштуйте елемент Event-based Gateway:

    • З панелі інструментів, що знаходиться зліва, перетягніть елемент Create Gateway до області моделювання.

      event based gw 1

    • Виділіть подію та встановіть її тип: натисніть іконку ключа (Change type) та оберіть з меню пункт Event based Gateway.

      event based gw 2

    • Повторно натисніть на шлюз та перейдіть до панелі налаштувань.

    • Введіть назву шлюзу (опціонально) та приєднайте один із доступних для взаємодії елементів:

      • ReceiveTask;

      • MessageIntermediateCatchEvent;

      • TimeIntermediateCatchEvent;

      • ConditionIntermediateCatchEvent;

      • SignalIntermediateCatchEvent.

        Елемент Event-based Gateway має взаємодіяти лише із проміжними подіями обробки (Intermediate Catching Event) або приймальними задачами (Receive Task).

        event based gw 3 1

В результаті ексклюзивний шлюз, що керується подіями (Event-based Gateway) змодельовано.

Приклад. Бізнес-процес із використанням ексклюзивного шлюзу, що керується подіями

event based gw 4