Web Services Choreography



1 Introdução

Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aqueles que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria “linguagem”, que é traduzida para uma linguagem universal, o formato XML.

Para as empresas, os Web services podem trazer agilidade para os processos e eficiencia na comunicação entre cadeias de produção ou de logística. Toda e qualquer comunicação entre sistemas passa a ser dinâmica e principalmente segura, pois não há intervenção humana. A utilização de Web Services é centrada em torno de padrões e significados interoperaveis, coma interação de componentes acoplados baseados na Web, que expõe interfaces bem definidas enquanto abstrai a implementação e detalhes específicos de plataformas. SOAP, WSDL e UDDI são os mais atuais e mais maduros padrões de Web Services, estes provém uma fundação sólida para realizar as tarefas citadas acima. Entretanto, essas especificações só permitem o desenvolvimento de Web Services simples.

Outro objetivo dos Web Services, ´e facilitar e automatizar colaborações de processos de negócios, internos e externos, dos limites de uma empresa. Geralmente aplicações de negócio requerem habilidades complexas, integrações de Web Services bem distribuídas e habilidades para descrever relacionamentos entre serviços de baixo nível. A realização de processos colaborativos de negócio, como a integração de Web Services e fluxo de mensagens entre os mesmos no contexto de um processo, são conhecidos como coreografia de Web Services.

2 Diferença entre Orquestração e Coreografia

2.1 Orquestração

É uma 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. 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.

2.2 Coreografia

É uma composição de processos de negócio (através de Web Services) onde não existe a figura de um processo central (processo mestre) que controla e coordena os demais processos. Neste tipo de composição, cada processo envolvido tem 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 até mesmo o momento adequado de troca de mensagens. Devido a esta descentralização, coreografia de processos costuma ser utilizada entre processos ou Web Services de corporações distintas.

3 O que é Web Services Choreography ou Coreografia de Serviços Web?

A Web Services Choreography se preocupa significativamente com as interações dos serviços que prestam a seus usuários. Qualquer usuário de um Web Service, automatizado ou outro, é um cliente daquele serviço. Estes usuários podem um após o outro, ser outro Web Services, aplicações ou seres humanos. Um conjunto específico de interações podem se relacionar com o tempo, com alguma forma de colaboração em grupo, que é iniciado da mesma forma e roda lado a lado com uma série de Web Service e seu cliente.

Uma descrição para Coreografia, seria um contrato multipartidário que descreve de um ponto de vista global, o comportamento visto de forma externa, através de múltiplos clientes, (os quais são geralmente Web Services, mas nem sempre) onde este comportamento visto de fora é definido como a presença, ou a falta da mensagem que são trocadas entre Web Service e seus clientes.

4 Como é usada a Coreografia?

A principal utilidade da coreografia é a forma precisa de como se define a seqüência das interações entre uma série de web services cooperativos, de forma a promover um entendimento comum entre participantes e fazer isso da maneira mais fácil possível para:

• estimular um entendimento comum entre os participantes WS;

• validar a adaptação automaticamente;

• garantir a capacidade de dois computadores de tipos diferentes operarem juntos e se comunicarem;

• aumentar a robustez; e

• gerar esqueletos de códigos.

A coreografia pode ser utilizada para gerar o código esqueleto necessário que pode ser usado para implementar as exigências comportamentais de visão externa para Web Service. Por exemplo, a coreografia que é usada para descrever o contrato multipartidário entre um agente de viagem e o número de hotelarias, poderia ser usado por qualquer participante potencial para gerar um código esqueleto para a web service, que pode ser garantido por ser capaz de funcionar em conjunto com aquele agente de viagem em particular.

5 Benefícios da Linguagem Coreografia

O Web Services Choreography Working Group, acredita que todas as utilidades de uma Coreografia necessita da existência de uma linguagem padronizada para a coreografia. Os benefícios são:

• habilitará um número maior de Web Services a serem construídas;

• permitirá uma maior eficácia na capacidade de dois computadores de tipos diferentes operarem juntos e se comunicarem através de um comportamento multipartidário;

• reduzirá o custo de implementação de Web Services, garantindo assim uma maior adaptação nos comportamentos esperados.

6 Conclusão

Conclui-se que web services é uma aplicação na qual tem como objetivo à comunicação entre sistemas individuais, tendo dois métodos: a orquestração e coreografia. A coreografia de web services é utilizada para que as comunicações entre processos se tornem independentes. Como a tendência futura é a automatização e interação dos processos, percebe-se que essa tecnologia será amplamente utilizada no futuro.


Autor: Bruno Martins Duarte dos Santos


Artigos Relacionados


Sorrir é Ser Feliz

Ser Como Ser...

A Espera (ii)

A Criação

Poluição Ambiental

Mensagem Para A Paz E Comunhão

Não Há Impossível