BPMN 2.0 – Novos Diagramas e Elementos: Coreografia no detalhe

No artigo anterior (BPMN 2.0 – Novos Diagramas e Elementos: Introdução a Coreografia) introduzimos o assunto a respeito do Diagrama de Coreografia. Neste artigo nossa proposta é detalhar a coreografia, apresentando os principais elementos BPMN utilizados para uma modelagem completa do diagrama em questão.

O diagrama de coreografia abaixo apresenta os detalhes do comportamento da coreografia, descreveremos logo abaixo cada um dos elementos. 

Elementos do diagrama de coreografia

1. Evento (Event)
Os eventos são elementos comuns a ambos diagramas de coreografia e de orquestração. Representam algo que acontece durante o curso do processo e podem ser de três tipos distintos: Inicio, intermediário e fim.

Dos eventos utilizados no diagrama de orquestração, aplica-se na coreografia os eventos:

Início: simples (none), tempo (timer), condicional (conditional), sinal (signal), múltiplo (multiple).
Intermediário: simples (none), condicional (conditional), ligação (link) e múltiplo (multiple). Atachados a atividade: cancelamento (cancel), compensação (compensation), condicional (conditional), sinal (signal) e múltiplo (multiple).
Fim:  simples (none) e terminate.

Para uma leitura mais detalhada sobre eventos veja os artigos sobre eventos de início e fim e eventos intermediários.

2. Atividade (Activity)
especificação da OMG BPMN versão 2.0, descreve interações entre processos como sendo Message Exchange Patterns (MEPs) ou padrões de troca de mensagens.  A MEP é a Atividade (Activity) de uma coreografia, chamada também de Tarefa de Coreografia (Choreography Task).

Atividade - Interação entre os participantes

3. Desvio (Gateway)
Nos processos de orquestração, os gateways são usados para criar caminhos alternativos ou paralelos para o processo. Da mesma forma acontece na coreografia: as interações entre os participantes pode acontecer em seqüência, em paralelo, ou por meio de seleção exclusiva.

4. Participante (Participant)
Os participantes fazem parte da Atividade de coreografia e corresponde a uma piscina (pool) do diagrama de orquestração.

O participante que inicia a troca de mensagens (parte ativa) é representado pelo fundo branco, já o participante que recebe o primeiro comunicado (parte passiva) está representado com o fundo preenchido (aqui em cinza). O participante que inicia a comunicação pode ser representado na extremidade superior ou inferior da atividade, como demostrado na imagem abaixo:

As atividades de coreografia da esquerda e direita são equivalentes

5. Fluxo de Sequência (Sequence Flow)
É utilizado para demostrar a sequência das atividades de coreografia e só pode se conectar a outros objetos do fluxo como os eventos, gateways  e atividades de coreografia.

6. Mensagem (Message)
Representa a informação contida  na comunicação entre duas entidades ou processos. No caso da coreografia, representa a informação transmitida na comunicação entre os participantes.

A mensagem de início, transmitida pelo participante inicial, é representada pelo envelope de fundo branco e a mensagem de retorno (quando houver) é representada pelo envelope de fundo preenchido.

Mensagem - Elemento que representa a informação contida na comunicação entre os participantes.

Interação entre participantes  e atividade multi-instance
No exemplo abaixo, os participantes Cliente e Concessionária interagem na atividade Compra de automóvel e os participantes Concessionária e Fornecedores de Peças interagem na atividade Solicitação de Orçamento.

Atividade de Coreografia - Representa uma interação entre dois participantes (pools)

A atividade da esquerda, representa a comunicação entre o participante Cliente (que inicia a comunicação) e o participante Concessionária. Nesta atividade o Cliente comunica seu interesse na compra de um automóvel. Já a atividade da direita demostra que um dos participantes pode ser multi-instance: o participante Fornecedores de Peças representa um papel atribuído a mais de um participante (a concessionária solicita orçamento para vários fornecedores de peças).

