Gateways BPMN
Introdução
No BPMN 2.0, os Gateways controlam o fluxo dos processos determinando como os fluxos de sequência são divididos, unidos ou direcionados com base em certas condições. Eles são pontos de decisão dentro de um processo onde o caminho pode divergir ou convergir, permitindo modelar fluxos de trabalho complexos com múltiplos resultados possíveis. Gateways são representados por formas de losango nos diagramas BPMN, com diferentes ícones internos para indicar seu comportamento específico.
Tipos de Gateways:
Gateway Exclusivo (XOR Gateway)
- Propósito: Este é o tipo mais comum de gateway, onde apenas um caminho de saída é seguido baseado em 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 negada, segue outro.
- Caso de Uso: Quando o processo pode seguir apenas um caminho baseado em uma decisão, como “sim/não” ou “verdadeiro/falso.”
Gateway Inclusivo (OR Gateway)
- Propósito: Este gateway permite que um ou mais caminhos sejam seguidos com base em condições. Todos os caminhos cujas condições são verdadeiras são seguidos.
- Representação Visual: Um losango com um círculo dentro.
- Exemplo: Em um processo onde várias aprovações são necessárias (mas não todas), o sistema pode seguir todos os caminhos de aprovação aplicáveis baseados nas condições definidas.
- Caso de Uso: Quando múltiplos caminhos podem ser seguidos dependendo das condições, como múltiplos critérios que podem disparar diferentes ações.
Gateway Paralelo (AND Gateway)
- Propósito: Este gateway é usado para dividir o fluxo em múltiplos caminhos paralelos, onde todos os ramos devem ser seguidos simultaneamente. Também pode ser usado para sincronizar múltiplos caminhos de entrada.
- Representação Visual: Um losango com um ”+” dentro.
- Exemplo: Uma tarefa onde documentos são revisados por múltiplos departamentos ao mesmo tempo.
- Caso de Uso: Quando tarefas ou ações precisam ocorrer em paralelo ou quando múltiplos caminhos devem ser sincronizados antes de continuar.
Gateway por Evento
- Propósito: Este gateway direciona o fluxo com base em eventos que ocorrem. Ele espera por um evento específico (por exemplo, mensagem, timer, sinal) para determinar qual caminho seguir.
- Representação Visual: Um losango com um pentágono dentro.
- Exemplo: Um processo que espera uma resposta do cliente ou um tempo limite para continuar o fluxo.
- Caso de Uso: Quando o próximo passo de um processo depende de eventos externos, como esperar por uma mensagem ou ativação por timer.
Pontos-Chave sobre Gateways
- Divisão de Fluxos: Gateways podem dividir um fluxo de sequência único em múltiplos ramos, determinando qual caminho (ou caminhos) seguir com base em condições ou eventos.
- União de Fluxos: Gateways também podem unir múltiplos fluxos de sequência em um só, sincronizando caminhos paralelos ou convergindo com base em condições específicas.
- Tomada de Decisão: Gateways são essenciais para modelar pontos de decisão, onde o fluxo do processo depende do resultado de avaliações, eventos ou entrada do usuário.
Casos de Uso
- Gateway Exclusivo: Quando apenas uma condição pode ser verdadeira, e o processo deve seguir um único caminho.
- Gateway Paralelo: Quando múltiplas tarefas podem ocorrer simultaneamente, e todas devem ser completadas.
- Gateway Inclusivo: Quando uma ou mais condições podem ser verdadeiras, e múltiplos caminhos precisam ser seguidos.
- Gateway por Evento: Quando o fluxo depende de eventos externos, como esperar por uma mensagem ou cronômetro.
- Gateway Complexo: Quando regras ou condições complexas governam como o processo continua.
Exemplo
Em um fluxo de aprovação simples:
- Gateway Exclusivo: Se a solicitação for aprovada, o processo continua; se rejeitada, ele termina.
- Gateway Paralelo: Após a aprovação, duas tarefas (preparação de documentos e notificação) podem ser concluídas em paralelo.
- Gateway por Evento: O processo espera por uma resposta do cliente ou um tempo limite para determinar o próximo passo.
Gateways são cruciais para tornar os processos de negócio mais flexíveis, permitindo a tomada de decisão, o processamento paralelo e a sincronização de diferentes caminhos dentro do workflow.