9. Perguntas
1. Quais são as principais vantagens do SOAP?
As principais vantagens do SOAP se devem ao fato de ele ser baseado em XML: é um padrão aberto e simples de ser usado e é independente de plataforma e linguagem de programação.
Além disso, quando um protocolo de comunicação como o HTTP é usado, são evitados problemas com firewalls.
2. Por que se diz que há muito overhead no SOAP?
Porque além do cabeçalho do protocolo de comunicação a nível de aplicação usado (HTTP, por exemplo), pode-se ter ainda um cabeçalho SOAP, muitas vezes com informações redundantes.
Por outro lado, protocolos concorrentes que substituem não só o SOAP, mas o HTTP ou o SMTP, tendem a possuir menos cabeçalho.
Ou seja, o uso de SOAP implica em um aumento no número de camadas, o que poderia ser evitado em outros protocolos.
3. Em uma mensagem SOAP mínima, qual é o nome do elemento-raiz e qual é o nome do seu único elemento-filho?
Mensagens SOAP possuem, no mínimo, o elemento-raiz Envelope e o elemento Body, filho do anterior.
4. O que são Chamadas de Procedimento Remoto? Como SOAP pode ser usado para realizá-las?
RPC (Chamada de Procedimento Remoto em inglês) é a ativação por parte de uma unidade de uma subrotina localizada em uma máquina remota, de modo que a máquina local possa usar uma função da máquina remota como se ela fosse local.
Uma RPC usando SOAP funciona como descrito a seguir. Inicialmente uma máquina, ora denominada cliente, envia uma mensagem SOAP para a máquina, ora chamada de servidor, que executará a função desejada. Essa mensagem possui, como elemento-filho do nó Body, um elemento cujo nome identifica a função (ou operação) a ser executada no servidor. Esse elemento possui como valores os parâmetros da função (<operação>parametro</operacao>). Ao receber essa mensagem, o servidor faz um parsing na mesma e executa o trecho de código requisitado. O resultado do processamento é, então, devolvido para o cliente dentro de uma nova mensagem SOAP.
5. Descreva o funcionamento dos Serviços Web.
Uma aplicação que deseja usufruir de um serviço web, deve, antes de tudo procurar no registro chamado UDDI o Serviço Web desejado. O UDDI envia a localização e a descrição (WSDL) do serviço web desejado para o cliente. Este analisa o documento WSDL e escreve uma mensagem SOAP de acordo com as definições lidas. A mensagem é, então, enviada para o servidor do serviço. Esse servidor interpreta a mensagem (do inglês parsing) e invoca o método apropriado, passando os parâmetros fornecidos na mensagem. O método executado, então, retorna o resultado para o Servidor SOAP, que escreve uma mensagem com esse resultado e envia para o cliente SOAP. Por fim, este último lê a mensagem e repassa o resultado para a aplicação que originalmente fez o pedido, completando o ciclo.