SlideShare a Scribd company logo
1 of 24
Download to read offline
RESTful Rabbits
The North
            tm
Representational State Transfer (REST) is a style of
   software architecture for distributed hypermedia
        systems such as the World Wide Web

         http://roy.gbiv.com/pubs/dissertation/top.htm




REST
GET, POST, PUT, DELETE, TRACE,
        OPTIONS, CONNECT, HEAD

             http://tools.ietf.org/html/rfc2616




HTTP Verbs
Resource Orientated Design
Nouns are resources you act upon

       Verbs are what you do to those resources

   Generally this means GET, POST, PUT and DELETE




Nouns and Verbs
No matter what web server you have, and no matter
   what web client I have, I know if I see a URL of your,
    that I can retrieve the associated document using
    HTTP GET, with no advance co-ordination needed
       other than agreement on the relevant specs

   http://rest.blueoxen.net/cgi-bin/wiki.pl?AnotherRestDescription




Cool Stuff
Flickr Bashing
Flickr API
GET     /photos/garethr
 GET     /people/garethr/contacts
 PUT     /photos/garethr
 PUT     /people/garethr/contacts/
 PUT     /people
 GET     /photos/garethr/tags


Flickr RESTful API?
201 Created
       	





2xx Success
3xx Redirection
400   Bad Request
        401   Unathorized
        403   Forbidden
        404   Not Found
        410   Gone
        412   Precondition Failed


4xx Client Error
501 Not Implemented
        503 Service Temporarily
            Unavailable




5xx Server Error
Rabbits?
Rabbits!
posright Position of the right ear between 0 and 16
  posleft  Position of the left ear between 0 and 16
  ears=ok Send the position of the ears

            http://api.nabaztag.com/vl/FR/api.jsp




Nabaztag API
GET    /ears/left
          GET    /ears/right
          PUT    /ears/left
          PUT    /ears/right
          POST   /mouth
          GET    /name


Nabaztag RESTful API
A Rabbit called Cambridge
Microformats and REST sitting in a tree
+
Microformats for Write APIs
Read Books
http://flickr.com/photos/lkfdesign/365335459/
        http://flickr.com/photos/sjaek/275710273/
   http://flickr.com/photos/lost-moments/444960411/
     http://flickr.com/photos/listercat/1347862097/
    http://flickr.com/photos/misspepo/1338884925/
               http://www.sourcebottle.net/




Thanks To...
Any Questions?

More Related Content

Similar to RESTful Rabbits

Understanding APIs.pptx introduction chk
Understanding APIs.pptx introduction chkUnderstanding APIs.pptx introduction chk
Understanding APIs.pptx introduction chk
nooreen nayyar syeda
 
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Nguyen Duc Phu
 
Building Semantic Web Based Applications with Watson
Building Semantic Web Based Applications with WatsonBuilding Semantic Web Based Applications with Watson
Building Semantic Web Based Applications with Watson
Mathieu d'Aquin
 
Semantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientistsSemantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientists
Emanuele Della Valle
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era
.toster
 

Similar to RESTful Rabbits (20)

REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
 
The Semantic Web An Introduction
The Semantic Web An IntroductionThe Semantic Web An Introduction
The Semantic Web An Introduction
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFa
 
How RDFa works
How RDFa worksHow RDFa works
How RDFa works
 
Introduction To REST
Introduction To RESTIntroduction To REST
Introduction To REST
 
Helping Things to REST
Helping Things to RESTHelping Things to REST
Helping Things to REST
 
Modified REST Presentation
Modified REST PresentationModified REST Presentation
Modified REST Presentation
 
Exploiter le Web Semantic, le comprendre et y contribuer
Exploiter le Web Semantic, le comprendre et y contribuerExploiter le Web Semantic, le comprendre et y contribuer
Exploiter le Web Semantic, le comprendre et y contribuer
 
Understanding APIs.pptx
Understanding APIs.pptxUnderstanding APIs.pptx
Understanding APIs.pptx
 
Understanding APIs.pptx introduction chk
Understanding APIs.pptx introduction chkUnderstanding APIs.pptx introduction chk
Understanding APIs.pptx introduction chk
 
SFDC REST API
SFDC REST APISFDC REST API
SFDC REST API
 
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
 
Bio2RDF@BH2010
Bio2RDF@BH2010Bio2RDF@BH2010
Bio2RDF@BH2010
 
Rest API
Rest APIRest API
Rest API
 
Building Rich Applications with Appcelerator
Building Rich Applications with AppceleratorBuilding Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
 
Restful design at work v2.0
Restful design at work v2.0Restful design at work v2.0
Restful design at work v2.0
 
