Эксклюзивный событийный шлюз
Эксклюзивный событийный шлюз BPMN
Автор: Олег Борознов, 07.03.2018
Эксклюзивный событийный шлюз BPMN (Логический оператор исключающего ИЛИ, управляемый событиями) используется для выбора альтернативного маршрута процесса в зависимости от наступающих событий. Поток управления направляется по той ветви, событие по которой наступит раньше других. Остальные события будут проигнорированы.
Графически событийный шлюз BPMN изображается в виде ромба с маркером – триггером составного промежуточного события – внутри:
Правила использования событийного шлюза BPMN:
- Событийный шлюз BPMN должен содержать два или более исходящих потоков управления.
- Потоки управления, исходящие от шлюза, не именуются.
- С событийным шлюзом BPMN используются события с типом: "Сообщения", "Сигнал", "Таймер", "Условие", "Составное". Они располагаются на исходящих от шлюза ветвях непосредственно после шлюза.
- С событийным шлюзом BPMN запрещается использовать события с типом: "Ошибка", "Отмена", "Компенсация" и "Ссылка".
- Элементы (события или задачи), которые соединены исходящими потоками управления с событийным шлюзом BPMN являются частью конфигурации этого шлюза. Они не должны иметь дополнительных входящих потоков операций, исходящих от других элементов кроме этого шлюза.
- Конфигурация шлюза задается любыми комбинациями событий или задач.
- Если после шлюза идет событие с типом "Сообщение", то после него нельзя использовать задачу с типом "Получение сообщения" и наоборот.
На рисунке ниже приведены примеры конфигураций событийного шлюза BPMN, заданных различными элементами BPMN:
Данные конфигурации описывают одинаковую ситуацию, но в первом случае использованы события, а во втором – событийные задачи. Обе диаграммы можно прочитать так: «процесс после событийного шлюза BPMN пойдет по тому пути, событие или событийная задача по которому наступит раньше». В приведенном примере возможно получение Сообщения 1, получение сообщения 2 и истечение интервала времени длительностью 3 дня. Процесс приостанавливается на событийном шлюзе BPMN и «ожидает» наступления любого события из перечисленных. Как только событие наступит, процесс продолжится дальше по соответствующему потоку.
Еще один пример использования эксклюзивного шлюза, основанного на событиях. В процессе заказа пиццы возможно, что пицца будет доставлена за 60 минут или позже. В последнем случае, то есть, если доставка задерживается больше 60 минут, нужно позвонить в службу доставки. Эту ситуацию можно смоделировать, как показано на диаграмме ниже:
Хотите быстро освоить BPMN?
Пройдите обучение в нашем учебном центре! |