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