Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RESTful Web Services
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Allisson Azevedo
November 02, 2011
Technology
4
220
RESTful Web Services
Uma visão geral sobre RESTful Web Services
Allisson Azevedo
November 02, 2011
Tweet
Share
More Decks by Allisson Azevedo
See All by Allisson Azevedo
Programação Assíncrona com Asyncio
allisson
0
120
Crawleando sites com NodeJS
allisson
0
180
Introdução a linguagem Go
allisson
0
320
Docker + Django
allisson
5
670
Construindo um micro framework web em Python
allisson
0
240
Consumindo API's OAuth{1,2} com Python
allisson
1
210
Tarefas assíncronas com django e celery
allisson
1
24k
Deploy completo de uma aplicação Django
allisson
6
530
Desenvolvimento Web com Django
allisson
0
150
Other Decks in Technology
See All in Technology
(Test) ai-meetup slide creation
oikon48
3
390
Scrumは歪む — 組織設計の原理原則
dashi
0
180
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
130
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/12 - 2026/2
oracle4engineer
PRO
0
140
決済サービスを支えるElastic Cloud - Elastic Cloudの導入と推進、決済サービスのObservability
suzukij
2
640
AIエージェント時代に備える AWS Organizations とアカウント設計
kossykinto
3
980
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
700
Go標準パッケージのI/O処理をながめる
matumoto
0
210
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
180
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
140
Tebiki Engineering Team Deck
tebiki
0
27k
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
350
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Navigating Team Friction
lara
192
16k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
120
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
140
Evolving SEO for Evolving Search Engines
ryanjones
0
150
Leo the Paperboy
mayatellez
4
1.5k
Done Done
chrislema
186
16k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
RESTful Web Services Allisson Azevedo II Encontro Comunicação Digital http://allisson.eti.br
Web Services
Web Services ➔ Comunicação entre sistemas ➔ HTTP como meio
de transporte ➔ Protocolo estável ➔ Simples ➔ Escalável ➔ Tráfego permitido
Web Services ➔ Independência ➔ Sistema operacional ➔ Linguagem de
programação ➔ Hardware
Web Services ➔ Padrões Abertos ➔ XML ➔ XML-RPC ➔
SOAP
Web Services - XML ➔ Representação eficiente para sistemas ➔
Fácil manipulação em linguagens de programação ➔ Padrão para troca de informações
Exemplo - RSS
Exemplo - RSS
Web Services - XML-RPC ➔ Criado por Dave Winer (1995)
➔ Transportado via protocolo HTTP ➔ Focado na simplicidade
XML-RPC request
XML-RPC response
Web Services - SOAP ➔ Padrão para Web Services (W3C)
➔ Transporte em vários protocolos ➔ Descrição dos serviços disponíveis (WSDL) ➔ Em desenvolvimento (1.2 W3C)
SOAP request
SOAP response
Web Services - SOAP ➔ Crítica ➔ Complexidade dos formatos
SOAP e WSDL
REST
REpresentational State Transfer
REST não é ➔ Novo envelope xml semelhante ao SOAP
➔ Toolkit/Framework ➔ Padrão ➔ Sem especificação na W3C
REST é ➔ Princípios para desenvolvimento de uma arquitetura ➔
Utiliza padrões já existentes ➔ Tese de Roy Fielding (2000)
REST ➔ Stateless ➔ Orientado a Recurso (Resource- Oriented) ➔
Interface uniforme para acesso aos recursos ➔ Representações independentes (baseadas no Content-Type)
REST - Stateless ➔ Toda requisição HTTP é completamente isolada
de outras ➔ Uma requisição precisa incluir todas as informações necessárias para uma resposta do servidor
REST - Recursos ➔ Tudo que é importante ao ponto
de ser exposto pelo sistema na web
REST - Recursos ➔ Possíveis recursos: ➔ Bookmarks no Delicious
➔ Atualizações no Twitter ➔ Scraps do Orkut ➔ Fotos no Flickr
REST - Recursos ➔ URI (Identificador Universal de Recursos) ➔
Todo recurso possui no mínimo uma URI
http://rails.lighthouseapp.com/projects/8994- ruby-on-rails
http://rails.lighthouseapp.com/projects/8994- ruby-on-rails/tickets
http://rails.lighthouseapp.com/projects/8994- ruby-on-rails/milestones
REST – Interface Uniforme ➔ Utiliza os métodos do protocolo
HTTP para manipulação de recursos (Verbos) ➔ GET ➔ POST ➔ PUT ➔ DELETE
REST – Interface Uniforme ➔ GET ➔ Utilizado para obter
uma representação do recurso
REST – Interface Uniforme ➔ POST ➔ Utilizado para criar
um novo recurso
REST – Interface Uniforme ➔ PUT ➔ Utilizado para modificar
um recurso existente
REST – Interface Uniforme ➔ DELETE ➔ Utilizado para apagar
um recurso existente
REST – Interface Uniforme ➔ Associar os verbos ao C.R.U.D
em banco de dados ➔ Create (INSERT) = POST ➔ Read (SELECT) = GET ➔ Update (UPDATE) = PUT ➔ Delete (DELETE) = DELETE
HREF POST /bookmarks/create GET /bookmarks/show/1 POST /bookmarks/update/1 POST/GET /bookmarks/delete/1 URI
POST /bookmarks GET /bookmarks/1 PUT /bookmarks/1 DELETE /bookmarks/1 Não RESTful Verbo Ação Criar (Create) Visualizar (Read) Atualizar (Update) Apagar (Delete) RESTful Verbo Ação Criar (Create) Visualizar (Read) Atualizar (Update) Apagar (Delete)
REST – Representações ➔ Não se limita ao XML ➔
A representação é livre ➔ HTML/XHTML ➔ XML ➔ JSON ➔ PDF ➔ PNG
None
None
None
REST - Classificação ➔ RESTful (High REST) ➔ Implementação em
confirmidade com a tese de Roy Fielding ➔ Utilização dos quatro verbos (POST, GET, PUT, DELETE)
REST - Classificação ➔ REST-RPC (Low REST) ➔ Utilização do
método GET para toda API
REST no mundo real
MySpace
MySpace ➔ RESTful ➔ http://developer.myspace.com/com munity/RestfulAPIs/resources.aspx
None
del.icio.us
del.icio.us ➔ REST-RPC ➔ http://del.icio.us/help/api/
None
Flickr
Flickr ➔ REST-RPC ➔ http://www.flickr.com/services/api/
None
Twitter
Twitter ➔ REST-RPC ➔ http://groups.google.com/group/twi tter-development-talk/web/api- documentation
None
Amazon Simple Storage Service
Amazon Simple Storage Service ➔ RESTful ➔ Exclusivo via web
services ➔ http://docs.amazonwebservices.co m/AmazonS3/2006-03-01/gsg/
None
Dúvidas?
Obrigado!