Orquestração e coreografia são dois termos que causam muita confusão quando falamos de SOA, BPM e EAD. Já vi muitas pessoas usarem ambos os termos indiscriminadamente referindo-se a composição de serviços, ou seja, duas palavras tecnicamente diferentes utilizadas para dizer a mesma coisa. O grande agente desta confusão está na analogia que fazemos com a definição real das palavras. Segundo o dicionário Priberam as definições desses termos são:
- Orquestração: “ato ou arte de orquestrar.“
- Coreografia: “arte de conceber e notar os passos e as figuras dos bailados; arte da dança.“
É bem estranho quando levamos essas definições para o mundo de TI (SOA, BPM, EAD…). Aliás, a definição de Orquestração no dicionário não ajuda em nada. Será que os meus serviços dançam uns com os outros seguindo um ritmo com “passinhos” pré-determinados?
Felizmente não é isso, então vamos explicar:
Orquestração
Em SOA/BPM orquestração é a composição de serviços para criar um novo serviço ou para resolver uma tarefa de um processo de negócio. Neste caso, sempre há a figura de um ponto central. Um serviço ou uma atividade de negócio que coordena a chamada de outros serviços para compor uma função de maior granularidade. A orquestração de serviços é análoga a um método da orientação a objetos que faz chamadas de outros métodos.
Coreografia
A coreografia já é pré-determinada antes da sua execução. Por exemplo, quando um serviço é acionado e envia uma mensagem, outros serviços podem estar programados de ante-mão para receber ou não essa mensagem e dispararem outras ações. Chamamos este processo de evento. Serviços são acionados conforme a classe de eventos que ocorrem. Característica básica da arquitetura orientada a eventos. Em um middleware é possível atribuir esta característica através da criação de fluxos Publish/Subscribe.
abraço,
- Fábio Rosato
Enviado por: frosato
Posts relacionados:
- Equilíbrio e Granularidade de Serviços (III)
- Equilíbrio e Granularidade de Serviços (I)
- Equilíbrio e Granularidade de Serviços (II)
- O que é SOA?
- Evolução de Componentes e Serviços
Categorias:
Divulgue esse post:
LinkTo