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

120305 intro-rest

on

  • 1,574 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,574
Views on SlideShare
380
Embed Views
1,194

Actions

Likes
0
Downloads
1
Comments
0

8 Embeds 1,194

http://peter-braun.org 1078
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
    • REST ist eine ArchitekturHTTP ist eine konkreteImplementierung davon
    • 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