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