SOAP (Simple Object Access Protocol, em português Protocolo Simples de Acesso a Objetos) é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída. Ele se baseia na Linguagem de Marcação Extensível (XML) para seu formato de mensagem, e normalmente baseia-se em outros protocolos da camada de aplicação, mais notavelmente em chamada de procedimento remoto (RPC) e Protocolo de transferência de hipertexto (HTTP), para negociação e transmissão de mensagens. SOAP pode formar a camada base de uma pilha de protocolos de serviços Web, fornecendo um arcabouço básico de mensagens sob o qual se podem construir os serviços Web. Este protocolo baseado em XML consiste de três partes: um envelope, que define o que está na mensagem e como processá-la, um cabeçalho com conjunto de regras codificadas para expressar instâncias do tipos de dados definidos na aplicação, e um body com convenções para representar chamadas de procedimentos e respostas.

Estrutura do SOAP.

Sua especificação define um arcabouço que provê maneiras para se construir mensagens que podem trafegar através de diversos protocolos e que foi especificado de forma a ser independente de qualquer modelo de programação ou outra implementação específica. Por não se tratar de um protocolo de acesso a objetos, o acrônimo não é mais utilizado.

Geralmente servidores SOAP são implementados utilizando-se servidores HTTP, embora isto não seja uma restrição para funcionamento do protocolo. As mensagens SOAP são documentos XML que aderem a uma especificação W3C.

O primeiro esforço do desenvolvimento do SOAP foi implementar RPCs sobre XML.

Definição editar

Envelope das mensagens, regras de codificação, convenção RPC, ligação com protocolos subjacentes.

O SOAP é:

  • mecanismo para definir a unidade de comunicação,
  • mecanismo para lidar com erros,
  • mecanismo de extensão que permite evolução,
  • mecanismo entre as mensagens SOAP e o HTTP, que permite representar tipos de dados em XML.

Concepção editar

Simplicidade, independente de vendedor, independente da linguagem, independente do modelo de objetos, independente do transporte.

Ligações externas editar