REST e RESTFul
REST (Representational State Transfer) �RESTFul (Representational State Transfer)
IDS-002
Desenvolvimento para Servidores II
Sistemas para Internet
Índice
IDS-002
Desenvolvimento para Servidores II
Sistemas para Internet
Definição
REST (REpresentational State Transfer) é um estilo arquitetural para sistemas de informação distribuídos, que define regras e boas práticas para uso do protocolo HTTP em aplicações.
Segundo autores…
Segundo SAUDATE:
Trata-se de um meio de realizar a comunicação entre dois sistemas diferentes (independente da linguagem em que tenham sido escritos). Mas o fato é que REST estabelece um conjunto de padrões que permite fazer isso de forma eficiente e interoperável (coisas que, considerando cenários de microsserviços, por exemplo, se tornam especialmente interessantes de se possuir).
Segundo FIELDING:
REST é um estilo arquitetural que emerge como uma generalização de várias arquiteturas de rede anteriores. Suas restrições são projetadas para otimizar a eficácia da rede, permitindo que componentes sejam selecionados, adicionados ou atuados independentemente.
1
2
RESTful
É um adjetivo...�
RESTful refere-se a sistemas, serviços web e APIs que implementam os conceitos REST.
Uma API (Application Programming Interface) é um contrato (ou especificação ou abstração) que um software (ex: microserviço) honrará se outro software (ex: frontend) quiser interagir com ele.
Princípios orientadores do REST
Conceitos-chave da tese de doutorado de Roy Fielding.
https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
03 | Cache
04 | Interface Uniforme
05 | Código sob demanda
06 | Sistema em Camadas
Componentes, Conectores e Dados
01
Uso de componentização, modulares e atualizáveis
Componentes:
Conectores:
Dados:
Stateless
02
Cada requisição deve conter todas as informações necessárias para ser compreendida e processada.
Isso significa que nenhuma informação de sessão do cliente é armazenada no servidor entre requisições.
Cache
03
Reuso das informações (respostas) para melhor eficiëncia, escalabilidade e performance
Interface Uniforme
04
A interface entre componentes é simplificada e padronizada.
Propriedades essenciais:
Código sob demanda
05
Recepção de pequenos scripts para execução
Sistema em camadas
06
Camadas e modularização
Obrigado!