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