Hypermedia Affordance

Hypermedia Affordance

Hypermedia Affordance with BEAR.Sunday

Aad26cd7119bd8c0c2bbea107515716d?s=128

Akihito Koriyama

July 30, 2017
Tweet

Transcript

  1. Hypermedia affordance with BEAR.Sunday @koriym 2017

  2. None
  3. IUUQTFOXJLJQFEJBPSHXJLJ"⒎PSEBODF

  4. IUUQFLSJUTKQXQDPOUFOUVQMPBETDPNJDB⒎PSEBODFQEG

  5. None
  6. GET /menu

  7. None
  8. None
  9. no affordance

  10. None
  11. None
  12. rel=“order” !

  13. /order
 
 but how ?

  14. OPTIONS /order

  15. None
  16. None
  17. POST /order/?name=latte ☕

  18. None
  19. PUT /order?id=123&extra=shot

  20. None
  21. GET /order?id=123

  22. None
  23. OPTIONS /payment

  24. PUT: the payment should be idempotent

  25. IUUQTXXXJOGPRDPNKQBSUJDMFTXFCCFSSFTUXPSLqPX Resource interface for state machine URI as state "

    " "
  26. 200 GET /menu
 201 POST /order/?name=latte
 100 PUT /order/?order_id=1234&extra=shot
 200

    PUT /payment?order_id&card_num=123&expire=101018
 URIs as event source
  27. * CQS * CQRS * Discoverable * Cache * Observe

    * Message Driven Development * Micro Service * Event Sourcing * Decoupled Component REST++
  28. Hypermedia API

  29. Hypermedia Driven Development

  30. None
  31. IUUQTXXXXPSHJOUFHSBUJPOXPSLTIPQQIZQFSNFEJBPSJFOUFEEFTJHOQEG

  32. IUUQTXXXJOGPRDPNKQBSUJDMFTXFCCFSSFTUXPSLqPX

  33. None
  34. None
  35. Self-Descriptive API

  36. None
  37. CURIEs (Compact URI) IUUQTFOXJLJQFEJBPSHXJLJ$63*&

  38. None
  39. None
  40. None
  41. IUUQKTPOTDIFNBPSH

  42. backend + front-end UPEPKTPO UPEPTKTPO

  43. None
  44. ? REST API

  45. REST != CRUD over HTTP

  46. REST != Return JSON with pretty URI

  47. None
  48. IUUQTXXXJOGPRDPNOFXT$36%3&45

  49. IUUQTUXJUUFSDPNpFMEJOHTUBUVT

  50. None
  51. None
  52. Network affordance

  53. Information (+ affordance) NFOV SFMlPSEFSz

  54. hypermedia affordance SFMlPSEFSz

  55. Internet Programing

  56. = Programing Internet

  57. BEE B⒎PSEBODF