05 de March de 2009

Princípios Básicos de SOA – Contrato Formal

Mais um post que trata dos conceitos básicos de SOA, com o objetivo de ajudar aqueles que procuram saber o que é SOA ou definições comuns como WSDL, SOAP e ESB.

No post anterior falei sobre o primeiro princípio de SOA, que trata de definir que Serviços devem ser Reutilizáveis. Nesse post falarei sobre o segundo princípio que diz que os serviços devem possuir contratos formais.

Serviços compatilham um Contrato Formal

2. Princípio: Todo serviço deve ter um contrato formal

  • O que é:
    • Contratos são documentos textuais que descrevem o que o serviço faz. Os padrões WSDL (Web Service Description Language), UDDI (Universal Description Discovery and Integration) e SOAP (Simple Object Access Protocol) são muito utilizados no dia-a-dia.
    • O padrão SOAP é  utilizado pelos Web Services e é responsável por definir o modelo da troca de mensagens. Para isso utiliza um arquivo XML que define envelopes e os nós intermediários da comunicação.
    • O padrão WSDL é responsável por identificar o protocolo e o endereço no qual um serviço está publicado, assim como seus parâmetros de entrada e saída.
    • O padrão UDDI permite que os serviços sejam categorizados, porém sem fornecer uma riqueza de textos para que buscas por um serviço específico sejam feitas.
  • Aspectos positivos:
    • Esses contratos são capazes de traduzir com detalhes a funcionalidade dos serviços especificados para que os clientes possam buscá-los e utilizá-los conforme a sua necessidade.
  • Dificuldades:
    • Para que todos os detalhes de implementação de um serviço sejam especificados, são necessários diversos padrões de contratos a serem utilizados por toda a corporação. Isso pode se tornar uma tarefa complexa caso haja a necessidade de migração de documentos (já criados) para o conjunto de padrões escolhidos.

Os padrões básicos de SOA se autocompletam. Assim sendo, fica claro que a presença de contratos formais auxilia em um outro padrão a será discutido mais pra frente, que define que os serviços devem ser localizáveis.

No próximo post falarei sobre a característica de baixo acoplamento, que os serviços devem possuir dentro da Arquitetura Orientada a Serviços.

Até a próxima!

Responses

[...] escrito, passamos pelos primeiros três princípios, que tratam de serviços serem reutilizáveis, compartilharem um contrato formal e possuírem baixo [...]

Não podemos esquecer também os contratos não técnicos. Uma abordagem DbC pode ajuda muito.

Leave a response

Your response: