Informática Parte 26 Prof. Márcio Hunecke

Documentos relacionados
Desenvolvimento de Aplicações Distribuídas

Informática Parte 23 Prof. Márcio Hunecke

Protocolo HTTP. Professor Leonardo Larback

EA975 - Laboratório de Engenharia de Software

Web Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Redes de Computadores

Desenvolvimento de Aplicações Distribuídas

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW

>>> RESTful API >>> Com Node.js e Restify. Name: Anderson Pimentel Date: 19 de Março de

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

REST RESTfulWeb Services JAX-RS

Informática Parte 17 Prof. Márcio Hunecke

Introdução à Computação

REST. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 35

STD29006 Sistemas Distribuídos

Sistemas distribuídos. Prof. Emiliano Monteiro

Webservices LEANDRO MENDES FERREIRA

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

Introdução a Web Services

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

Informática Parte 5 Prof. Márcio Hunecke

Web Services. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Capítulo 2. Camada de aplicação

Projeto. Observatório Nacional de Clima e Saúde

Web Services REST e JSON

EA975 - Laboratório de Engenharia de Software. Objetivo do curso. Turmas K/L Aula 1

Web Services REST JAX-RS

Desenvolvimento de Sistemas Corporativos Aula 1.3 Motivação de DSC Visão geral de Arquiteturas. Prof. Bruno Moreno

Informática Questões Aulas 08, 09 e 10 Prof. Márcio Hunecke

CENTRAL DE CURSOS 29/05/2014

Prática da Disciplina de Sistemas Distribuídos Web Services REST IFMA DAI Professor Mauro Lopes C. Silva

Capítulo 7. A camada de aplicação

SERVIÇOS WEB. Frankley Gustavo F. Mesquita, Tamiris Souza Fonseca. 27 de junho de 2016

EA975 - Laboratório de Engenharia de Software

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo

Desenvolvimento Web II

PMR3507 Fábrica digital

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:

arquitetura shared-nothing em 3 camadas

CCT0298 ANALISE DE REDES Aula : Trafego HTTP

Instrutor: Eder Martins Franco

Protocolo HTTP. - Características. - Modelo Requisição/Resposta. - Common Gateway Interface (CGI)

REST Um Estilo de Arquitetura de Sistemas Distribuídos

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

Sistemas Distribuídos

Programação para Web

Prof. Marcelo Cunha Parte 6

ALUNO: RONI FABIO BANASZEWSKI

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.

Redes de Computadores

REVISÃO - Questões de Redes em Concursos. Semestre: 2 Bimestre:2 Data: / / 2013

Arquitetura de Serviços na Embrapa, viabilização da integração de informações eletrônicas de UDs e UCs. 12 de agosto de 2014 Fernando Chagas Santos

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Uso da Internet. Disciplina: Gestão da Tecnologia de Sistemas. Professor: Thiago Silva Prates

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

Redes de Computadores

QUESTÕES SOBRE GERÊNCIA DE REDES

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Redes de Computadores I

código belo vs. legado e qualidade de software

Funcionalidade e Protocolos da Camada de Aplicação

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Mônica Oliveira Primo de Lima Edervan Soares Oliveira TRABALHO SOBRE PROTOCOLO HTTP

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

ESTILO ARQUITETURAL REST PARA CRIAÇÃO DE WEB SERVICES RESTFUL

API - Webservices. Grupo Cortez de Lima

Raspando dados. O maravilhoso mundo da multidão de informações. pedro belasco - cromatica - cdc W3C - Open Data

Redes de Computadores

Informática Parte 11 Prof. Márcio Hunecke

Desenvolvendo Aplicações RESTFul utilizando Node.js

Integração de sistemas utilizando Web Services do tipo REST

Pesquisa e análise de informação

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor.

- 1ª Lista de Exercícios -

Web I F R N I N S T I T U TO F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O LO G I A D O R I O G R A N D E D O N R T E.

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

INTRODUÇÃO À INTERNET E À WORLD WIDE WEB

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO

M V C P R O F. M E. H É L I O E S P E R I D I Ã O

Sistemas Especializados

API - Lista de Compras

Browser é um programa desenvolvido para permitir a navegação pela web, capaz de processar diversas linguagens, como HTML, ASP, PHP.

Desenvolvimento de Aplicações Distribuídas

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

modelos, bancos de dados e active record

Estilos Arquiteturais

Service Oriented Architecture SOA

Informática Parte 22 Prof. Márcio Hunecke

