Entenda os protocolos de comunicação SOAP e RESTful, utilizado em webservices.
Para entendermos os protocolos SOAP e RESTful, devemos primeiramente ter a definição clara de webservices.
O que são webservices?
Os websevices (serviços web) são aplicações cliente/servidor que se comunicam através do protocolo HTTP (HyperText Transfer Protocol). Conforme descrito pelo World Wide Web Consortium (W3C), os serviços web fornecem um meio padrão de interoperabilidade entre as aplicações de software executam em uma variedade de plataformas e frameworks. Os serviços web são caracterizados pela sua grande interoperabilidade e extensibilidade, bem como suas descrições processáveis por máquina, graças ao uso de XML. Eles podem ser combinados em uma maneira de baixo acoplamento para conseguir operações complexas [1].
Com o conceito de webservices (serviços web) definido, podemos ir para a definição dos dois protocolos: SOAP e REST.
SOAP
O SOAP (Simple Object Access Protocol ou Protocolo Simples de Acesso a Objetos) é um protocolo de comunicação baseado em XML que possibilita a comunicação de mensagens entre aplicações por meio de HTTP (Hypertext Transfer Protocol), e que é normalmente utilizado em web services [2].
RESTful
Os serviços web RESTful são serviços que se apoiam no estilo arquitetural REST (Representational State Transfer) e que usam os recursos disponíveis no protocolo HTTP.
Serviços web RESTful manipulam recursos que são qualquer item de informação que pode ser obtido por meio de um URI (Universal Resource Identifier). Os recursos são manipulados via transferências de representações entre clientes e servidores utilizando a interface do protocolo HTTP. A interface é composta, principalmente, pelos verbos POST, GET, PUT e DELETE. O POST cria um novo recurso; GET recupera o estado corrente de um recurso em qualquer representação; PUT modifica o estado de um recurso já existente; e DELETE exclui um recurso [3].
Conclusão
Tanto SOAP quanto RESTful são utilizados nos dias atuais. Porém, o RESTful vem sendo mais utilizado, por ser um protocolo baseado em formatos mais leves (como o JSON, por exemplo); já o SOAP, também é utilizado, porém pelo motivo de existirem ainda aplicações que foram projetadas para esse protocolo.