Este artigo não cita fontes confiáveis. (Outubro de 2021) |
Orquestração e Coreografia são dois termos comumente utilizados para composição de processos de negócio através de Web Services, sendo muitas vezes usados um no lugar do outro, o que causa problemas. A explicação sobre cada um destes termos, e sua comparação, é a seguinte:
- Processo Mestre: processo que coordena a composição de processos e controla sua execução dentro de uma orquestração.
- Processo Participante: processo que participa de uma composição de processos.
- Orquestração: composição de processos de negócio (através de Web Services) onde existe a figura de um processo central (processo mestre) que controla e coordena os demais processos. Neste tipo de composição, cada processo participante não tem conhecimento de que faz parte de uma composição de processos, com exceção do processo mestre.
- Coreografia: composição de processos de negócio (através de Web Services) onde não existe a figura de um processo mestre que controla e coordena os demais processos. Neste tipo de composição, cada processo envolvido tem o conhecimento de que faz parte de uma composição de processos e que precisa interagir com outros processos de maneira ordenada para que a composição resultante tenha sucesso.
Orquestração
Somente o processo mestre detém a inteligência sobre o processo completo, e a execução é então centralizada. Devido a essa centralização, orquestrações ocorrem normalmente dentro de uma mesma corporação, uma vez que dentro dessa corporação é simples decidir qual processo será o processo-mestre.
Coreografia
Cada processo participante sabe exatamente quando atuar, com quais outros processos participantes interagir, quais operações deve executar, quais mensagens deve trocar e até mesmo o momento adequado de troca de mensagens.
Devido à esta descentralização, coreografia de processos costuma ser utilizada entre processos ou Web Services de corporações distintas.