REST usa JSON e SOAP usa XML, certo?

SOAP (Simple Object Access Protocol) e REST (Representation State Transfer) são duas arquiteturas diferentes de web services. Entretanto, um erro comum é achar que a principal diferença entre elas é que SOAP utiliza XML (eXtensible Markup Language) e REST utiliza exclusivamente JSON (JavaScript Object Notation). Por esta razão, este artigo apresenta os conceitos básicos destas duas tecnologias, visando um maior esclarecimento das suas características e diferenças.

Em uma breve descrição, SOAP é uma tecnologia desenvolvida pela Microsoft para acessar web services unicamente por meio de mensagens de requisições e respostas feitas em XML, substituindo as tecnologias que utilizavam mensagens binárias. Além das mensagens, utiliza-se XML para criar o arquivo WSDL (Web Service Description Language), que é um contrato entre o provedor e o consumidor do serviço, como se fosse uma assinatura de método para o serviço web. Outra característica do SOAP é que é independente do protocolo de transporte, ou seja, pode ser enviado com a maioria dos protocolos, por exemplo HTTP, SMTP, TCP e JMS.

Já o REST é uma arquitetura criada para ser mais simples de se usar que o SOAP. Este pode ser usado em vários formatos de texto, como CSV (Comma-separated Values), RSS (Really Simple Syndication), JSON e YAML. Porém, só pode ser utilizado com o protocolo HTTP/HTTPS, por exemplo utilizando os métodos GET, POST, PUT e DELETE. Por este motivo, o REST comporta-se como se fosse um navegador que sabe como usar um protocolo e seus métodos padronizados, sendo que o aplicativo deve se adequar a isto. Neste caso, os padrões do protocolo não são violados, por exemplo criando métodos extras, aproveitando assim os métodos nativos e criando as ações com eles em seu tipo de mídia.

A seguir, temos uma comparação das duas tecnologias, com as principais vantagens de cada uma:

SOAP

  • Protocolo de transporte independente (REST utiliza somente HTTP)
  • Trabalha melhor com sistemas distribuídos, pois REST trabalha com comunicação ponto-a-ponto
  • O arquivo WSDL pode gerar um certo tipo de automação quando usado com determinadas ferramentas

REST

  • Melhor curva de aprendizado
  • Mensagens menores e mais eficientes como o formato JSON comparado com XML
  • Os dados podem ser colocados em cache, retornando sempre a mesma resposta para a mesma requisição
  • Mais rápido pois precisa de menos processamento que o SOAP

Portanto, vimos que cada arquitetura possui vantagens e desvantagens e é preciso analisar caso a caso antes de escolher qual utilizar. Porém, por ser mais simples e utilizar um protocolo que já é vastamente adotado pela comunidade, o REST geralmente é a arquitetura mais indicada para implementar um web service. Além do mais, com REST podemos trabalhar com diferentes formatos de texto enquanto SOAP é limitado exclusivamente ao formato XML.

Referências

Por GUILHERME MORAES ARMIGLIATTO

Postado em: 10 de janeiro de 2017

Confira outros artigos do nosso blog

REST não é JSON

21 de agosto de 2017

Bruno Sofiato

[Webinar] Profile de aplicações Java com Oracle Mission Control e Flight Recorder

24 de julho de 2017

Danival Calegari

Criando Mocks de serviços REST com SoapUI

27 de junho de 2017

Monise Costa

JavaScript 6: diferença entre var, let e const

09 de maio de 2017

Otávio Felipe do Prado

Deixe seu comentário