120305 intro-rest

  • 1,597 views
Uploaded on

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)

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,597
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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