Informática Parte 24 Prof. Márcio Hunecke

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Protocolo HTTP. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 22

Exercício Programa Mini Web Server

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Transcrição:

Escriturário Informática Parte 26 Prof. Márcio Hunecke

Informática REST A Representational State Transfer (REST), em português Transferência de Estado Representacional, é um estilo de arquitetura que define um conjunto de restrições e propriedades baseados em HTTP. Web Services que obedecem ao estilo arquitetural REST, ou web services RESTful, fornecem interoperabilidade entre sistemas de computadores na Internet. Os web services compatíveis com REST permitem que os sistemas solicitantes acessem e manipulem representações textuais de recursos da Web usando um conjunto uniforme e predefinido de operações sem estado. "Recursos web" foram primeiramente definidos na World Wide Web como documentos ou arquivos identificados por seus URLs. Entretanto, hoje eles possuem uma definição muito mais genérica e abstrata que abrangem todas as coisas ou entidades que podem ser identificadas, nomeadas, endereçadas ou manipuladas qualquer que seja a maneira, na web. Em um web service RESTful, requisições feitas a um URI de recurso extrairá uma resposta que pode estar em XML, HTML, JSON ou algum outro formato. A resposta pode confirmar que alguma alteração foi realizada para o recurso armazenado e a resposta pode fornecer ligações de hipertexto para outros recursos ou coleções de recursos relacionados. Quando o HTTP é usado, como é mais comum, as operações disponíveis são GET, POST, PUT, DELETE e outros métodos HTTP CRUD pré-definidos. Por meio da utilização de um protocolo sem estado e operações padrões, sistemas REST destinam-se para desempenho rápido, confiabilidade e habilidade de crescimento, por meio da reutilização de componentes que podem ser gerenciados e atualizados sem afetar o sistema como um todo, mesmo que esteja em execução. O REST ignora os detalhes da implementação de componente e a sintaxe de protocolo com o objetivo de focar nos papéis dos componentes, nas restrições sobre sua interação com outros componentes e na sua interpretação de elementos de dados significantes. O termo transferência de estado representacional foi apresentado e definido no ano de 2000 por Roy Fielding, um dos principais autores da especificação do protocolo HTTP que é utilizado por sites da Internet, em uma tese de doutorado (PHD). Sua dissertação explicou os princípios da REST que ficou conhecida como "modelo de objeto HTTP" no início de 1994, e foi usada nos padrões HTTP 1.1 e Identificadores de Recursos Uniformes. O termo destina-se a evocar uma imagem de como uma aplicação web bem projetada se comporta: ela é uma rede de recursos web (uma máquina de estado virtual) onde o usuário progride ao longo da aplicação por meio de seleção de ligações, como /user/tom, e operações como GET ou DELETE (transições de estado), resultando no próximo recurso (representando o próximo estado da aplicação) sendo transferida ao usuário para sua utilização. www.acasadoconcurseiro.com.br 3

A REST (Transferência do Estado Representativo) é pensada como uma imagem do design da aplicação se comportará: uma rede de sítios da Teia (um estado virtual), onde o utilizador progride com uma aplicação clicando em vínculos (transições do estado), tendo como resultado a página seguinte (que representa o estado seguinte da aplicação) que está sendo transferida ao utilizador e apresentada para seu uso. Regras para aplicações RESTful Roy Fielding definiu 6 regras (também chamadas de constraints) para uma aplicação ser RESTful 1. Cliente Servidor cliente faz as solicitações de informações, armazena sessão e exibe as informações. Servidor responde às requisições dos clientes. Os papéis devem ser bem separados e definidos. 2. Stateless Aplicação não pode armazenar estado no servidor. Cada requisição deve ter todas as informações necessárias. Novas requisições podem ser direcionadas a outros servidores sem prejuízo qualquer. 3. Cache Aplicação de armazenar cache. Para evitar acesso constante ao servidor de banco de dados, a aplicação deve ter mecanismos de cache. 4. Interface uniforme A interface que é apresentada ao usuário deve ser amigável e com mensagens auto descritivas. 5. Sistema em camadas deve permitir escalabilidade, ou seja, se for necessário melhor o desempenho a aplicação deve suportar a execução em múltiplos servidores. 6. Código sob demanda Código deve suportar modificações e melhorias com o passar do tempo, sem gerar problemas no código já existente. Outros critérios que devem ser atendidos Recursos URI deve ser explicativa, usando substantivos (não utilizar verbos). Ex.: Produtos, Clientes, Funcionários. Métodos Métodos do HTTP: GET (obter), POST (criar recurso), PUT (atualizar um recurso) e DELETE (excluir). Existem outros possíveis, mas esses são os mais utilizados. Retornos Servidor deve retornar ao cliente, mensagem com códigos seguindo os padrões abaixo: 4 www.acasadoconcurseiro.com.br

