Consumo de serviços
Web RESTful
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
Analisar o uso de REST e as suas aplicações.
Identificar REST em aplicações móveis como endpoints de aplicativos
backend.
Exemplificar o consumo de serviço Web RESTful em uma aplicação.
Introdução
O acesso à internet por dispositivos móveis cresce ano após ano, até o
ponto em que se tornou o principal meio de conexão à rede mundial de
computadores, utilizados no dia a dia para diferentes fins. Todavia, para que
a aplicação funcione adequadamente de acordo com as expectativas do
usuário e atenda às diversas funcionalidades, deve-se integrá-la a outros
sistemas (geralmente remotos). Para essa integração, o mais comum é
usar a application programming interface (API) de representational state
transfer (REST) e o padrão de arquitetura RESTful, bem como a separação
de conceitos entre back-end e front-end.
Neste capítulo, você estudará uma API REST, suas aplicações, seu uso
no desenvolvimento de aplicações Web, como acontece o consumo de
dados por meio dos serviços em endpoints de API e a partir de API REST
utilizando os recursos da plataforma Ionic com TypeScript.
Aplicações mobile e acesso aos dados remotos
Com a evolução dos aparelhos celulares, desde os simples telefones aos meios
completos de comunicação, em que realizar chamadas é apenas uma das
funcionalidades), a demanda por aplicativos para variados usos (como redes
sociais, mensagens, aplicações bancárias e e-commerce) também aumentou
2 Consumo de serviços Web RESTful
na última década. Pode-se a�rmar, por exemplo, que o smartphone é hoje o
principal meio de acesso à internet no Brasil, conforme a pesquisa divulgada
pelo Instituto Brasileiro de Geogra�a e Estatística (IBGE) e outros veículos
de comunicação.
Segundo o IBGE, a internet é acessada em 70,5% dos domicílios brasileiros,
sendo que 69% o fazem por meio de telefones celulares, e apenas 38,8% por
computadores (os números não são absolutos, havendo um entrelaçamento, pois,
como há pessoas que utilizam ambos, elas representam os dois grupos citados)
(INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA, 2018).
Já a Folha de São Paulo traz a informação de que 49% da população bra-
sileira acessa à internet somente por meio de dispositivos móveis (Figura 1), e
4% o fazem apenas pelo computador (sendo 47% para ambos os dispositivos)
(AMPUDIA, 2018).
Figura 1. Uso massivo de dados por meio de smartphones.
Fonte: DisobeyArt/[Link].
Portanto, estes números justificam o crescente investimento em aplica-
ções direcionadas aos dispositivos móveis pessoais, bem como uma maior
preocupação com sua qualidade e confiabilidade. Contudo, eles não possuem
o mesmo poder computacional e de armazenamento que os computadores
pessoais, muitas vezes acessando à internet por meio de conexões lentas,
instáveis e limitadas (pacotes de dados).
Consumo de serviços Web RESTful 3
Na maioria dos casos, as aplicações que estão instaladas e em execução
nos dispositivos precisam acessar dados disponíveis em sistemas remotos, nas
plataformas que dependem do acesso à internet para sua total funcionalidade.
Como consultar o estoque em uma loja virtual e efetuar uma compra?
Como pagar a fatura e verificar o extrato da conta no aplicativo do banco?
Tais aplicativos atuam como a camada de apresentação dos dados, facilitando
a interação com o usuário, porém, não processam esses dados, nem os arma-
zenam efetivamente. Então, como os dados se tornam disponíveis?
Existem diversas formas de executar esta tarefa, mas uma técnica que se
destacou pela sua versatilidade e relativa praticidade foi expor os métodos (ou
funções) para que pudessem ser chamados a partir de outro sistema, por meio
da própria Web. Isso torna possível efetuar, por exemplo, uma solicitação de
determinados dados e obter uma resposta padronizada, que é recebida e com-
preendida pelo sistema que a chamou, dando continuidade ao processamento
e à exibição dos dados em questão.
De um lado, há a aplicação que recebe as requisições de dados por meio de
chamadas Web (transmitindo os dados como as requisições Hypertext Transfer
Protocol [HTTP]) e, de outro, uma aplicação que consome esses dados.
O uso de técnicas baseadas em serviços, chamadas sobretudo de assín-
cronas, permitiu que uma aplicação fosse dividida em camadas ou em partes
distintas, que funcionam conectadas entre si por essas requisições. Assim,
surgiram os conceitos de front-end, mais focado em apresentar os dados aos
usuários e receber sua interação diretamente; e o back-end, que é a parte
invisível do sistema e contém o maior conjunto das regras de negócios e
processamento de dados, bem como a maior carga de trabalho para a máquina
que o executa. Veja um exemplo desses dois conceitos na Figura 2.
Esta separação permite uma maior flexibilidade no desenvolvimento de
aplicações de diversos portes. Ao separar a apresentação do processamento
bruto, utiliza-se, por exemplo, o mesmo serviço de back-end para diversas
aplicações front-end (responsáveis por interagir com o usuário), como as
aplicações de página única (SPA, em inglês single page application), que
reduzem a quantidade de dados trafegados; aplicações desenvolvidas para
dispositivos móveis, muitas vezes com conexões, processamento e memória
bastante limitados (Figura 3); e telas em um sistema desktop. Nos casos citados,
pode-se dizer que o back-end expõe suas funções (métodos) de chamada aos
dados por meio da Web.
4 Consumo de serviços Web RESTful
Controle
de operações
Mensagens
Base de dados
CRM
Frontend Backend
Figura 2. Divisão de conceitos de front-end e back-end, demonstrando de maneira ilustrativa a
possibilidade de utilizar mais de uma interface com o mesmo sistema de fornecimento de dados.
Figura 3. Mensagens, finanças, localização, informação, alimentação e toda uma diversidade
de aplicações disponíveis na ponta dos dedos por meio das aplicações móveis.
Fonte: Jo karen/[Link].