Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Front to back API Design

Cb2527e0c321fc1eb6753c06f45da93c?s=47 Z
January 15, 2015

Front to back API Design

Video – https://www.youtube.com/watch?v=UzMDpfyB2x4

Talk about the importance client & server understanding in the prism of API Design. Presented at Y-Soft technology meetup in Prague – http://www.meetup.com/ysoft-th/events/219376581/

Cb2527e0c321fc1eb6753c06f45da93c?s=128

Z

January 15, 2015
Tweet

Transcript

  1. FRONT TO BACK API DESIGN Z – @zdne Kyle –

    @kylefuller Apiary.io
  2. API DESIGN API LIFECYCLE

  3. WHAT IS API?

  4. API is INTERFACE

  5. DISTRIBUTED SYSTEMS

  6. WEB APIs

  7. API DESIGN

  8. WEB APIs Tim Berners-Lee 1989 – Web Roy T Fielding

    2000 – REST
  9. None
  10. REST ARCHITECTURE

  11. REST ARCHITECTURE • Client–server • Stateless • Cacheable • Layered

    system • Code on Demand (optional) • Uniform Interface • Identification of resources • Manipulation through representations • Self-descriptive messages • Hypermedia as the engine of the application state
  12. REST IS NOT… • REST is not pretty URLs •

    REST is not HTTP Verbs • REST is not CRUD • REST is not JSON
  13. HOW DO YOU KNOW WHAT TO DO NEXT? On a

    web page
  14. YOU CLICK ON ONE OF THE AVAILABLE LINKS On a

    web page
  15. THE SERVER TELLS YOU WHAT LINKS ARE AVAILABLE On a

    web page
  16. THIS IS HATEOAS Hypermedia as the engine of the application

    state
  17. SERVER SHOULD PROVIDE LINKS CLIENT SHOULD RELY ON THEM

  18. IF THEY DON’T AND API CHANGES…

  19. None
  20. None
  21. HOW DO I DO DESIGN?

  22. API Blueprint apiblueprint.org

  23. None
  24. API LIFECYCLE

  25. prototype design implementation delivery & consumption feedback

  26. DEMO

  27. None
  28. THANK YOU

  29. None
  30. CREDITS • http://apiary.io • http://apiblueprint.org • http://visual.ly/api-infographic • http://www.ics.uci.edu/~fielding/pubs/dissertation/ rest_arch_style.htm

    • http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hypertext-driven • http://www.w3.org/People/Berners-Lee/Kids.html#What1