Web Services (Aula 8)

Web Services

Web services são aplicações que disponibilizam serviços (dados) para outras. É uma API (Application Programming Interface) que possui a documentação necessária para seu uso, permitindo uma comunicação eficiente entre sistemas.

Web Services

Web Services

Web services fazem uso principalmente do protocolo HTTP.

Podemos definir web services como um subconjunto de APIs, porém, tecnicamente se comparados, os web services possuem certas limitações em relação as APIs.

Um exemplo clássico de web service é o que a partir do CEP retorna o endereço em forma textual, ou seja, nome da rua, bairro, cidade e estado.

Então, a partir de uma requisição, um web service retorna, normalmente, um conjunto de dados (seja texto, imagens, áudio, vídeo, o que seja). Esta reposta é realizada seguindo alguns padrões de formato, para que o cliente entenda e possa fazer o uso correto dos dados retornados.

Os principais, ou pelo menos os mais usuais, padrões de retorno são:

  1. XML (eXtensible Markup Language)
  2. JSON (JavaScript Object Notation)

Ao realizar uma requisição, informamos o padrão que desejamos como resposta a aplicação do servidor através do cabeçalho HTTP, por exemplo, para retorno no formato JSON, utilizamos o seguinte cabeçalho “Accept: application/json”.

Já a resposta conterá o cabeçalho “Content-Type: application/json”.

Importante frisar que um web service não apenas retorna dados, pode também ser utilizado para alterar dados no servidor, então é intuitivo que web services utilizam métodos HTTP, na maioria dos casos: GET (recupera informações, não deve modificar, ou seja, sem efeito colateral do lado do servidor), POST (adiciona informações), PUT (atualiza/modifica, e eventualmente pode adicionar informações) e DELETE (exclui informações).

Neste contexto informações são sinônimos de recursos, então métodos na verdade são aplicados a recursos do lado servidor.

Lembremos que recursos são definidos via URI, logo temos 3 componentes básicos em um web service: recursos (URI), operações (métodos HTTP) e dados (XML, JSON, …).

Por último, vejamos um exemplo de cada um dos formatos de retorno de um web service, no caso o da ViaCEP, que retorna o endereço textual a partir de um CEP:

XML

<?xml version="1.0" encoding="UTF-8"?>
<xmlcep>
<cep>01001-000</cep>
<logradouro>Praça da Sé</logradouro>
<complemento>lado ímpar</complemento>
<bairro>Sé</bairro>
<localidade>São Paulo</localidade>
<uf>SP</uf>
<ibge>3550308</ibge>
<gia>1004</gia>
<ddd>11</ddd>
<siafi>7107</siafi>
</xmlcep>

JSON

{
"cep": "01001-000",
"logradouro": "Praça da Sé",
"complemento": "lado ímpar",
"bairro": "Sé",
"localidade": "São Paulo",
"uf": "SP",
"ibge": "3550308",
"gia": "1004",
"ddd": "11",
"siafi": "7107"
}

Fonte: ViaCEP.

Aula anterior “Modelo Requisição-Resposta (Request-Response) (Aula 7)“.

Próxima aula “O Padrão REST (REPRESENTATIONAL STATE TRANSFER) (Aula 9)“.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.