Orquestração e coreografia
Origem: Wikipédia, a enciclopédia livre.
Este artigo ou seção precisa ser wikificado. Por favor ajude a formatar este artigo de acordo com as diretrizes estabelecidas no livro de estilo. (Fevereiro de 2008) |
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:
[editar] Processo Mestre
Processo que coordena a composição de processos e controla sua execução dentro de uma orquestração.
[editar] Processo Participante
Processo que participa de uma composição de processos.
[editar] Orquestração
Composição de processos de negócio (através de webservices) 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.
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.
[editar] Coreografia
Composição de processos de negócio (através de webservices) 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.
Cada processo participante sabe exatamente quando atuar, com quais outros processos participantes interagir, quais operações deve executar, quais mensagens deve trocar e o até mesmo o momento adequado de troca de mensagens.
Devido à esta descentralização, coreografia de processos costuma ser utilizada entre processos ou webservices de corporações distintas.