November 24, 2016
Eike
Malavasi

Orquestração e Coreografia em SOA

Orquestração e Coreografia em SOA

Apesar de hoje eu acreditar e apoiar muito a conversão do modelo arquitetural atual de qualquer empresa para Microserviços, sempre que entro no universo SOA muitas coisas parecem confusas pela nomenclatura e também pelo seu uso, e uma das mais nebulosas é orquestração e coreografia em SOA.Em relação a Microserviços, eu escrevi esse post que ilustra muito bem as fases e modelos para o passo seguinte da sua arquitetura.Antes de mais nada quando falamos nesses em orquestração e coreografia, sempre pensamos em governança, e nesse webinar comentamos um pouco como governança deve ser tratada em empresas modernas.

Definições ao pé da letra

Para tentar explicar um primeiro ponto das diferenças entre essas palavras vou recorrer ao bom e velho dicionário. Neste ponto já vou te mostrar que sim, essas palavras são muito diferentes. As definições foram referenciadas a partir do dicionário Michaelis.Orquestração: Conjunto de ações, procedimentos, ideias etc. que têm como objetivo a consecução de algo; articulação: “Percebia-se a orquestração de um movimento para destituir o presidente da entidade”.Coreografia: Sequência de movimentos de uma dança.

Voltando ao Mundo da tecnologia

Agora que você já sabe como essas duas palavras funcionam no mundo artístico, vou te direcionar melhor para como isso funciona no mundo tecnológico.Como você pode perceber, coreografia é a sequência de movimentos de uma dança, ou seja, é algo que já está determinado. Um dançarino ou uma dançarina já sabe o que é preciso executar na hora do show.Sendo assim, pensando em software, a coreografia será estruturada e definida antes mesmo da execução da ação, então ela já está programada e é apenas realizada em tempo de execução.Ao interpretar a definição de orquestração é possível notar que é uma agregação de valores para atingir algo maior. A própria frase de exemplo nos indica isso: um movimento que estava sendo orquestrado para destituir o presidente, aos poucos estava ganhando força para acontecer.Pensando então no lado tecnológico, tenho certeza que você já tem ideia do que estou falando. A orquestração acontece quando a resposta para uma determinada chamada precisa agregar conteúdos para atender a chamada.

Exemplificando para o dia a dia

Vou te mostrar agora na prática como esses dois termos se diferenciam:


Como podemos ver na figura acima,  depois da chamada para um serviço, acontece um aviso pré determinado para outros serviços, ou seja, os serviços que precisam de interação com aquela chamada por alguma coisa são chamados de acordo com o código pronto. Não há novas requisições para agregar uma resposta.

Este segundo esquema mostra muito bem a orquestração de um serviço, no qual após a chamada do cliente, o serviço faz outras requisições para enriquecer e conseguir enviar a resposta de modo correto.

Qual dos dois utilizar então?

Após esclarecer para você o que são essas duas palavrinhas em SOA, você já deve ter percebido que é necessário utilizar as duas para realizar toda a sua estratégia SOA.Claro que também depende do serviço que você estiver implementando.É interessante, para que você implante SOA da melhor maneira na sua empresa, que você também leia esse post que irá comentar alguns cenários de implantação interessantes.Além desse conteúdo queria também te indicar um dos nossos Webinars que fará você pensar no próximo passa para a exposição de seu sistema em APIs. Neste Webinar iremos passar o conceito de SOA no universo de APIs.Além disso, entre em contato conosco para realizarmos juntos o melhor roadmap para a sua empresa:[contact-form-7 id="22" title="Formulário de contato 1"]

Obrigado pela leitura!

Voltar ao arquivo