1. O documento compara as arquiteturas SOAP e REST, descrevendo seus conceitos, diferenças arquiteturais e pontos positivos e negativos de cada uma.
2. SOAP é um protocolo baseado em XML para troca de mensagens, enquanto REST é um estilo arquitetural que usa recursos nomeados e o protocolo HTTP.
3. REST tende a ser mais simples e performático, enquanto SOAP oferece mais recursos de segurança e transações em integrações complexas.
2. GEFFERSON RODRIGO SEVERINO PAULA
DIFERENÇAS CONCEITUAIS E ARQUITETURAIS ENTRE A UTILIZAÇÃO
DO SOAP E REST
Trabalho administrado pelo
professor Vinícius de Paula na
disciplina Programação de Sistemas
Distribuídos e Concorrência para o
Curso de Ciência da Computação
no 6º período, no Centro
Universitário do Triangulo –
UNITRI.
UBERLÂNDIA – 2014/1
3. 1. CONCEITOS.
1.1. SOAP.
É um protocolo que define o formato das mensagens especificando a interface
com que a mensagem é enviada, ou seja, é um protocolo leve destinado a troca de
informação estruturada em um ambiente distribuído e descentralizado.
O protocolo SOAP é baseado em uma comunicação XML que permite a
comunicação entre aplicações via HTTP, o que normalmente é utilizado em
WebServices. Mesmo com sua independência de plataforma e linguagem ele é
simples e extensível devido à utilização do XML.
1.1. REST.
É um estilo arquitetural utilizada em aplicações Web que usam recursos
nomeados, além de utilizar também o protocolo HTTP assim como seus
cabeçalhos, métodos e toda infraestrutura web já estabelecida e utilizada por
todos.
O REST interage com os serviços sempre da mesma forma, utilizando, geralmente
os métodos HTTP. Com o método Option pode-se saber quais outros métodos são
permitidos neste serviço. E ao mesmo tempo é interessante a definição de que
dados irão trafegar assim como suas respectivas restrições quando se trata de
dados.
2. DIFERENÇAS ARQUITETURAIS.
A principal diferença entre o REST e o SOAP é que enquanto o REST é uma
arquitetura para criar aplicativos cliente/servidor o SOAP é um protocolo de troca
de mensagens ou dados entre dois pontos de extremidade.
4. O REST não possui Proxy metadados gerados, o que torna o cliente menos rígido
para o serviço. Além disso, as solicitações de dados pelo método GET podem ser
armazenadas em cachê já que o REST depende da semântica de HTTP.
3. PONTOS NEGATIVOS E POSITIVOS DE SE
UTILIZAR UMA OU OUTRA TECNOLOGIA.
Enquanto o REST é mais elegante devido à máxima utilização do protocolo HTTP
evitando a construção de protocolos adicionais, o SOAP pode garantir questões de
segurança, transações e ouras questões presentes em integrações mais complexas
já que é um padrão que combina as especificações de WebService.
Outro ponto positivo do REST é que ele tem o potencial de ser mais simples que
uma implementação SOAP e tende também a ser mais performático. A
possibilidade de ter diferenças representações de um mesmo recurso ou uma dada
entidade pode ser representada em diferentes formatos dependendo da requisição
do cliente.
Além das características citadas acima, o REST possuem outros benefícios como,
por exemplo, o baixo consumo de recursos, a facilidade de fazer e usar, uma curva
de aprendizado menor, a criação explicita de instancias do processo e a não
necessidade de informações de roteamento da URL original do lado do cliente.
Como toda tecnologia possui suas características positivas elas também possuem
alguns pontos negativos, no caso do REST podemos citar que ele possui um
grande número de objetos, o gerenciamento das URLs podem ser complicado e
que a semântica e a sintaxe pode ser muito informal.
Apesar dos pontos positivos do REST o SOAP também possui suas vantagens e
benefícios. Uma das vantagens do SOAP é que uma mensagem SOAP pode ser
propagada por diferentes protocolos, o que flexibiliza bastante várias integrações.
5. Quanto a questão de maturidade, o SOAP também conta com essa vantagem, pois
é um padrão que está muito maduro no mercado, e que qualquer ferramenta de
integração Framework tem várias funcionalidades para manipular as mensagens
que seguem este padrão.