DistributedAffordanceAn Open-World Assumptionfor HypermediaRuben Verborgh, Michael Hausenblas,Thomas Steiner, Erik Mannens,...
RESTarchitectural styledifferent?What makes the
HATEOASHypermedia As The EngineOf Application State
Representations containthe links to next steps.How can the server knowwhat the client’s next steps are?
Distributed AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
Distributed AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethro...
Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethro...
Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethro...
Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethro...
A handle affords opening a door.The handle is an affordancethrough which you can open the door.
…the information becomes the affordance…
Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethro...
Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethro...
SC SCRPC REST123SCSCSCSC
SCRESTSCSCLoose conversational couplingEnabling clients to discoverat runtime how to correctlyinteract with a service isa ...
SCRESTSCSCThe server has to providethe affordance towardsnext steps the client can take.It is impossiblefor the server to k...
SCSC SC SCclosed world open world open world“today’s weather in Rio”“tomorrow’s weather in Rio” “plane tickets to Rio” “ho...
Distributed AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
CPSuserpublisherproviderdistributedaffordance
SPublishers offer representationsthat contain semantic annotations.HTML&Microdata
Providers offer semantic descriptionsof the actions they support.RESTdescP
Based on the semantic annotations,matching service descriptions are instantiated.PPPHTML&Microdata+ =
Based on the semantic annotations,matching service descriptions are instantiated.+ =RioRioRio
Based on the semantic annotations,matching service descriptions are instantiated.RioRio
* 1*1Representation RepresentationEnricher«use»ResourceExtractor«use»Resource«instantiate»APICatalogAPIDescription«instant...
Distributed AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
<div id="book" itemscope itemtype="http://schema.org/Book"><span itemprop="name">The Catcher in the Rye</span> -by <a item...
centralized affordancedistributed affordancepublisher-drivenmostly within applicationuser-drivenon the entire Webtightafforda...
Hypermedia as the engine of application stateonly works to the extent by which the publishercan predict what affordance the...
DistributedAffordanceAn Open-World Assumptionfor Hypermedia@RubenVerborghdistributedaffordance.org
Distributed Affordance
Distributed Affordance
Distributed Affordance
Distributed Affordance
Distributed Affordance
Distributed Affordance
Upcoming SlideShare
Loading in...5
×

Distributed Affordance

1,686

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,686
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Distributed Affordance

  1. 1. DistributedAffordanceAn Open-World Assumptionfor HypermediaRuben Verborgh, Michael Hausenblas,Thomas Steiner, Erik Mannens,Rik Van de WalleThe three princes of Serendip
  2. 2. RESTarchitectural styledifferent?What makes the
  3. 3. HATEOASHypermedia As The EngineOf Application State
  4. 4. Representations containthe links to next steps.How can the server knowwhat the client’s next steps are?
  5. 5. Distributed AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
  6. 6. Distributed AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
  7. 7. Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethrough which the user (or automaton)obtains choices and selects actions.— Roy T. Fielding
  8. 8. Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethrough which the user (or automaton)obtains choices and selects actions.— Roy T. Fielding
  9. 9. Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethrough which the user (or automaton)obtains choices and selects actions.— Roy T. Fielding
  10. 10. Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethrough 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 affordancethrough which you can open the door.
  12. 12. …the information becomes the affordance…
  13. 13. Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethrough which the user (or automaton)obtains choices and selects actions.— Roy T. Fielding
  14. 14. Hypertext [is] the simultaneous presentationof information and controls such thatthe information becomes the affordancethrough which the user (or automaton)obtains choices and selects actions.— Roy T. Fielding
  15. 15. SC SCRPC REST123SCSCSCSC
  16. 16. SCRESTSCSCLoose conversational couplingEnabling clients to discoverat runtime how to correctlyinteract with a service isa loosely coupled design practice— Cesare Pautasso & Erik Wilde
  17. 17. SCRESTSCSCThe server has to providethe affordance towardsnext steps the client can take.It is impossiblefor the server to know all stepsany client might want to take.Tight affordance coupling
  18. 18. SCSC SC SCclosed 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 AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
  20. 20. CPSuserpublisherproviderdistributedaffordance
  21. 21. SPublishers offer representationsthat contain semantic annotations.HTML&Microdata
  22. 22. Providers offer semantic descriptionsof the actions they support.RESTdescP
  23. 23. Based on the semantic annotations,matching service descriptions are instantiated.PPPHTML&Microdata+ =
  24. 24. Based on the semantic annotations,matching service descriptions are instantiated.+ =RioRioRio
  25. 25. Based on the semantic annotations,matching service descriptions are instantiated.RioRio
  26. 26. * 1*1Representation RepresentationEnricher«use»ResourceExtractor«use»Resource«instantiate»APICatalogAPIDescription«instantiate»PreferenceManagerActionGeneratorAction«instantiate»«use»Figure 1: The resources inside a representation are extracted 1 and combined with api dbased on the user’s preferences 3 , into actions 4 , for which affordances are added to the repr4. ARCHITECTURE4.1 Componentsthe role of the PreferenceManager can bethe APICatalog, which then only includesthat match the user’s preferences.
  27. 27. Distributed AffordanceAn Open-World Assumptionfor HypermediaProblem statementConcept and ArchitectureDemo
  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 affordancedistributed affordancepublisher-drivenmostly within applicationuser-drivenon the entire Webtightaffordance couplinglooseaffordance coupling
  30. 30. Hypermedia as the engine of application stateonly works to the extent by which the publishercan predict what affordance the client needs.Distributed affordance uses semantic technologiesto generate the needed affordance at runtime.
  31. 31. DistributedAffordanceAn Open-World Assumptionfor Hypermedia@RubenVerborghdistributedaffordance.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×