Banco do Brasil - TI (Escriturário) Informática Márcio Henecke 1xx para informação 2xx para sucesso 3xx para redirecionamento 4xx para erro no cliente 5xx para erro no servidor Modelo de maturidade de Richardson O modelo desenvolvido por Leonard Richardson divide os principais elementos de REST em três passos descrevendo recursos (resources), verbos http (http verbs) e controles de hypermedia (hypermedia controls). O modelo de Richardson é facilitador para a construção de APIs, porém, vale levar em consideração, não é possível considerar uma API RESTful só implementando os níveis 0, 1 e 2 por não alcançar todas as constraints definidas por Roy Fielding. Nível 0 POX (mais simples) Nível 1 Recursos (Resources) Nível 2 Verbos HTTP (http verbs) Nível 3 HATEOAS (Hypermedia as the Engine of Application State) www.acasadoconcurseiro.com.br 5

Questões 1. (2018 FCC DPE-AM Assistente Técnico de Defensoria Programador) De acordo com a arquitetura REST, um serviço Web RESTful a) deve manter um estado de cliente no servidor. b) não consegue tratar cada requisição de forma independente. c) suporta somente os métodos GET e POST. d) não funciona bem com os protocolos HTTP. e) não deve manter um estado de cliente no servidor. 2. (2017 FCC DPE-RS Técnico Informática) REST é frequentemente aplicado à web services para acessar serviços na web. Uma das características do REST é que a) utiliza o protocolo RESP para estabelecer a comunicação entre cliente e servidor, utilizando métodos como GET e PUT para acessar o serviço. b) usa o protocolo SOAP para expor a estrutura do serviço e o método RESTful para que os clientes possam acessá-lo. c) o cliente precisa ter a visão clara de como o servidor recebe e armazena os dados, assim como da interface do serviço a ser acessado. d) é stateless e, por isso, o envio de dados ao servidor deve conter toda a informação necessária para ser compreendida. e) utiliza uma notação HTML específica para transferência de dados, semelhante à notação usada na linguagem XHTML. 3. (2012 AOCP TCE-PA Assessor Técnico de Informática Analista de Sistemas) A maior parte das implementações de arquitetura orientada a serviço se utilizam de web services. Os três mais comuns são: a) WSDL, REST e BPM. b) SOAP, REST e WSDL. c) WSDL, Service Provider e REST. d) Service Provider, REST e BPM. e) Service Provider, SOAP e BPM. 4. (2017 FCC TRF 5ª REGIÃO Analista Judiciário Informática Desenvolvimento) Se um serviço web baseado na arquitetura REST (RESTful) está localizado em http://www.trf5. jus.br/employee, quando o cliente fizer uma requisição a este serviço deverá a) usar a Web Services Description Language para descrever as regras de comunicação com o serviço. b) usar JAX-WS para sincronizar a comunicação com o serviço. c) estabelecer e manter essa conexão com o servidor até o final da troca de mensagens SOAP. www.acasadoconcurseiro.com.br 7

d) usar um dos métodos HTTP como POST, GET, PUT ou DELETE. e) enviar um sinal beacon solicitando ao servidor uma porta para conexão. 5. (2016 CESPE TRT 8ª Região (PA e AP) Técnico Judiciário Tecnologia da Informação) A respeito dos conceitos de web services e REST, assinale a opção correta. a) O método POST é utilizado na atualização de um recurso existente. b) Pode-se utilizar qualquer meio de transporte existente para o envio de uma requisição, incluindo HTTP, SMTP e TCP. c) O modelo REST impõe restrições ao formato da mensagem. d) Ao desenvolver uma aplicação, o recurso é transferido pela rede. e) As chamadas às URIs (uniform resource indicator) são feitas por meio de métodos HTTP, os quais indicam para o serviço a ação a ser realizada com o recurso. 6. (2016 CESPE TRE-PI Analista Judiciário Análise de Sistemas) Acerca de REST (representational state transfer), assinale a opção correta. a) Na implementação do REST, todos os recursos devem responder a todos os métodos. b) O método GET permite obter e alterar o estado atual de um recurso. c) O método EXPUNGE permite excluir um recurso. d) A arquitetura de comunicação entre aplicações baseia-se em um modelo rígido de recursos e localizações. e) O método MODIFY permite alterar um recurso. 7. (2016 CESPE FUNPRESP-JUD Analista Tecnologia da Informação) Com relação à interoperabilidade de sistemas, julgue o item subsequente. Conexões REST devem conter todas as informações necessárias para que a conexão seja completada. ( ) Certo ( ) Errado 8. (2017 CESPE TRT 7ª Região (CE) Analista Judiciário Tecnologia da Informação) Assinale a opção que apresenta o método HTTP que deve ser usado para a busca de recursos por meio do web service RESTful. a) delete b) get c) put d) options 9. (2018 CESPE STJ Técnico Judiciário Desenvolvimento de Sistemas) Julgue o próximo item, relativo a model-view-controller (MVC), proxy reverso representational state transfer (REST). A REST define uma arquitetura cliente-servidor na qual o servidor não mantém contexto de cliente entre transações, ou seja, é stateless e toda transação contém as informações necessárias para satisfazer a solicitação. ( ) Certo ( ) Errado 8 www.acasadoconcurseiro.com.br

