-
SOAP
é um protocolo de transferência de mensagens em formato XML para uso em ambientes distribuídos. O padrão SOAP funciona como um tipo de framework que permite a interoperabilidade entre diversas plataformas com mensagens personalizadas.
Aplicando este padrão em Web Services, geralmente usa-se o WSDL para descrever a estrutura das mensagens SOAP e as ações possíveis em um endpoint.
Uma das maiores vantagens disso é que várias linguagens e ferramentas conseguem ler e gerar mensagens facilmente. Várias linguagens de programação permitem a geração de objetos de domínio, Stubs e Skeletons a partir da definição do WSDL, permitindo a comunicação remota via através de chamadas a métodos remotos, inclusive com argumentos complexos, como se fossem chamadas locais.
O problema desse padrão, é que ele adiciona um overhead considerável, tanto por ser em XML quanto por adicionar muitas tags de meta-informação. Além disso, a serialização e desserialização das mensagens pode consumir um tempo considerável.
REST
O termo REST Representational State Transfer.
Nada mais é que um padrão de arquitetura para criar serviços e disponibilizá-los na Web. Um serviço RESTful é simplesmente aquele que realiza a implementação deste padrão.
Ou seja, não há diferenças.
O termo REST surgiu com o Roy Fielding em uma que escreveu em 2000. Nesta dissertação ele classificava um serviço REST com algumas características. As principais, entendo eu, seriam:
Ou seja, um serviço REST não é aquele que simplesmente manda um Json de um lado para o outro. Existem certas regras que a definem para que ela possa ser mais fácil de ser usada, mais confiável e com melhor performance.
Um exemplo que deixa isto mais claro é quando comparamos dois serviços http onde um segue o mantra do REST e o outro não.
-
poderia-se considerar o protocolo http(s) como um envelope, mas isso seria uma extrapolação e invalidaria a questão.
-
Segundo a tecnica de Nishimura, quando compara tecnologias, geralmente a assertiva eh falsa.
Segundo a tecnica de Nishimura, quando menospreza tecnologias, geralmente a assertiva eh falsa.
E quando compara e menospreza ao mesmo tempo? O q seria?
O CESPE ja se deu conta desse "truque".
-
Pessoal, encher comentario com textoes mais confundem q ajudam em alguma coisa. Se sua tecnica eh confundir, vc eh o maior prejudicado, pois tambem vai acabar confuso com tanda %$#@*. Vamos nos concentrar objetivamente no q a questao pede, q eh a comparacao entre duas tecnologias. Vamos 'a questao:
Diferentemente do que ocorre em serviços web embasados em SOAP, as solicitações e as respostas dos serviços REST não são empacotadas em envelopes.
De fato, rest nao envolve envelopamento, pois este adiciona overhead, tornando tudo mais pesado. No rest, os dados sao enviados como tal, em requisicoes/respostas HTTP.
Existe ate uma brincadeira sobre isso com o filme VovoZona. O SOAP seria o personagem como ele eh + o personagem desfarcado de VovoZona, q eh uma senhora com aparencia gorda e pesada, "envelopando" o personagem magro.
No rest, apenas o ator 'e 'enviado' e, por consequencia, menos trabalho eh realizado. Deem uma pesquisada em vovozona + soap + rest e vcs vai entender.