Diese Präsentation wurde erfolgreich gemeldet.

Creating 3rd Generation Web APIs with Hydra

3

Teilen

Wird geladen in …3
×
1 von 28
1 von 28

Weitere Verwandte Inhalte

Ähnliche Bücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Creating 3rd Generation Web APIs with Hydra

  1. 1. Creating 3rd Generation Web APIs with Hydra Markus Lanthaler Graz University ofTechnology
  2. 2. Level 0:The Swamp of POX Level 1: Resources Level 2: HTTPVerbs Level 3: Hypermedia Controls
  3. 3. Using Web APIs is still challenging
  4. 4. - Layered system
  5. 5. Result: tightly coupled & brittle systems
  6. 6. REST + Linked Data: a match made!?
  7. 7. Semaphobia!?
  8. 8. Resource Link Form Class Operation Hydra
  9. 9. { "id": "cso29ax", "title": "WWW2013", "description": "Presentation for dev track", "is_open": true, "created_at": "2012-11-26T04:49:44Z" } http://example.com/issues/cso29ax http://example.com/issue/{id}/comments/
  10. 10. { "id": "cso29ax", "title": "WWW2013", "description": "Presentation for dev track", "is_open": true, "created_at": "2012-11-26T04:49:44Z", "comments": "/issues/cso29ax/comments/" } http://example.com/issues/cso29ax
  11. 11. { "@context": "/ctx/context.jsonld", "id": "cso29ax", "title": "WWW2013", "description": "Presentation for dev track", "is_open": true, "created_at": "2012-11-26T04:49:44Z", "comments": "/issues/cso29ax/comments/" } http://example.com/issues/cso29ax
  12. 12. { "@context": { ... "is_open": "http://example.com/vocab#isOpen", "comments": { "@id": "http://example.com/vocab#comments", "@type": "@id" } } } http://example.com/ctx/context.jsonld
  13. 13. { "@context": "/ctx/context.jsonld", "id": "cso29ax", "title": "WWW2013", "description": "Presentation for dev track", "is_open": true, "created_at": "2012-11-26T04:49:44Z", "comments": "/issues/cso29ax/comments/" } http://example.com/issues/cso29ax { "@id": "#comments", "@type": "hydra:Link", ... }
  14. 14. { "@id": "#comments", "@type": "hydra:Link", "supportedOperations": [ { "@id": "#create-comment", "@type": "hydra:CreateResourceOperation", "label": "Creates a new comment", "method": "POST", "expects": "#Comment", "returns": "#Comment" } ] }
  15. 15. { "@id": "#Comment", "@type": "hydra:Class", "supportedProperties": [ { "property": "#text", "required": true, "readonly": false, "writeonly": false } ] }
  16. 16. Hydra Console
  17. 17. © 2013, Markus Lanthaler. Some Rights Reserved. http://creativecommons.org/licenses/by-nc-sa/3.0/ Thank You
  18. 18. Questions? Markus Lanthaler http://www.markus-lanthaler.com @MarkusLanthaler mail@markus-lanthaler.com
  19. 19. Image Credits (1) http://www.flickr.com/photos/joeshlabotnik/3707230247/ (2) http://onlyhdwallpapers.com/high-definition-wallpaper/903850/ (4) http://www.flickr.com/photos/kaptainkobold/3203311346/ (6) http://www.flickr.com/photos/joyoflife/1570126182/ (8) http://en.wikipedia.org/wiki/The_Scream (9) http://www.vonwong.com/ (with permission)

×