Successfully reported this slideshow.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Distributed Affordance

  1. 1. Distributed Affordance An Open-World Assumption for Hypermedia Ruben Verborgh, Michael Hausenblas, Thomas Steiner, Erik Mannens, Rik Van de Walle The three princes of Serendip
  2. 2. RESTarchitectural style different? What makes the
  3. 3. HATEOAS Hypermedia As The Engine Of Application State
  4. 4. Representations contain the links to next steps. How can the server know what the client’s next steps are?
  5. 5. Distributed Affordance An Open-World Assumption for Hypermedia Problem statement Concept and Architecture Demo
  6. 6. Distributed Affordance An Open-World Assumption for Hypermedia Problem statement Concept and Architecture Demo
  7. 7. Hypertext [is] the simultaneous presentation of information and controls such that the information becomes the affordance through which the user (or automaton) obtains choices and selects actions. — Roy T. Fielding
  8. 8. Hypertext [is] the simultaneous presentation of information and controls such that the information becomes the affordance through which the user (or automaton) obtains choices and selects actions. — Roy T. Fielding
  9. 9. Hypertext [is] the simultaneous presentation of information and controls such that the information becomes the affordance through which the user (or automaton) obtains choices and selects actions. — Roy T. Fielding
  10. 10. Hypertext [is] the simultaneous presentation of information and controls such that the information becomes the affordance through which the user (or automaton) obtains choices and selects actions. — Roy T. Fielding
  11. 11. A handle affords opening a door. The handle is an affordance through which you can open the door.
  12. 12. …the information becomes the affordance…
  13. 13. Hypertext [is] the simultaneous presentation of information and controls such that the information becomes the affordance through which the user (or automaton) obtains choices and selects actions. — Roy T. Fielding
  14. 14. Hypertext [is] the simultaneous presentation of information and controls such that the information becomes the affordance through which the user (or automaton) obtains choices and selects actions. — Roy T. Fielding
  15. 15. SC SC RPC REST 1 2 3 SC SC SC SC
  16. 16. SC REST SC SC Loose conversational coupling Enabling clients to discover at runtime how to correctly interact with a service is a loosely coupled design practice — Cesare Pautasso & Erik Wilde
  17. 17. SC REST SC SC The server has to provide the affordance towards next steps the client can take. It is impossible for the server to know all steps any client might want to take. Tight affordance coupling
  18. 18. SC SC SC SC closed world open world open world “today’s weather in Rio” “tomorrow’s weather in Rio” “plane tickets to Rio” “hotels in Rio” Weather API
  19. 19. Distributed Affordance An Open-World Assumption for Hypermedia Problem statement Concept and Architecture Demo
  20. 20. C P S user publisher provider distributed affordance
  21. 21. S Publishers offer representations that contain semantic annotations. HTML & Microdata
  22. 22. Providers offer semantic descriptions of the actions they support. RESTdescP
  23. 23. Based on the semantic annotations, matching service descriptions are instantiated. P P P HTML & Microdata + =
  24. 24. Based on the semantic annotations, matching service descriptions are instantiated. + =Rio Rio Rio
  25. 25. Based on the semantic annotations, matching service descriptions are instantiated. Rio Rio
  26. 26. * 1 * 1 Representation RepresentationEnricher «use» ResourceExtractor «use» Resource «instantiate» APICatalogAPIDescription «instantiate» PreferenceManager ActionGeneratorAction «instantiate» «use» Figure 1: The resources inside a representation are extracted 1 and combined with api d based on the user’s preferences 3 , into actions 4 , for which affordances are added to the repr 4. ARCHITECTURE 4.1 Components the role of the PreferenceManager can be the APICatalog, which then only includes that match the user’s preferences.
  27. 27. Distributed Affordance An Open-World Assumption for Hypermedia Problem statement Concept and Architecture Demo
  28. 28. <div id="book" itemscope itemtype="http://schema.org/Book"> <span itemprop="name">The Catcher in the Rye</span> - by <a itemprop="author" href="#salinger">J.D. Salinger</a> <div itemprop="aggregateRating" itemscope> <span itemprop="ratingValue">4</span> stars - <span itemprop="reviewCount">3077</span> reviews </div> <div class="affordances" data-for="book"> <em>the browser will insert affordances here</em> </div> </div>
  29. 29. centralized affordance distributed affordance publisher-driven mostly within application user-driven on the entire Web tight affordance coupling loose affordance coupling
  30. 30. Hypermedia as the engine of application state only works to the extent by which the publisher can predict what affordance the client needs. Distributed affordance uses semantic technologies to generate the needed affordance at runtime.
  31. 31. Distributed Affordance An Open-World Assumption for Hypermedia @RubenVerborgh distributedaffordance.org

×