Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Creating 3rd Generation Web APIs with Hydra


Published on

Presentation of the paper "Creating 3rd Generation Web APIs with Hydra" at the 22nd Internation World Wide Web Conference (WWW2013) in Rio de Janeiro, Brazil

Published in: Technology
  • Be the first to comment

Creating 3rd Generation Web APIs with Hydra

  1. 1. Creating 3rd GenerationWeb APIs with HydraMarkus LanthalerGraz University ofTechnology
  2. 2. Level 0:The Swamp of POXLevel 1: ResourcesLevel 2: HTTPVerbsLevel 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. ResourceLinkFormClassOperationHydra
  9. 9. {"id": "cso29ax","title": "WWW2013","description": "Presentation for dev track","is_open": true,"created_at": "2012-11-26T04:49:44Z"}{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/"}
  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/"}
  12. 12. {"@context": {..."is_open": "","comments": {"@id": "","@type": "@id"}}}
  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/"}{"@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. You
  18. 18. Questions?Markus Lanthaler
  19. 19. Image Credits(1) (with permission)