Chegamos ao quarto artigo da série “Como modelar Processos de Negócio Matadores com a Notação BPMN 2.0”, dedicada ao estudo de elementos avançados de BPMN.
Os artigos anteriores, artigo 1 , artigo 2 e artigo 3 foram um sucesso!
Em tempo gostaria de agradecer pelos comentários e a oportunidade de ajudar.
Nos artigos anteriores falei sobre marcadores de atividades e gateways.
Neste quarto e último artigo da série abordarei de forma especial o subprocesso de eventos, levando em conta as definições da notação.
Subprocesso Eventual (Event-Subprocess)
O subprocesso eventual é parte opcional do processo e é utilizado para tratar com eventos excepcionais que ocorrem no processo pai.
Seu acionamento (disparo) se dá pela ocorrência de um evento previsto durante a execução do processo principal.
Assemelham-se a outros tipos de subprocessos contidos dentro de um processo pai, porém não são reutilizáveis, ou seja, não é possível chamar este tipo de subprocesso em outros pontos do processo onde ele está contido.
Distinguem-se de outros subprocessos, pois não são ligados ao fluxo de sequência do processo principal, uma vez que só serão iniciados quando o gatilho do evento de início for acionado.
O Subprocesso eventual é representado graficamente por um retângulo com bordas arredondadas e linha tracejada.
Na forma contraída, apresenta um símbolo [+] na base inferior implicando no entendimento que esta atividade contém um conjunto de tarefas.
Também pode ser representado na forma expandida, demostrando assim seu fluxo no processo pai.
Abaixo um Subprocesso eventual (ou subprocesso de eventos) – Representado pela imagem da esquerda na forma contraída e na imagem a direita na forma expandida.
O gatilho ou fato específico (que gera o início do subprocesso de evento), representado pelo evento inicial, pode significar as mais diferentes informações, vejamos as mais comuns:
- Um fato temporal: Uma data (Ex. 01 de março) ou tempo (Ex. Diariamente às 09:00) – Simbolizado por um relógio, evento inicial de tempo.
- Por uma mensagem: Com a chegada de uma informação (Ex. Um documento, um e-mail, um telefonema) – Simbolizado pelo envelope vazado, evento inicial de mensagem.
- Uma condição: Ex. Estoque menor que 10 unidades – Simbolizado por formulário, evento inicial condicional.
- Um sinal: Quando algo estiver errado (Ex. Sistema do cumprimento do pedido não respondido) – Simbolizado por um triângulo vazado, evento inicial de sinal.
Event-Subprocess Interrupting e Event-Subprocess Non-Interrupting
Falando um pouco mais sobre o evento de início de um subprocesso eventual, apontamos dois tipos que definem qual o impacto que o subprocesso causará no processo pai. São eles:
Event-Subprocess Interrupting
Evento que interrompe o fluxo do processo principal (pai).
Representado por um círculo com linha contínua.
Event-Subprocess Non-Interrupting
Evento que não interrompe o fluxo do processo pai.
O processo ocorre em paralelo ao processo pai onde está contido.
Representado por um círculo com linha tracejada.
O exemplo a seguir demonstra o uso de subprocessos eventuais, em um processo muito comum de “Pedido de Reservas”, envolvendo reservas de voo e hotel.
Durante a execução do processo Pedido de Reservas, podem ocorrer o disparo de qualquer um dos dois subprocessos eventuais:
1 – Cancelamento do processo de reservas
Pode ocorrer o cancelamento do processo de reservas, interrompendo o processo de negócio e com isso finalizando a solicitação de reservas. Veja que o evento que inicializa o subprocesso eventual de cancelamento é representado graficamente com uma borda de linha contínua (Event-Subprocess Interrupting).
Isso significa que ele interromperá a execução do processo principal, e executará este subprocesso.
2 – Enviar um pedido de “Status”
Caso o processo não seja cancelado, o cliente pode enviar um pedido de “Status”, retornando a informação da situação do pedido das reservas.
Como o evento que inicializa este subprocesso é representado com uma borda com linha tracejada (Event-Subprocess Non-Interrupting), o processo principal não é interrompido, com isso subprocesso eventual é executado em paralelo ao processo principal, fazendo com que o pedido de status seja atendido paralelamente às atividades do processo pai.
Importante
- O subprocesso eventual non-interrupting pode ser executado várias vezes durante a execução de um processo, e pode ter várias instâncias em execução em paralelo.
- Uma vez que o processo principal tenha sido concluído, mesmo que o fato gerador do evento ocorra, o subprocesso eventual não será acionado, pois seu ciclo de vida depende do processo principal.
Por exemplo: O cliente solicita o pedido de status do pedido porém o processo principal já foi finalizado, este pedido não será processado.
Bom, chegamos ao fim de mais uma série.
Gostaria de dizer da satisfação que foi escrever esta serie de 4 artigos pra você.
Fico a disposição para eventuais dúvidas e conto com sua participação comentando e curtindo.
Perdeu os artigos anteriores da série?
Então confere ai!
Como modelar Processos de Negócio com a Notação BPMN 2.0 (Série elementos avançados I)
Como modelar Processos de Negócio com a Notação BPMN 2.0 (Série elementos avançados II)
Como modelar Processos de Negócio com a Notação BPMN 2.0 (Série elementos avançados III)
Entre para nossa lista e receba conteúdos exclusivos GRATUITOS com prioridade
Não durma no ponto! Não perca nenhum conteúdo da BPM ACADEMY!
E não se preocupe, assim como você, não suportamos SPAM.
Espero que tenha gostado deste artigo!
Deixe seu comentário abaixo, sua opinião neste blog é muito importante!
Se estiver procurando por um assunto que não encontrou, comente!
Se este artigo te surpreendeu, compartilha!
Aproveita e siga a BPM ACADEMY nas redes sociais…
isso seria ótimo para a disseminação do conhecimento e a cultura da Gestão por Processos!
Nos vemos no próximo artigo!
Até mais!!!