Começar com o “pé direito” é muito importante! Muitas vezes, o começo de alguma decisão que tomamos já diz muito onde iremos chegar e isso também serve para a modelagem de processos!

Um processo que tem o seu início definido incorretamente poderá levar o leitor a interpretar o conteúdo do modelo de uma forma diferente da proposta inicial da modelagem. Por isso, é preciso conhecer os elementos que temos a nossa disposição no BPMN 2.0 e saber utilizá-los corretamente.

Existem  7 tipos de evento de início. Você pode até pensar: “Nossa, para que esse tanto de elementos para representar simplesmente o início de um processo?”. De antemão posso lhe afirmar que eles existem porque  o BPMN 2.0 busca representar cada caso possível de uma forma bem específica. Isso é muito bom pois o modelo não irá gerar dúvidas devido o seu nível de especificidade.

Os 6 eventos de início do BPMN 2.0 são:

  • Evento de Início sem definição
  • Evento de Início por Tempo
  • Evento de Início por Mensagem
  • Evento de Início por Condição
  • Evento de Início por Sinal
  • Evento de Início Múltiplo
  • Evento de Início Múltiplo Paralelo

BPMVision_eventos

Como regras gerais sobre os Eventos de Início, podemos destacar:

  • Não podem receber um fluxo de sequência.
  • Obrigatoriamente devem possuir uma saída de fluxo de sequência.
  • Não podem ter uma saída de fluxo de mensagem.
  • Podem receber um fluxo de mensagem.

Evento de Início sem definição

É representado por um círculo com a borda fina sem nenhum ícone dentro do círculo. O Evento de Início sem definição  indica umas destas duas situações:

Que um processo foi iniciado e não foi definida a forma da sua iniciação. Ou seja, a definição foi omitida

OU

 Que o começo do processo acontece de uma forma interna, ou seja, não é ativado por algo externo ao processo. Qualquer processo que seja inciado por uma requisição externa geralmente utilizará o Evento de Início de Mensagem.

BPMVision_evento_semdefinicao

Evento de Início por Tempo

É representado por um círculo com a borda fina e possui um relógio no centro do círculo. O Evento de Início de Tempo serve para indicar um processo que será iniciado em um determinado tempo, data ou ciclo. Exemplo: Um processo que é executado todos os dias as 5:00 da manhã, devemos representar com um Evento de Início de Tempo com uma label “5:00 da manhã”. Podemos utilizar também labels como: “A cada 15 dias” ou “Dia 01/01/14″.

BPMVision_evento_tempo

Evento de Início por Mensagem

É representado por um círculo com a borda fina e possui um envelope no centro do círculo.  O Evento de Início por Mensagem serve para indicar que o processo tem início com o recebimento  de  uma requisição externa que pode ser qualquer forma de interação. Por exemplo: O recebimento de um formulário preenchido, uma ligação telefônica, uma requisição de um sistema, etc. É importante nomear a label do evento indicando qual a requisição que está sendo recebida, como por exemplo: “Receber formulário de inscrição”, “Receber memorando”, etc.

BPMVision_evento_mensagem

Evento de Início por Condição

É representado por um círculo com a borda fina e possui um envelope no centro do círculo.  O Evento de Início por Condição serve para indicar que o processo terá início quando uma condição for atendida. Para isso, dados são monitorados até que certa condição seja atendida e o processo é iniciado. Uma expressão matemática é utilizada para definir a condição. Um ótimo exemplo para este caso é: Quando a impressora estiver com pouco papel o processo “Adicionar papel na impressora” será iniciado.

BPMVision_evento_condição

Evento de Início por Sinal

É representado por um círculo com a borda fina e possui um triângulo no centro do círculo.  O Evento de Início por Sinal serve para indicar que o processo tem início ao receber um sinal que pode ser lançado por qualquer outro processo. Mas como esse sinal funciona? O sinal funciona de forma parecida como os eventos de mensagem que disparam mensagens para um outro processo. Porém, enquanto os eventos de mensagem possuem um, e apenas um destinatário especificado, o sinal não possui um destinatário especificado, pois ele pode ser recebido por vários pontos de vários processos ao mesmo tempo.

Uma boa comparação para ajudar a fixar pode ser a seguinte:

  • O Evento de Mensagem é como uma carta de correio. Possui um remetente e apenas um destinatário, ou seja, ao final do processo A enviaremos uma mensagem para o processo B.
  • O Evento de Sinal é como uma antena de rádio. Possui um ponto que lança o sinal e todos aqueles que estiverem com um aparelho receptor das frequências de rádio conseguirão receber e ouvir a música. Ao final do processo “A” enviaremos um sinal chamado “Rotinas de Iniciação” e cada processo que possuir um Evento de Início de Sinal com a label “Rotinas de Iniciação” será iniciado.

BPMVision_evento_sinal

Evento de Início Múltiplo

É representado por um círculo com a borda fina e possui um pentágono no centro do círculo.  O Evento de Início Múltiplo serve para indicar que o processo pode ser iniciado de várias formas distintas. Contrariando o que geralmente muitos pensam, o comportamento desse elemento é muito simples! Acabamos de ver acima os Eventos de Início de Mensagem e de Tempo. Ótimo! Caso exista um processo que seja iniciado pelo recebimento de um formulário preenchido ou pelo tempo, o Evento de Início Múltiplo pode ser utilizado. É simplesmente como se ele fosse um agrupador dos eventos de início. Mas atenção! Para cada evento recebido o processo será instanciado uma vez. É importante indicar na label do Evento de Início Múltiplo quais são todos os eventos possíveis.

BPMVision_evento_multiplo

Evento de Início Múltiplo Paralelo

É representado por um círculo com a borda fina e possui um sinal positivo (sinal de mais) no centro do círculo.  O Evento de Início Múltiplo Paralelo serve para indicar que o processo será  iniciado quando todos os eventos forem recebidos. Ele funciona praticamente com a mesma finalidade do Evento de Início Múltiplo só que com a diferença de que no Evento de Início Múltiplo Paralelo todos os eventos devem ser recebidos para que ele seja iniciado. Se definirmos que para iniciar o processo precisamos esperar a data 01/01/14 e receber o formulário de compras devemos utilizar o Evento de Início Múltiplo Paralelo! O processo só será iniciado quando as duas restrições forem atendidas.

BPMVision_evento_multiplo_paralelo

Espero com este artigo ter esclarecido brevemente as principais diferenças entre cada evento de início do BPMN 2.0 . E você, acha que são muitos elementos? Poucos? Já encontrou uma situação diferente para o uso de cada um? Deixe aqui seu comentário!