Escolar Documentos
Profissional Documentos
Cultura Documentos
REST Pra Minha Namorada
REST Pra Minha Namorada
Ryan Tomayko
Ajudou a escrever os primeiros servidores web; Fez pesquisas explicando porque a web
funciona como ela funciona;
Informa ao navegador qual protocolo utilizar; Uma das mais importantes descobertas da
histria da computao;
REST
REST
Representational State Transfer REST tem uma denio de recurso, que o que o HTTP referencia.
A URL diz ao navegador que existe um conceito O navegador requisita uma representao
especca daquele conceito.
Existem outros tipos de representao? Representaes no so muito usadas =( A maioria dos recursos tm apenas uma
representao;
Como quais?
Como quais?
Web Service
Ns fazemos isso h bastante tempo; Nenhuma tcnica que usamos hoje funciona
bem quando necessrio falar com todas as mquinas de todo o mundo.
A maioria das tcnicas que usamos no tem Precisam falar apenas com pequenos grupos de
E agora?
Precisamos falar com todas mquinas sobre Precisamos de um modo de uma mquina
todas as coisas que esto em todas as mquinas; contar para a outra sobre um recurso que pode estar em uma terceira mquina.
O que?
O que?
Sua irm quer o esfrego emprestado; Voc no tem. Mas sua me tem; Voc diz pra sua irm para pegar da sua me.
URL
Se tudo o que a mquina precisa falar tiver uma
URL correspondente, temos o equivalente a um substantivo para as mquinas;
Substantivos?
Mquinas no tem um substantivo universal; Toda linguagem de programao, DB etc., tem
um jeito diferente de falar sobre substantivos.
Polimorsmo
Jeito nerd de dizer que o mesmo verbo pode ser
aplicado a diferentes substantivos.
Ahm?
Somos inteligentes.
Verbos podem ser aplicados a diferentes
substantivos;
Alguns so mais especcos; No posso dirigir uma jarra ou beber um garfo; Outros so quase sempre universais, como
HTTP sobre...
APLICAR VERBOS A SUBSTANTIVOS.
No fazem outros tipos de interao com Nos faz achar que HTTP apenas recuperar
Exemplo real
Sistema para gerenciar alunos; Em quais matrias esto matriculados, notas,
contatos de emergncia, livros usados, etc.
Existe uma URL para cada substantivo: aluno, professor, aula, livro, sala, etc. Aps uma requisio temos uma pgina web.
Se existir uma representao legvel ao computador para cada URL, seria trivial criar novas ferramentas para o sistema, pois toda informao seria absorvida de um jeito padro.
HTTP GET pra recuperar informao dos outros. Adicionaria usando um HTTP POST. Se precisar atualizar algo, HTTP PUT.
Escrevemos camadas de especicaes complexas para fazer as coisas de um jeito diferente. Trocamos a simplicidade por ferramentas e assistentes chamativos (next, next, nish).
Por que?
Por que?
Jefferson Q. Venerando
jefferson@shamanime.com http://shamanime.com @shamanime Bras Sun Research Facility http://bsrf.shamanime.com