Atividade de subcoreografia (Sub-choreography task)
Uma atividade de subcoreografia agrega a identificação de todos os participantes envolvidos em um subconjunto de atividades de coreografia, e representa uma coregrafia refinada em interações (várias trocas de mensagens). Pode ser declarado mais de um destinatário, mas apenas uma iniciação pode ser realizada. Graficamente, a atividade pode ser demostrada de forma contraída (collapsed), representado pelo símbolo “+” indicando a existência de outro nível de detalhe. A mesma Atividade de subcoreografia pode ser representada de forma expandida (expanded) apresentando o seu conjunto de detalhes na própria coreografia.

A Imagem acima demostra a atividade de subcoreografia contraída(collapsed), representada pelo símbolo “+” indicando a existência de outro nível de detalhe, e sua representação expandida (expanded).

Com estes elementos, BPMN 2.0 possibilita a criação de um diagrama focado em documentar uma visão objetiva do processo, que pode ser compartilhada entre os participantes sem revelar os pormenores do negócio de cada organização envolvida.

BPMN 2.0 – Novos Diagramas e Elementos: Introdução a Coreografia

Com frequência a notação BPMN tem sido tema de nossos artigos no blog, em geral relacionados aos elementos do diagrama de orquestração. Entretanto, desde 2011 a notação agregou, em sua última revisão, dois novos diagramas à especificação, o diagrama de conversação e o diagrama de coreografia.

Iniciaremos neste artigo o assunto a respeito das novidades relacionadas aos novos diagramas, começando pelo diagrama de coreografia, então vamos lá!

Diagrama de Coreografia (Coreography Diagram)

Para BPMN a Coreografia  é um tipo de diagrama que difere em propósito e comportamento da representação de um processo de negócio padrão (diagrama de orquestração).

O diagrama de orquestração é o mais conhecido e utilizado pela maioria das ferramentas de modelagem e define o fluxo das atividades do processo de  uma organização. Em contraste, a coreografia  define como processos interagem uns com os outros.

Na coreografia o foco não está na orquestração do trabalho realizado entre os participantes, mas sim na orquestração da troca de informações (mensagens) entre os processos da organização e de outros agentes externos (processos de fornecedores, clientes, etc), demostrando a dinâmica da comunicação entre eles.

As atividades de coreografia são conectadas em um fluxo lógico que representa toda a troca de informações e suas interações que acontece naquele processo de negócio.

Diagrama de Coreografia - foco está na troca de mensagens entre os processos (participantes)

Diagramas de coreografia podem ser vistos também como um contrato de negócio entre os participantes, onde o foco está na troca de informações (mensagens), implica no envio ou recebimento de algum tipo de documento, como é o caso do diagrama acima, onde o contrato de negócio está na forma de uma ordem de compra. Este diagrama representa o Processo de Ordem de Compra, o fluxo demostra a comunicação entre os três participantes (Varejista, Fornecedor e Fornecedor Externo).

Agora veja o mesmo processo representado pelo diagrama de orquestração, evidenciando a orquestração do trabalho realizado entre os participantes e  a sequência das atividades do processo de negócio.

Diagrama de Orquestração - foco na orquestração do trabalho realizado entre os participantes.

Cada participante representa uma piscina (pool) do diagrama de orquestração, raias (lanes) não são representadas no diagrama de coreografia e conectores de fluxos de atividades (message flow) viram atividades na coreografia. Veja este outro exemplo abaixo.

Os participantes representam a piscinas do diagrama de orquestração e os fluxos de atividades viram atividades na coreografia.

Resumindo, podemos dizer que Diagrama de Coreografia:

  • Focaliza a forma como os participantes trocam mensagens, demonstrando a comunicação entre os eles;
  • É a representação dos processos e suas interações;
  • Demonstra o comportamento esperado entre os participantes;
  • É o contrato de negócio de interação entre os participantes.

No artigo seguinte desta série: BPMN 2.0 – Novos Diagramas e Elementos: Coreografia no detalhe, nos aprofundamos um pouco mais no assunto, apresentando os principais elementos BPMN que contribuem para uma modelagem completa. Um descrição detalhada de cada elemento, suas características e como eles são usados em uma coreografia.

Esperamos que tenham gostado desta introdução ao assunto, fiquem a vontade para fazer seus comentários, tirar dúvidas, críticas e sugestões são sempre bem vindas.