Daniel Tamiosso

Um apaixonado pela vida e suas várias variáveis.

Principais elementos da BPMN (Business Process Modeling Notation)

Ainda falando sobre a BPMN, veremos logo em seguida os principais elementos que definem essa notação gráfica para a modelagem de processos. Espero que seja uma boa leitura e possível referência a todos interessados ou não.

A BPMN define quatro categorias principais de notações gráficas: objetos de fluxo, objetos de conexão, partições e artefatos. Analisando esses elementos chegaremos a conclusão que a BPMN disponibiliza um mecanismo simples e de rápida aprendizagem, mas que ao mesmo tempo oferece toda a possibilidade para o desenho de complexos processos inerentes as mais variadas organizações.

Partições (swinlanes):


  • Participante (pool): representa um participante do processo. Dentro de um pool podemos ter um ou vários processos, dentro de um diagrama podemos ter vários pools. Um pool pode ser abstrato quando representamos, por exemplo, um sub-processo de um fornecedor, no qual não temos o seu total conhecimento;

  • Raia (lane): As lanes são utilizadas para organizar e categorizar os objetos do fluxo.

Elementos de eventos:

Identificam algum evento realizado/esperado durante o fluxo do processo desenhado. Como por exemplo um evento de serviço, o recebimento de uma mensagem de outro sistema, uma rotina a ser executada pelo sistema…

Elementos de eventos de início:

Iniciam um processo, podendo ser representado por uma causa. Não recebe nenhum tipo de conexão e deve gerar uma ou mais conexões.

Podem ser divididos em:


  • Mensagem: por exemplo, a chamada de um WebService ou um envio de um e-mail;

  • Timer: regra de tempo ou um “clico” de tempo;

  • Regra: algoritmo/rotina qualquer do sistema inerente ao processo;

  • Link: usado para conectar o final de um processo com o início de outro processo. Por exemplo, dois sub-processos de um mesmo processo pai;

  • Múltiplos: se uma das condições descritas nele for verdadeira, o processo inicia.

Elementos intermediários:

Utilizado para mostrar onde mensagens são enviadas ou esperadas. Utilizado, também, para mostrar tempo de espera ou mudar o curso normal do fluxo através do tratamento de exceções.

São dividas em:


  • Padrão: indica alguma mudança no status do processo, não pode ser anexado a uma atividade;

  • Mensagem: em uma atividade, representa uma exceção que é lançada ao recebimento de uma mensagem, dentro do fluxo normal, pode significar o “aguarde” pelo recebimento de uma mensagem;

  • Timer: dentro do fluxo normal, é utilizado como um mecanismo de espera do fluxo, anexado representa uma exceção;

  • Erro: no fluxo normal, significa o lançamento de uma exceção (throw exception), anexado a um nó, representa o tratamento de uma exceção (catch);

  • Cancelamento: utilizado somente em sub-processos transacionais, para quando ser executado, todas as tarefas referentes serão canceladas automáticamente;

  • Compensação: identifica uma operação-extra que será executada para compensar a ação realizada em um determinado nó.

Elementos de fim:

Um processo pode ter nenhum, um ou mais eventos de fim. Se possuir um início, então pelo menos um fim é obrigatório. O processo só é finalizado quando todas as atividades pendentes alcançam algum evento de fim. Seu objeto é simples: finalizar um processo, podendo ser representado pelo seu motivo:


  • Mensagem: envio de mensagem ao fim do processo;

  • Erro: um erro que foi gerado e deve ser tratado;

  • Cancelamento: utilizado em transações, espécie de roolback;

  • Compensação: identifica uma operação-extra que será executada para compensar o processo executado.

  • Link: indica o fim desse processo com o início de outro;

  • Término: todos os processos devem ser terminados imediatamente, mesmo que estejam em execução;

  • Múltiplos: representa que o processo que poderá gerar mais de uma conseqüência. As mesmas devem ser descritas com a documentação de atributos do elemento;

  • Conexão: pode receber uma ou mais seqüências, não pode receber conexões de mensagens, mas pode dar origem a uma seqüência de mensagem.

Transação

Determina que todas as atividades dentro deles sejam completadas com sucesso ou canceladas;

Compensação

Conjunto de atividades necessárias para cancelar o que foi realizada em determinado nó;

Loop padrão:

Atividade realizada até a condição ser falsa;

Multi-instância:

Utilizado no caso de atividade ter uma condição aonde exista a quantidade de vezes que a tarefa será executada;

Gateways

Controlam (convergem e divergem) o fluxo.

Gateway de decisão exclusiva (XOR);
Dá origem a duas ou mais conexões (cada uma com uma condição associada). As condição são avaliadas em uma determinada ordem, ao achar uma verdadeira as demais são ignoradas e o processo segue o fluxo normal. Ele parte do princípio que pelo menos uma condição é verdadeira (senão o fluxo foi modelado errado).
Podemos ter uma condição padrão (default – sempre verdadeira);

Gateway de decisão inclusiva:

Mais de uma condição pode ser verdadeira, originando fluxos paralelos;

Gateway complexo:

Para o analista de processo determinar uma regra de negócio customizada;

Gateway paralelo:

Criam fluxos paralelos e/ou sincronizam totalmente fluxos que estão em paralelo;

Artefatos:

Oferecem maiores informações sobre o processo;

Artefatos padrões:


  • Dados: documento eletrônico ou não;

  • Anotações: são textos e informações genéricas sobre o processo ou um elemento do processo;

  • Grupos: modo informal de agrupar atividades, para melhorar o entendimento geral do fluxograma.

Conexões:


  • Seqüência: determina a ordem do fluxo. Pode ser default (onde sempre é verdadeira a condição) e condicional (existe uma condição lógica intrinsecamente relacionada à conexão);

  • Mensagem: troca de mensagens entre diferentes pools;

  • Associação: conectar artefatos a objetos do fluxo e conectar atividades a outras atividades de compensação.

Um abraço a todos.