1
resposta

Afinal quais os protocolos usados por Web Services?

Olá!

Boa tarde a todos! :D

A minha dúvida adveio do seguinte trecho de um material que usei para me aprofundar no assunto:

  • "Web Services – é uma interface projetada para se comunicar via rede. É uma API que usa obrigatoriamente a rede. Tipicamente, HTTP é o protocolo mais comumente usado para a comunicação."

Até então tudo bem. O problema é o que vem a ser afirmado mais à frente no texto:

  • "Um serviço Web utiliza apenas três estilos de comunicação: SOAP, REST e XML-RPC enquanto que a API pode usar qualquer estilo de comunicação."

Então podemos afirmar que web services utilizam 4 estilos de comunicação, ou 3? Contamos ou não com o HTTP?

1 resposta

Oi estudante, tudo bem?

Desculpe a demora em retornar.

Antes de responder à sua pergunta, é importante entender o que são Web Services e quais são os protocolos mais comumente usados por eles.

Web Services são aplicações que se comunicam entre si por meio da internet. Eles permitem que diferentes sistemas e plataformas se integrem e troquem informações de forma padronizada e segura.

O protocolo mais comumente usado por Web Services é o HTTP, que é o mesmo protocolo utilizado para acessar páginas web. Ele é utilizado para enviar e receber requisições e respostas entre o cliente (quem consome o serviço) e o servidor (onde o serviço está hospedado).

Além do HTTP, existem três estilos de comunicação que podem ser utilizados por Web Services: SOAP, REST e XML-RPC.

SOAP (Simple Object Access Protocol) é um protocolo baseado em XML para troca de mensagens em formato de documento entre sistemas distribuídos. Ele define uma estrutura rígida de mensagens, com cabeçalhos específicos para autenticação, segurança, roteamento, etc. Exemplo de requisição SOAP em XML:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:m="http://www.example.org/stock">
  <soap:Header/>
  <soap:Body>
    <m:GetStockPrice>
      <m:StockName>IBM</m:StockName>
    </m:GetStockPrice>
  </soap:Body>
</soap:Envelope>

REST (Representational State Transfer) é um estilo de arquitetura de software que utiliza o protocolo HTTP para transferência de dados entre sistemas. Ele é baseado em recursos (URIs) e verbos HTTP (GET, POST, PUT, DELETE, etc.), e utiliza formatos de representação de dados mais leves, como JSON e XML. Exemplo de requisição REST em JSON:

GET /api/stock/IBM HTTP/1.1
Host: example.com
Accept: application/json

XML-RPC (XML Remote Procedure Call) é um protocolo baseado em XML que permite a chamada de métodos remotos em sistemas distribuídos. Ele é considerado obsoleto e pouco utilizado atualmente.

Respondendo diretamente à sua pergunta, podemos dizer que Web Services utilizam três estilos de comunicação (SOAP, REST e XML-RPC) e que HTTP é o protocolo mais comumente usado por eles.

O trecho do texto que você citou pode ter gerado essa dúvida por causa da diferença entre Web Services e APIs. Enquanto Web Services são interfaces projetadas especificamente para se comunicar via rede, APIs são conjuntos de interfaces e rotinas que permitem a comunicação entre diferentes componentes de software.

Uma API pode ser acessada por meio de diferentes protocolos, como HTTP, FTP, TCP, UDP, etc., enquanto um Web Service é sempre acessado por meio da rede, utilizando um dos três estilos de comunicação mencionados acima.

Espero que tenha te ajudado! Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software