Building Semantic Web Based Applications with Watson
Building Semantic Web Based Applications with WatsonBuilding Semantic Web Based Applications with Watson
Building Semantic Web Based Applications with Watson
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 
Semantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientistsSemantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientists
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era
 

More from Gareth Rushgrove

More from Gareth Rushgrove (20)

Communications Between Tribes
Communications Between TribesCommunications Between Tribes
Communications Between Tribes
 
The Challenges of Container Configuration
The Challenges of Container ConfigurationThe Challenges of Container Configuration
The Challenges of Container Configuration
 
Puppet and Openshift
Puppet and OpenshiftPuppet and Openshift
Puppet and Openshift
 
Two Sides of Google Infrastructure for Everyone Else
Two Sides of Google Infrastructure for Everyone ElseTwo Sides of Google Infrastructure for Everyone Else
Two Sides of Google Infrastructure for Everyone Else
 
Thinking Evil Thoughts
Thinking Evil ThoughtsThinking Evil Thoughts
Thinking Evil Thoughts
 
Puppet Data Mining
Puppet Data MiningPuppet Data Mining
Puppet Data Mining
 
Web operations
Web operationsWeb operations
Web operations
 
Learnings from govuk
Learnings from govukLearnings from govuk
Learnings from govuk
 
Config managament for development environments ii
Config managament for development environments iiConfig managament for development environments ii
Config managament for development environments ii
 
Varnish Caching
Varnish CachingVarnish Caching
Varnish Caching
 
Vagrant and Configuration Management
Vagrant and Configuration ManagementVagrant and Configuration Management
Vagrant and Configuration Management
 
Metrics with Ganglia
Metrics with GangliaMetrics with Ganglia
Metrics with Ganglia
 
You're Going To Need A Bigger Toolbox
You're Going To Need A Bigger ToolboxYou're Going To Need A Bigger Toolbox
You're Going To Need A Bigger Toolbox
 
Devops
DevopsDevops
Devops
 
Automating web site deployment
Automating web site deploymentAutomating web site deployment
Automating web site deployment
 
Message Queues for Web Applications
Message Queues for Web ApplicationsMessage Queues for Web Applications
Message Queues for Web Applications
 
Beyond basic web development
Beyond basic web developmentBeyond basic web development
Beyond basic web development
 
Self Education for Web Professionals
Self Education for Web ProfessionalsSelf Education for Web Professionals
Self Education for Web Professionals
 
What to Build with Google App Engine
What to Build with Google App EngineWhat to Build with Google App Engine
What to Build with Google App Engine
 
App Engine for Python Developers
App Engine for Python DevelopersApp Engine for Python Developers
App Engine for Python Developers
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

RESTful Rabbits

  • 3. Representational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web http://roy.gbiv.com/pubs/dissertation/top.htm REST
  • 4. GET, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, HEAD http://tools.ietf.org/html/rfc2616 HTTP Verbs
  • 6. Nouns are resources you act upon Verbs are what you do to those resources Generally this means GET, POST, PUT and DELETE Nouns and Verbs
  • 7. No matter what web server you have, and no matter what web client I have, I know if I see a URL of your, that I can retrieve the associated document using HTTP GET, with no advance co-ordination needed other than agreement on the relevant specs http://rest.blueoxen.net/cgi-bin/wiki.pl?AnotherRestDescription Cool Stuff
  • 10. GET /photos/garethr GET /people/garethr/contacts PUT /photos/garethr PUT /people/garethr/contacts/ PUT /people GET /photos/garethr/tags Flickr RESTful API?
  • 11. 201 Created 2xx Success
  • 13. 400 Bad Request 401 Unathorized 403 Forbidden 404 Not Found 410 Gone 412 Precondition Failed 4xx Client Error
  • 14. 501 Not Implemented 503 Service Temporarily Unavailable 5xx Server Error
  • 17. posright Position of the right ear between 0 and 16 posleft Position of the left ear between 0 and 16 ears=ok Send the position of the ears http://api.nabaztag.com/vl/FR/api.jsp Nabaztag API
  • 18. GET /ears/left GET /ears/right PUT /ears/left PUT /ears/right POST /mouth GET /name Nabaztag RESTful API
  • 19. A Rabbit called Cambridge
  • 20. Microformats and REST sitting in a tree
  • 23. http://flickr.com/photos/lkfdesign/365335459/ http://flickr.com/photos/sjaek/275710273/ http://flickr.com/photos/lost-moments/444960411/ http://flickr.com/photos/listercat/1347862097/ http://flickr.com/photos/misspepo/1338884925/ http://www.sourcebottle.net/ Thanks To...