BPMN – Caso aplicado de Diagrama de Coreografia

Quando a versão 2.0 de BPMN foi lançada, trouxe junto com o já conhecido diagrama de processo de negócio (BPD, do inglês Business Process Diagram) dois outros diagramas complementares, que levamos um pouco de tempo até percebermos seu propósito.

Enquanto o BPD (agora denominado Diagrama de Orquestração, ou Diagrama de Processo), tem aplicações claras: pode ser usado tanto para a documentação do processo quanto para a automatização em BPMS, tudo o que ouvíamos sobre o diagrama de Coreografia era que era “útil para processos B2B”, mas sem nenhum caso muito prático. Recentemente entretanto temos identificado diversas oportunidades de colocá-lo em prática.

Para demonstrar a aplicação deste diagrama, vamos usar como exemplo um processo de negócio que requer grande comunicação com outras organizações.

Trata-se de um processo envolvendo a comunicação de uma organização com seus parceiros (de fato, B2B), cujo foco reside em garantir que a troca de informações entre estes sistemas ocorra na ordem correta, ou seja, de forma bem coreografada. Encontramos neste diagrama uma excelente forma de alinhar o entendimento entre todos os envolvidos.

Uma empresa fabricante de produtos decidiu terceirizar a realização dos serviços de pós-venda: quando um produto adquirido por um cliente precisa de reparo, o cliente entre em contato com o SAC da empresa fabricante e esta faz o front-office para a prestação de serviços, que é realizado por empresa especializada em prestação de serviços técnicos. Como a operação é global, há também o envolvimento de empresas logísticas em diversos países, que mantém depósitos com peças dos produtos à disposição para quando houver necessidade de reparos.

Com isto, a empresa fabricante consegue solucionar rapidamente o problema dos produtos defeituosos com um bom nível de atendimento.

O processo funciona mais ou menos assim:

  • O cliente entra em contato com a empresa solicitando reparo do produto
  • A empresa, através do atendimento por telefone, tenta realizar um diagnóstico inicial, identificando se precisarão ser trocadas peças do produto, se as peças podem ser substituídas pelo próprio cliente, ou se precisará de um técnico para fazer o serviço.
  • A partir deste momento o processo de solução de defeito é disparado, e toda a comunicação entre as três empresas envolvidas acontece eletronicamente:
    • Se o diagnóstico inicial possibilita enviar a peça para substituição pelo próprio cliente, o operador logístico é solicitado a informar a disponibilidade da peça no local mais próximo do cliente. O operador comunica a disponibilidade, a empresa comunica o cliente que a peça será enviada e então aguarda até a confirmação de que a peça foi entregue ao cliente.
    • Se o diagnóstico inicial identificou que não é necessário realizar a substituição de peças mas a visita de um técnico é necessária para alguma configuração, por exemplo, apenas o operador técnico é comunicado, informando o agendamento da visita. O processo então aguarda a comunicação do operador técnico confirmando que a visita foi realizada e se o problema foi solucionado ou novas intervenções serão necessárias.
    • Entretanto, se o diagnóstico inicial identificar que o problema requer um técnico para fazer substituição de peças, ambos operadores técnico e logístico são comunicados, e a partir daí uma série de mensagens são trocadas entre os três participantes: o operador logístico informa em que local e horário o técnico deverá retirar as peças para fazer o serviço, o operador de serviços é comunicado sobre a disponibilidade das partes e confirma o agendamento da visita, então após a visita informa sobre a solução do problema.

Ao que a visita seja concluída e/ou as peças substituídas, o front-desk da empresa fabricante entra em contato com o cliente para confirmar que o problema foi resolvido ou, se necessário, realizar novo agendamento técnico ou encaminhamento de peças.

O diagrama abaixo apresenta o diagrama  do processo de suporte do fabricante.

Diagrama de Processo de Negócio - Processo de Suporte a Produto (clique para ampliar)

Cada organização envolvida possui seu processo de negócio para as execuções de atividades e cada uma tem seus sistemas. Nestes casos, a empresa fabricante será o cliente dos processos de negócio do operador técnico e do operador logístico, apresentando portanto perspectivas diferentes sobre o mesmo processo de negócio!).

Por ser um processo que precisa ser controlado em tão baixo nível, o diagrama de coreografia nos pareceu bastante apropriado. O diagrama abaixo apresenta justamente a perspectiva da troca de informações entre empresa fabricante, operador técnico e operador logístico.

Diagrama de Coreografia do Processo de Suporte a Produto

Aos participantes, não é relevante conhecer os pormenores dos processos de negócio do fabricante, mas é importante compreender que informações precisam ser comunicadas e em que momento da sequência de atividades para que o processo aconteça dentro do previsto.

Com isso, uma visão objetiva do processo pode ser compartilhada entre os participantes.

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.