• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
120305 intro-rest
 

120305 intro-rest

on

  • 1,553 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,553
Views on SlideShare
372
Embed Views
1,181

Actions

Likes
0
Downloads
1
Comments
0

8 Embeds 1,181

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