Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Creating 3rd Generation Web APIs with Hydra

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 28 Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (20)

Publicité

Similaire à Creating 3rd Generation Web APIs with Hydra (20)

Plus par Markus Lanthaler (12)

Publicité

Plus récents (20)

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)

×