Prévia do material em texto
Aula 16 - Consumo de serviços Web RESTful 1. O padrão RESTful se desenvolveu a partir do conceito de computação distribuída, em que partes de um mesmo sistema se localizam em máquinas ou em locais físicos diferentes. Partindo dessa premissa, qual alternativa a seguir está correta? Resposta: B. A aplicação móvel é responsável, majoritariamente, pelo conceito de frontend, que é a parte que responde à interação com o usuário. Justificativa: A tecnologia das APIs, principalmente utilizando o conceito REST, faz uso de chamadas assíncronas à rede, privilegiando trafegar apenas o que é necessário, evitando o recarregamento de imagens e de outros dados considerados pesados, pois estão instalados com a aplicação ou mantidos em memória local. A aplicação, por sua vez, responde, principalmente, pela camada de interação com o usuário, também denominada frontend, responsável por armazenar preferências, filtros, login e senha, mas não os dados brutos. Dessa forma, é possível construir aplicações leves, que não necessitam de grande poder de processamento, todavia, majoritariamente, dependentes de conexões à internet. 2. Na maior parte das aplicações para dispositivos móveis, há necessidade inerente de comunicação com servidores externos, que estão acessíveis por acesso à internet. Sendo assim, o que é um REST? Marque a opção correta. Resposta: C. Um padrão de arquitetura de interconexão de aplicações. Justificativa: REST é um padrão de arquitetura de software que permite que os dados sejam trafegados utilizando o protocolo HTTP e a infraestrutura da própria Web. Nesse caso, um servidor, chamado de backend, expõe funções para o tratamento dos dados enviados e recebidos. 3. Uma aplicação pode ser chamada de RESTful quando é baseada no padrão REST de acesso a funcionalidades remotas por meio de APIs. Diante isso, é possível afirmar que: Resposta: A. o método HTTP/GET é utilizado para buscar informações que já existem. Justificativa: Os métodos do protocolo HTTP são amplamente utilizados como "verbos" de ação para a arquitetura RESTful. O método GET é usado para buscar informações existentes. Transmite as informações pela própria URL, por isso não deve ser utilizado para dados sensíveis (como senhas, por exemplo). Os métodos POST e PUT têm funcionalidades similares, que é a de enviar e inserir dados no sistema, utilizando o corpo da requisição. Entretanto, existe uma diferença entre eles: deve-se utilizar PUT quando a URI que identifica o recurso já existe; e o POST quando o sistema criar uma nova URI para os dados inseridos ou alterados. 4. Quando dados são transmitidos e recebidos utilizando-se as APIs RESTful, é necessária uma notação comum a ambas as partes (ambos os lados) para que as aplicações se comuniquem. Em se tratando de REST, qual alternativa apresenta uma afirmativa correta? Resposta: C. É viável, apesar de incomum, a representação dos dados em formato XML para transferência entre aplicações. Justificativa: Apesar de grande parte das aplicações baseadas em REST transferirem seus dados utilizando documentos JSON, é possível fazer essa transferência de dados em outros padrões notacionais, como o XML - mais antigo ou até mesmo texto puro. As https://ultra.content.blackboardcdn.com/ultra/uiv3900.74.0-rel.25_afc4ff2 requisições, muito frequentemente, coincidem com as operações CRUD, mas não se limitam a elas. Observe que uma requisição é uma chamada a uma função remota, que não necessariamente será um CRUD. Os dados podem ser enviados pela URL ou pelo corpo da requisição, e seu retorno é tanto por meio de palavras predefinidas, quanto por códigos de resposta HTTP. 5. As aplicações baseadas na arquitetura REST transmitem seus dados pela Web e pelo protocolo HTTP. As chamadas a dados são denominadas requisições e seus pontos de conexão remotos são nomeados de endpoints. Em relação à transmissão dos dados sobre arquitetura REST, qual alternativa está correta? Resposta: B. O servidor não mantém o estado da conexão. É necessário o envio da informação completa e, após a resposta, o ciclo se encerra. Cada requisição é única. Justificativa: No padrão RESTful, cada requisição é única e deve ser completa, ou seja, conter todos os dados necessários para ser efetuada. Contudo, transmitir login e senha a cada requisição não é uma boa prática, existindo mecanismos para evitar o tráfego de dados sensíveis (como o JWT, por exemplo). Em relação ao servidor, este não mantém os dados após concluir a requisição e enviar a resposta à aplicação que a originou - o que diferencia de outras arquiteturas como o SOAP. Justamente por tratar cada requisição como completa e única, é ideal para redes instáveis e com velocidade variável, como as redes móveis 3G e 4G.