REST vs SOAP

Atenção, este blog foi migrado para: http://brunopereira.org

O Dan Diephouse, fundador do XFire e atualmente trabalhando no ESB do Mule postou em seu blog uma opinião que vem bastante de encontro ao que eu penso, e que é contrária à febre atual de REST, que possui defensores que o julgam uma melhor opção por ser mais simples que SOAP.Eu ainda vou postar futuramente a minha opinião com bastante detalhes sobre o assunto, mas um ponto que eu acho muito importante é: WS-* is complex. REST is complex. It’s all complex. Complexity is not the issue. The real issues are things like utility, consistency, accessibility, etc.

Na minha humilde opinião, raríssimas são as pessoas no Brasil que já tiveram contato prolongado com SOAP e REST e que de fato vivenciaram na pele as conseqüências de escolhas de tecnologias com SOA após um uso contínuo. Portanto, acho um tanto precipitado sair emitindo opiniões conclusivas sobre qual opção é melhor simplesmente por ver que SOAP é mais “verbose” do que REST.

Sim, SOAP é um protocolo dentro de outro (99,9% das vezes dentro de HTTP) e REST é apenas HTTP. Isto já mostra por si só que SOAP tem um overhead de protocolo maior. Mas este fator é apenas um bem pequeno ítem nas considerações totais entre as 2 formas de implementar web services.

Assim, ouso dizer: quem justifica a escolha de REST em vez de SOAP por dizer que REST é mais leve e simples não sabe do que está falando. Todos os caras que já trabalharam de verdade com as 2 opções e viram o domínio do problema amadurecer têm opiniões muito mais pragmáticas e argumentos muito mais profundos do que estes, e chegaram nestas opiniões após ANOS de experiência intensa com o problema.

A propósito, já implementei aplicações tanto com SOAP, como com REST, e quanto mais eu estudo e aprendo sobre o assunto, mais difícil fica dar uma opinião conclusiva sobre o assunto. Ainda estamos engatinhando em SOA, principalmente no Brasil. Se quiserem conferir parte do que venho lendo sobre isto, venham aqui.

8 respostas para REST vs SOAP

  1. Fabiano Izabel disse:

    Salve, Brunão!
    Mais um excelente post!
    Nosso mercado está cheio de “papas” de tecnologias que mal amadureceram (as tecnologias, diga-se. Mas … Pensando bem … Por que não os papas? ;p).
    Eu só utilizei SOAP, ainda não ví REST, portanto não tecerei comentários a respeito entre o que é ou não melhor, mas posso assegurar que SOAP atendeu a 100% dos requisitos que deveria atender.
    Mais uma vez, que fiquem aqui registrados os meus votos de sucesso na sua nova empreitada!
    Grande abraço,
    Fabiano Izabel

  2. blpsilva disse:

    Pois é.. em alguns assuntos não basta você ler alguns artigos e implementar alguns exemplos ou casos simples para dominar e falar com propriedade sobre um assunto. Alguns problemas você precisa ver amadurecerem e então contar o que aprendeu. Entretanto, o marketing muitas vezes vence o pragmatismo, então vemos algumas conclusões precipitadas sendo “vendidas” como verdades absolutas.

  3. […] se discute sobre as vantagens da abordagem REST em relação à SOAP, mas como escrevi no inicio do texto, cada tecnologia pode trazer um […]

  4. carlos disse:

    SOAP possui um contrato padrão bem definido, quem ja trabalhou com sistemas heterogeneos em grandes ambientes distribuidos sabe a importancia disto.
    Vai reutilizar um serviço REST pra ver, só pra descobrir como funciona já vai ser um parto. E não, documentação é lenda pra boi dormir. Na pratica o SOAP ja expoe o wsdl por ser uma obrigação nao sendo necessario documentações anexas. Isso sem citar o UDDI que trabalha diretamente com ele.

  5. André disse:

    Parabéns, você fala exatamente como um típico programador Java que adora sua estrutura complicada para te garantir como “programador fodão”. SOAP é mais complexo, por isso te agrada mais…
    Gratz champs!

  6. Anonimo disse:

    Falou, falou e não disse nada.

  7. Amigão, estamos em 2011. Passaram-se 4 anos amigão. Fala pra “nóis” o que tu ta pensando agora. Compartilha.

  8. bruno disse:

    Ponto de vista muito bem argumentado.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: