BPMVision Diferença entre gateways de evento - BPMVision
Diferença entre gateways de evento
É muito comum ver pessoas se confundindo no momento em que vão utilizar um gateway de evento ou utilizando-os de forma incorreta para representar alguns fluxos do processo. Chegou o momento de acabar com todas as dúvidas relacionadas à eles!
Existem 3 tipos de gateways baseados em eventos:
Event-Based Gateway:
Exclusive Event-Based Gateway:
Parallel Event-Based Gateway:
O Event-Based Gateway(Gateway Baseado em Eventos) é utilizado para bifurcar o fluxo do processo baseado em um evento que ocorra antes de outro evento, ou seja, ao chegarmos em um fluxo de processo que aguarda por receber os documentos ou o prazo de expiração dos documentos, o evento que ocorrer primeiro desabilitará o outro evento. O fluxo seguirá a partir do evento que ocorreu primeiro.
No fluxo abaixo, após solicitar os documentos o fluxo aguarda receber os documentos ou aguardar 5 dias. O evento que ocorrer primeiro impede o outro evento de ocorrer e o fluxo segue normalmente. Se "Receber Documentos" ocorrer antes de "Aguardar 5 dias" então a tarefa "Analistar Documentos" será realizada e o evento "Aguardar 5 dias" será abortado juntamento com o fluxo no momento da decisão.
O Exclusive Event-Based Gateway e o Parallel Event-Based Gateway sempre são gateways utilizados para instanciar o processo, então sempre são utilizados no começo do processo sem o Start Event(Bolinha Verde).
O Exclusive Event-Based Gateway funciona da mesma forma que o Event-Based Gateway mas só é utilizado quando se deseja deixar o Start Event implícito.
O processo abaixo funciona da mesma maneira do processo acima. Porém este omite os Start Events e os End Events.
O Parallel Event-Based Gateway também é somente utilizado no começo do processo por se tratar de um gateway instanciador.
Quando utilizamos um Parallel Event-Based Gateway, para que o processo seja instanciado, é necessário que todos os eventos ligados ao gateway ocorram. Caso isto não aconteça o processo não é instanciado.
No processo abaixo o processo só será instanciado depois que os eventos "Receber Documentos" e "Receber Fotos" ocorrerem. Antes disso o processo não será instanciado!
Espero que com este post os gateways de evento tenham ficado mais fáceis de entender. Embora os gateways de evento Exclusive e Parallel não sejam muito usados, é sempre interessante saber como eles funcionam!
Se ficou ainda alguma dúvida, não deixe de perguntar nos comentários. Será um prazer responder!
By Bruno Barrios|August 9th, 2012|BPMN|9 Comments
Introdução ao elementos do BPMN 2.0
Aline October 1, 2013 at 4:52 pm - Reply
Bruno Barrios October 1, 2013 at 4:55 pm - Reply
Oi Aline! Que bom que gostou! Continue acompanhando! Um abraço!
Maria Antônia October 1, 2013 at 4:59 pm - Reply
Bruno Barrios October 1, 2013 at 5:14 pm - Reply
Lembrando que vocês podem se cadastrar na lista de contatos na página principal! Um abraço!
Paulo Sergio October 2, 2013 at 3:52 pm - Reply
Primeiramente que lhe dar parabéns por partilhar seus conhecimentos ajudando a muita gente.
Tenho buscado conhecimento de como modelar processos e tenho visto muitas utilizações de gateway; porem algumas pessoas quando abrem um gateway, após a atividade alternativa, eles dão continuidade ao fluxo colocando outro gateway fazendo a junção das duas atividades que vieram do gateway anterior, ou seja este gateway recebe duas entradas e uma única síida para próxima atividade . tem alguma regra para fazer isso?
Bruno Barrios October 2, 2013 at 4:33 pm - Reply
Olá Paulo! Obrigado pelo incentivo!
Na verdade não existe uma regra fixa, depende de qual cenário você está modelando. Vou explicar através dos cenários:
1) Cenário 1:Você APROVA OU REPROVA o relatório e depois DIVULGA O RESULTADO.
Neste cenário, após a atividade de analisar relatório, você teria um gateway exclusivo com dois fluxos de saída um seria o APROVAR com a sua respectiva atividade APROVAR RELATÓRIO e o outro seria o REPROVAR com a atividade REPROVAR RELATÓRIO. Aí que vem a decisão sobre o cenário: Se depois de aprovar ou reprovar o relatório você for desempenhar a mesma atividade, digamos DIVULGAR RESULTADOS (sendo aprovado ou reprovado), você teria um gateway exclusivo que receberia os dois fluxos. Este gateway existiria unicamente para representar a junção dos fluxos, afinal, apenas um dos caminhos poderia ser seguido.
2) Cenário 2: Você APROVA e ENCAMINHA o relatório OU REPROVA e RETORNA o relatório.
Este cenário seria basicamente como o do primeiro, com o ANALISAR -> o gateway exclusivo -> e os fluxos aprovar e reprovar com as suas atividades. Porém depois de APROVAR ou REPROVAR, os caminhos não seriam os mesmos! Logo, não colocaremos o gateway para juntar os fluxos. Após a atividade de APROVAR teríamos a atividade de ENCAMINHAR e após a atividade de REPROVAR teríamos a atividade de RETORNAR. Ou seja, se os caminhos são diferentes, não podemos juntar os fluxos do gateway.
Aproveito para convidá-lo a curtir nossa página no facebook (muito importante para receber as atualizações) e também inscrever seu e-mail na nossa lista de contatos (a agenda da semana é encaminhada toda quarta). Ambos os links você encontra na barra acima no site, ou na página principal! Aguardo você lá!
Paulo Sergio October 2, 2013 at 8:25 pm - Reply
Agradeço pela resposta e depois dou uma passada no face..abraços
Cleiton March 18, 2014 at 1:05 am - Reply
Bruno, parabéns pelo site…
Bruno Barrios March 24, 2014 at 6:02 pm - Reply
A princípio pelo o que você está retratando, você deverá utilizar uma atividade "Analisar Balancete" e ter um gateway exclusivo de decisão baseado em dados (Exclusive data-based gateway) que é representado por um losango sem nenhum marcador dentro ou um X como marcador, os dois significam a mesma coisa, que você tomará apenas um caminho e ignorará os outros caminhos.
Nesta postagem aqui: http://www.bpmvision.com.br/o-que-e-bpmn-3/ tem uma imagem que é basicamente o que você irá fazer. Para fechar os caminhos utilize exatamente o mesmo gateway!