Banco do Brasil - TI (Escriturário) Informática Márcio Henecke 10. (2018 CESPE STJ Técnico Judiciário Suporte Técnico) Julgue o item a seguir, acerca de arquiteturas de integração e web services. Os serviços Web RESTful utilizam o HTTP como um meio de comunicação entre cliente e servidor. ( ) Certo ( ) Errado 11. (2017 FGV IBGE Analista Censitário Análise de Sistemas Desenvolvimento de Aplicações) Com relação a REST e SOAP, analise as afirmativas a seguir: I REST é baseado em orientação a recursos, sendo indicado para operações stateless. II SOAP é um protocolo para troca de mensagens estruturadas, que podem possuir diferentes formatos, tais como JSON, HTML ou XML. III Tanto REST quanto SOAP foram concebidos para utilizar diferentes protocolos de comunicação, além do HTTP. Está correto somente o que se afirma em: a) I; b) II; c) III; d) I e II; e) I e III. 12. (2016 CESPE TRT 8ª Região (PA e AP) Técnico Judiciário Tecnologia da Informação) Acerca da arquitetura de microsserviços, assinale a opção correta. a) A arquitetura de microsserviços é um padrão para a criação de aplicações distribuídas, porém não possui alta escalabilidade. b) A comunicação entre os microsserviços é feita por meio de mecanismos padrões de tecnologia, como, por exemplo, o REST (representational state transfer). c) Microsserviços utilizam uma única base de dados lógica para a persistência de dados. d) Um requisito fundamental da arquitetura de microsserviços é o uso de versionamento de mudanças. e) Os microsserviços são componentes autônomos e de alto acoplamento, de modo que há a necessidade de se utilizar uma mesma linguagem na sua construção. 13. (2015 CESPE MEC Gerente de Projetos) No que se refere a padrões SOA (service-oriented architecture) e a REST (representational state transfer), julgue o item subsecutivo. Entre as restrições da REST está a interface uniforme, a qual requer que um serviço ofereça várias operações e aguarde a solicitação dessas operações pelo servidor. ( ) Certo ( ) Errado www.acasadoconcurseiro.com.br 9

14. (2015 CESPE MEC Analista de Sistemas) Acerca da utilização dos protocolos SOAP e REST, julgue o item seguinte. A fim de implementar serviços em REST, recomenda-se utilizar os WSDL já existentes com mínima alteração do cabeçalho, informando somente que o protocolo a ser utilizado é o REST. ( ) Certo ( ) Errado 15. (2015 FGV DPE-RO Analista da Defensoria Pública Analista Programador) A REST (Representational State Transfer, em português Transferência de Estado Representacional) dá ênfase: a) na multiplicidade de representação de recursos, utilizando apenas os métodos padrão do protocolo HTTP (GET, POST, PUT, DELETE, etc); b) na multiplicidade de representação de métodos, utilizando apenas os recursos padrão do protocolo HTTP (GET, POST, PUT, DELETE, etc); c) em utilizar o protocolo SOAP sobre o protocolo HTTP; d) na segurança por meio do protocolo HTTPS 2.0; e) na integração baseada em troca de mensagens assíncronas por meio de web-sockets. Gabarito: 1. E 2. D 3. B 4. D 5. E 6. D 7. Certo 8. B 9. Certo 10. Certo 11. A 12. B 13. Errado 14. Errado 15. A 10 www.acasadoconcurseiro.com.br