6. Implementações do SOAP
SOAP já foi implementado em mais de 60 linguagens de programação, e mais de 20 plataformas [7]; seu uso em Web Services (tecnologia que será analisada mais a frente) é um dos principais padrões atuais para aplicações B2B (Business-to-business), ou seja, sistemas que conversam ente si.
Os principais pacotes de ferramentas (conjuntos de frameworks, bibliotecas e programas) que implementam SOAP são o Apache Axis (em Java), PHP SOAP (em PHP) e o SOAP da plataforma .NET da Microsoft.
Ainda que uma determinada aplicação possa ora agir como servidor de um serviço SOAP e ora como um cliente SOAP, em cada chamada de procedimento os papéis são bem definidos. Sendo assim, as atribuições do cliente e do servidor SOAP serão descritas nessa sessão.
Cliente
O Cliente SOAP é o responsável por emitir as mensagens que chamam um procedimento. Nas seções 3 e 4, tais mensagens são identificadas como Pedidos ou Requests.
Uma implementação de um cliente SOAP deve ser capaz gerar essa mensagem, endereçando-a para o Servidor apropriado, ativando a operação requisitada e passando os parâmetros corretos através da mensagem.
Servidor
O Servidor SOAP, ao receber um Pedido de um Cliente, deve ser capaz de ler a mensagem, analisá-la (processo de parsing) e, caso ela seja válida (de acordo com a especificação do SOAP), deve executar as operações requisitadas passando os parâmetros fornecidos e, posteriormente, escrever e enviar a mensagem de resposta. Nas seções 3 e 4, essas mensagens também foram chamadas de Responses.