Nesta Página
Gateways BPMN
Introdução
No BPMN 2.0, gateways controlam o fluxo dos processos ao definir como os sequence flows são divididos, unidos ou direcionados conforme condições. São pontos de decisão onde o caminho pode se separar ou unir, permitindo modelar workflows complexos com vários resultados possíveis. Gateways são representados por losangos nos diagramas BPMN, com ícones que indicam seu comportamento.
Tipos de Gateways
Exclusive Gateway (XOR Gateway)
- Propósito: É o tipo de gateway mais comum, onde apenas um caminho de saída é seguido conforme as condições.
- Representação Visual: Um losango com um “X” dentro.
- Exemplo: Em um processo de aprovação, se a solicitação for aprovada, segue um caminho; se for negada, segue outro.
- Quando Usar: Quando o processo só pode seguir um único caminho por decisão, como “sim/não” ou “verdadeiro/falso”.
Inclusive Gateway (OR Gateway)
- Propósito: Este gateway permite que um ou mais caminhos sejam seguidos conforme as condições. Todos os caminhos com condição verdadeira são executados.
- Representação Visual: Um losango com um círculo dentro.
- Exemplo: Em um processo onde são necessárias várias aprovações (mas não todas), o sistema segue todos os caminhos de aprovação possíveis conforme as regras.
- Quando Usar: Quando múltiplos caminhos podem ser seguidos dependendo de condições, como vários critérios que podem acionar ações diferentes.
Parallel Gateway (AND Gateway)
- Propósito: Esse gateway é usado para dividir o fluxo em vários caminhos paralelos, onde todos devem ser realizados ao mesmo tempo. Também pode ser usado para sincronizar múltiplos caminhos de entrada.
- Representação Visual: Um losango com um ”+” dentro.
- Exemplo: Uma tarefa em que documentos são revisados por vários departamentos ao mesmo tempo.
- Quando Usar: Quando tarefas ou ações precisam ocorrer em paralelo ou quando múltiplos caminhos devem ser sincronizados antes de prosseguir.
Event-Based Gateway
- Propósito: Este gateway direciona o fluxo com base em eventos. Ele espera um evento específico (por exemplo, message, timer, signal) para decidir qual caminho seguir.
- Representação Visual: Um losango com um pentágono dentro.
- Exemplo: Um processo que espera uma resposta do cliente ou por um timeout para continuar o fluxo.
- Quando Usar: Quando o próximo passo do processo depende de eventos externos, como aguardar uma message ou o disparo de um timer.
Pontos-Chave sobre Gateways
- Divisão de Fluxos: Gateways podem dividir um sequence flow em várias ramificações, definindo quais caminhos seguir conforme condições ou eventos.
- Unificação de Fluxos: Gateways também podem unir vários sequence flows em um só, sincronizando caminhos paralelos ou convergindo segundo condições específicas.
- Tomada de Decisão: Gateways são essenciais para modelar pontos de decisão, onde o fluxo do processo depende de avaliações, eventos ou input do usuário.
Casos de Uso
- Exclusive Gateway: Quando apenas uma condição pode ser verdadeira, e o processo segue um caminho único.
- Parallel Gateway: Quando várias tarefas acontecem ao mesmo tempo, sendo todas necessárias.
- Inclusive Gateway: Quando uma ou mais condições podem ser verdadeiras, e múltiplos caminhos são executados.
- Event-Based Gateway: Quando o fluxo depende de eventos externos, como aguardar uma message ou timer.
- Complex Gateway: Quando regras ou condições complexas definem como o processo segue.
Exemplo
Em um fluxo simples de aprovação:
- Exclusive Gateway: Se a solicitação for aprovada, o processo continua; se for rejeitada, o fluxo termina.
- Parallel Gateway: Após a aprovação, duas tarefas (preparação do documento e notificação) podem ser feitas em paralelo.
- Event-Based Gateway: O processo espera por uma resposta do cliente ou timeout para definir o próximo passo.
Gateways são essenciais para dar flexibilidade aos processos, permitindo tomadas de decisão, processamento em paralelo e sincronização dos diferentes caminhos do workflow.