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

120305 intro-rest

on

  • 1,617 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,617
Views on SlideShare
392
Embed Views
1,225

Actions

Likes
0
Downloads
1
Comments
0

8 Embeds 1,225

http://peter-braun.org 1109
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

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 120305 intro-rest Presentation Transcript

  • REST-konformeSchnittstellen für Web Services
  • Remote Procedure Call CORBA Remote Method Invocation XML-RPC SOAP Thrift
  • REST View slide
  • REST ist eine ArchitekturHTTP ist eine konkreteImplementierung davon View slide
  • 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
  • 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>
  • 4 Operationen GET POST PUT DELETE
  • 4 Operationensafe? GET POST PUT DELETE
  • 4 Operationensafe? idempotent? GET POST PUT DELETE
  • Hypermedia Person Transfer PersonAccount Statement Balance
  • Zustandslose Kommunikation Keine Sessions Keine CookiesJede Anfrage enthält alle Informationen, die der Server für die Verarbeitung benötigt.
  • REST ist nurein Paradigma
  • Häufige „Fehler“
  • RPC Stilhttp://www.mybank.com/accounts/4582?action=transfer&dest=9811&amount=100
  • POST Tunnelinghttp://www.mybank.com/accounts?action=close&id=4582
  • Vermischung Ressource und RepräsentationGET /accounts/4982.json?apikey=912864GET /accounts/4982Accept: application/jsonX-apikey: 912864
  • Keine Links{ „account“ : { „id“ : 4582, „firstName“ : „Singh“, „lastName“ : „Darshan“, „balance“ : 25382.20, „openDate“ : „2002-02-20“ }}
  • Nur interne IDs{ „account“ : { „id“ : 4582, „owner“ : 56120, „balance“ : 25382.20, „openDate“ : „2002-02-20“ }}
  • Keine Links zu Sub-Ressourcen{ „account“ : { „id“ : 4582, „owner“ : „http//www.mybank.com/clients/561202“, „balance“ : 25382.20, „openDate“ : „2002-02-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“ }}
  • HTTP Status CodesGET /accounts/4982HTTP/1.1 200 OKContent-Type: application/json{ „error: { „code“ : 491, „message“ : „Not authorized“ } }
  • Zusammenfassung• Wichtiges Paradigma für moderne APIs• REST ist offen für Interpretationen• Entwicklungsframeworks helfen nur wenig