sexta-feira, 7 de março de 2014

Capturando a lógica dos negócios através de Modelos de Processos (Parte 2)

Na primeira parte deste artigo introduzimos alguns conceitos sobre modelagem de processos, e mostramos como as atividades de um processo são controladas através dos gateways. Agora, vamos detalhar um pouco mais como os gateways funcionam.

Um gateway recebe um fluxo de entrada e direciona o fluxo de saída de acordo com alguma condição. Potencialmente, um gateway pode ter um número indeterminado de caminhos alternativos de saída, e estes podem ser mutuamente exclusivos (somente um caminho de saída será selecionado) ou não (diversos caminhos podem ser selecionados e serão executados em paralelo). Gateways, em sua versão mais comum, atuam de acordo com alguma condição de dados, embora possam também testar condições de eventos ou mensagens (estes tipos de gateways não serão discutidos aqui).

Mas mais importante, é necessário entender que um gateway não "toma" a decisão; ele somente testa uma condição (no caso, de dados), e direciona o fluxo de acordo com o resultado deste teste. Vamos ver um exemplo para entender melhor este conceito.

Suponha um processo de empréstimo como descrito abaixo (simplificado para facilitar o entendimento):
  • coletar as informações do proponente ao empréstimo
  • determinar o risco de credito do proponente
  • se o risco for baixo, aprovar o empréstimo
  • se o risco for médio, solicitar garantias e aprovar o empréstimo
  • se o risco for alto, negar o empréstimo
A figura abaixo mostra uma possível solução para o modelo de processo correspondente:


No entanto, este modelo está incorreto, de acordo com a especificação da BPMN: como dito acima, um gateway não pode tomar uma decisão; ele pode, apenas, testar o conteúdo de um dado. Assim, o modelo correto é mostrado abaixo:


Este modelo mostra claramente que existe uma atividade (Determinar risco do empréstimo) que fornece o valor do risco de empréstimo para o proponente. Este valor (Alto, Médio ou Baixo) é, então, testado pelo gateway para determinar qual caminho o fluxo irá seguir. A questão passa a ser, então, como o valor do risco pode ser determinado?

Na próxima postagem vamos discutir algumas alternativas...

Qual a sua experiência? Como você resolve isto na sua prática profissional? Deixe aqui o seu comentário.

Nenhum comentário:

Postar um comentário