120305 intro-rest
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

120305 intro-rest

on

  • 1,637 views

Some brief intro to REST as paradigm for building Web services (in German)

Some brief intro to REST as paradigm for building Web services (in German)

Statistics

Views

Total Views
1,637
Views on SlideShare
400
Embed Views
1,237

Actions

Likes
0
Downloads
1
Comments
0

8 Embeds 1,237

http://peter-braun.org 1121
http://www.mobile-agents.org 89
http://mobile-agents.org 9
http://abtasty.com 9
http://translate.googleusercontent.com 3
http://apilosophy.com 2
http://www.apilosophy.com 2
http://feeds.feedburner.com 2
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

120305 intro-rest Presentation Transcript

  • 1. REST-konformeSchnittstellen für Web Services
  • 2. Remote Procedure Call CORBA Remote Method Invocation XML-RPC SOAP Thrift
  • 3. REST
  • 4. REST ist eine ArchitekturHTTP ist eine konkreteImplementierung davon
  • 5. Ressourcenhttp://www.mybank.com/accounts/http://www.mybank.com/accounts/4582http://www.mybank.com/accounts/4582/statements/http://www.mybank.com/accounts/4582/statements/latesthttp://www.mybank.com/accounts/4582/transfershttp://www.mybank.com/accounts/4582/transfers/12http://www.mybank.com/accounts/4582/transfers/12?from=...&to=...http://www.mybank.com/accounts/4582/transfers/12/recipient
  • 6. Repräsentationen{ „account“ : { „id“ : 4582, „firstName“ : „Singh“, „lastName“ : „Darshan“, „balance“ : 25382.20, „openDate“ : „2002-02-20“ }}<?xml version=“1.0“?><account> <id>4582</id> <firstName>Singh</firstName> <lastName>Darshan</lastName> <balance>25382.20</balance> <openDate>2002-02-20</openDate></account>
  • 7. 4 Operationen GET POST PUT DELETE
  • 8. 4 Operationensafe? GET POST PUT DELETE
  • 9. 4 Operationensafe? idempotent? GET POST PUT DELETE
  • 10. Hypermedia Person Transfer PersonAccount Statement Balance
  • 11. Zustandslose Kommunikation Keine Sessions Keine CookiesJede Anfrage enthält alle Informationen, die der Server für die Verarbeitung benötigt.
  • 12. REST ist nurein Paradigma
  • 13. Häufige „Fehler“
  • 14. RPC Stilhttp://www.mybank.com/accounts/4582?action=transfer&dest=9811&amount=100
  • 15. POST Tunnelinghttp://www.mybank.com/accounts?action=close&id=4582
  • 16. Vermischung Ressource und RepräsentationGET /accounts/4982.json?apikey=912864GET /accounts/4982Accept: application/jsonX-apikey: 912864
  • 17. Keine Links{ „account“ : { „id“ : 4582, „firstName“ : „Singh“, „lastName“ : „Darshan“, „balance“ : 25382.20, „openDate“ : „2002-02-20“ }}
  • 18. Nur interne IDs{ „account“ : { „id“ : 4582, „owner“ : 56120, „balance“ : 25382.20, „openDate“ : „2002-02-20“ }}
  • 19. Keine Links zu Sub-Ressourcen{ „account“ : { „id“ : 4582, „owner“ : „http//www.mybank.com/clients/561202“, „balance“ : 25382.20, „openDate“ : „2002-02-20“ }}
  • 20. Korrekt:{ „account“ : { „id“ : 4582, „owner“ : „http//www.mybank.com/clients/561202“, „statements“ : „http://www.mybank.com/accounts/ 4582/statements“, „transfers“ : „http://www.mybank.com/accounts/ 4582/transfers“, „balance“ : 25382.20, „openDate“ : „2002-02-20“ }}
  • 21. HTTP Status CodesGET /accounts/4982HTTP/1.1 200 OKContent-Type: application/json{ „error: { „code“ : 491, „message“ : „Not authorized“ } }
  • 22. Zusammenfassung• Wichtiges Paradigma für moderne APIs• REST ist offen für Interpretationen• Entwicklungsframeworks helfen nur wenig