Como usar gateways
Os Gateways (desvios) são elementos que podem modificar o caminho do andamento do curso de execução do processo.
Visão geral
Gateway é um dos elementos básicos da notação de desenho de processos BPMN.
Os gateways (desvios) são elementos que podem modificar o caminho do andamento do curso de execução do processo. Com o uso de gateways conseguimos criar processos complexos, com diversas ramificações, que representam exatamente como as coisas acontecem nas empresas.
Os gateways são representados por losangos com ícones representativos, conforme sua função:

Importante: ao contrário de outros tipos de modelagem, no BPMN, o Gateway não é uma tarefa. Ele é um elemento automatizado, executado pelo Zeev. Nenhum ser humano executa ou é responsável por um gateway. Todas as decisões que o gateway tomar serão baseadas em fatos e decisões que já ocorreram antes no processo (em atividades ou no evento de início).
Os gateways podem ser divergentes ou convergentes.
Gateways divergentes
Como elemento divergente, o gateway possui duas ou mais setas de conexão de saída. Como o nome diz, ele tem o poder de divergir o processo, ou seja, mudar sua rota de execução, podendo inclusive iniciar execuções em paralelo. No exemplo abaixo, após a atividade A, as atividades B, C e D poderão (ou não) serem iniciadas: uma delas, duas delas, ou as três ao mesmo tempo.

Quais atividades serão iniciadas dependerá do tipo de gateway utilizado e das condições associadas.
Gateways convergentes
Como elemento convergente, o gateway possui duas ou mais setas de conexão de entrada. Como o nome diz, ele tem o poder de convergir o processo, ou seja, aguardar dois ou mais braços do processo que estão sendo executados em paralelo para então dar sequencia no fluxo. No exemplo abaixo, a atividade C somente iniciará após as atividades A e B concluírem.

Quais atividades que serão aguardadas para a atividade C iniciar dependerá do tipo de gateway utilizado, conforme veremos nos próximos capítulos.
Convergente e divergente ao mesmo tempo
Um mesmo gateway pode ter comportamentos convergentes e divergentes ao mesmo tempo. No exemplo abaixo, o gateway irá esperar a finalização das tarefas A e B para, então, iniciar as tarefas C e D ao mesmo tempo.

Esse tipo de modelagem, entretanto, não é indicado como boa prática, pois pode gerar dúvidas de interpretação em processos muito complexos. O exemplo abaixo traz o mesmo comportamento porém com um desenho muito mais claro. O primeiro gateway tem comportamento convergente e o segundo gateway divergente.

Gateways convergentes e divergentes funcionam juntos
Observe o desenho abaixo, que possui um gateway divergente. Trata-se de um gateway paralelo, que, como veremos nos próximos tópicos, irá acionar as tarefas B, C e D ao mesmo tempo, após finalizada tarefa A.

O problema dessa modelagem é que a tarefa E será acionada 3 vezes. E isso pode ou não pode ser o comportamento que você espera. De fato, uma vez que B, C e D estejam acionadas, cada vez que uma delas terminar, irá acionar a tarefa E. O processo vai começar a rodar múltiplas vezes dentro da mesma solicitação, o que na maioria das vezes é errado.
Para resolver isso, você usa um gateway convergente complementar:

No exemplo acima, o novo gateway convergente irá aguardar B, C e D finalizarem, para só então acionar E.
Em resumo, em geral, você deverá estar atento para criar correspondências entre gateways divergentes e gateways convergentes. Essas correspondências, algumas vezes, podem não ser tão diretas e explícitas como no desenho acima, já que desenhos de processos grandes e complexos podem ter diversas ramificações.
Veja o exemplo abaixo. O gateway divergente G-A-1, logo no início do processo, tem seu correspondente convergente G-A-2 somente no final do processo. O divergente G-B-1 igualmente tem seu correspondente distante no processo, o G-B-2. Somente G-C-1 e G-C-2 estão próximos.

Desenhador de versões anteriores do Zeev
Se você é cliente faz mais tempo do Zeev, deve ter trabalhado com o antigo desenhador de processos. Apesar de, também, ser baseado na notação BPMN, o antigo desenhador e o novo desenhador possuem uma diferença importante no uso de gateways.
No antigo desenhador existiam elementos específicos para representar gateways divergentes e outros elementos para representar gateways convergentes.
No novo desenhador, como vimos antes, o mesmo elemento desempenha simultaneamente o papel de divergente e convergente, seguindo inclusive a notação BPMN correta.
Veja, assim, como ficou a correspondência de gateways entre a versão anterior e a nova:
Paralelo
Condicional exclusivo
Condicional inclusivo
Aleatório
Não disponível
Conheça os tipos de gateways
Conheça, nos links abaixo, os principais tipos de gateways e suas particularidades:
Gateway paraleloGateway condicional inclusivoGateway condicional exclusivoE, ainda, temos um tópico especial sobre a montagem de condicionais:
Condições em gatewaysDemonstração prática
Confira no vídeo a seguir a demonstração de como utilizar gateways.
Atualizado