API 101 Workshop from APIStrat Conference

702 views

Published on

This workshop was designed to help people understand what APIs are in the current world, how to plan and build them, and how to avoid common pitfalls.

For more information on this topic see http://apicodex.3scale.net/content/API101

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

No Downloads
Views
Total views
702
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

API 101 Workshop from APIStrat Conference

  1. 1. API 101 WHAT ARE APIS, AND HOW CAN I USE THEM TO TAKE OVER THE WORLD?
  2. 2. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 TALK OVERVIEW • Intros and Getting Started • Dive into APIs • Business and Technical Cases • REST Deconstructed • API and Developer Success
  3. 3. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 INTROS AND GETTING STARTED • Who are we? • Who are you? • Quick API definition • API Example • Workshop Participation
  4. 4. WHO IS KIRSTEN? API NINJA (DEVELOPER EVANGELIST) PRINCESS POLYMATH Intros and Getting Started ->
  5. 5. WHO IS KEITH? DEVELOPER EVANGELIST TROUBLEMAKER Intros and Getting Started ->
  6. 6. http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101 WHO ARE YOU? Developers Designers Marketing Management Intros and Getting Started ->
  7. 7. http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101 ELEVATOR PITCH What is an API? A predictable way to communicate with a computer system Intros and Getting Started ->
  8. 8. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 IT’S A WORKSHOP! We’re here to learn This is a safe space There are no stupid questions Someone else wants to ask too Intros and Getting Started ->
  9. 9. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 ASKING QUESTIONS Wave your hands around! Tweet with #api101 and #apistrat ... or @synedra and @caseysoftware Intros and Getting Started ->
  10. 10. http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101 SWITCHBOARDS AND ICED TEA Intros and Getting Started ->
  11. 11. http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101 QUICK API EXAMPLE Intros and Getting Started ->
  12. 12. TWITTER -> WORDPRESS Intros and Getting Started ->
  13. 13. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 HOW DOES THAT WORK? Wordpress Plugin Twitter API Wordpress Uses Authentication Searches API for #api101 Formats response Fills in sidebar Intros and Getting Started ->
  14. 14. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 DIVE INTO APIS • Quick history of APIs • What do current APIs make possible?
  15. 15. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 VERY BRIEF HISTORY • Computer -> Computer • Databases • Backups • Client -> Server • Email • Content Management Systems • Web Client -> API Server Dive into APIs ->
  16. 16. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 WHAT CAN APIS DO? Dive into APIs ->
  17. 17. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 QUICK BREAK! • Don’t forget to tweet or comment your questions or comments! • Audience questions? • Aaaaannnnndddd.... over to Keith!
  18. 18. http://www.princesspolymath.com Tweet thoughts to:#apistrat #api101 So you want an API? D Keith Casey Jr Platform Guy Austin, TX Op3nvoice
  19. 19. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 Talk Overview • Intros & Getting Started • Dive into APIs • Business/Technical Cases • REST Deconstructed • API & Developer Success
  20. 20. Business Cases
  21. 21. Mobile/Market Penetration
  22. 22. Drive Usage
  23. 23. Defensive Strategy
  24. 24. Partner Connectivity
  25. 25. Technical Cases
  26. 26. Abstraction of Complexity
  27. 27. Simplifying Interfaces
  28. 28. Metered Usage
  29. 29. All of the Above
  30. 30. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 Platform as a Strategy Making Stuff: How can we build more stuff? Examples: manufacturing, NYT/blogging networks Optimizing Stuff: How can we better distribute the stuff? Examples: Walmart, search engines/RSS readers Redefine Stuff: How can we redefine ‘stuff’ & find new ways to solve the problem? Examples: Ebay/Amazon Prime, Twitter Source: http://platformed.info/platform-thinking/
  31. 31. Architectural Considerations
  32. 32. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 What you can do: Affordances “An affordance is a quality of an object, or an environment, which allows a user to perform an action.” Source: http://en.wikipedia.org/wiki/Affordance WRT Hypermedia: http://amundsen.com/blog/archives/1109
  33. 33. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 How you can do it: Hypermedia
  34. 34. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 What it looks like: Schema “An outline or model; organized pattern of thought or behavior” Source: http://en.wikipedia.org/wiki/Schema_(psychology) WRT Hypermedia: http://json-schema.org
  35. 35. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 Who can do it: Authentication & Authorization Authentication - Confirming who are you Authorization - Granting access to perform certain actions http://en.wikipedia.org/wiki/Authentication http://en.wikipedia.org/wiki/Authorization
  36. 36. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 Talk Overview • Intros & Getting Started • Dive into APIs • Business/Technical Cases • REST Deconstructed • API & Developer Success
  37. 37. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 TheAPIDesignBook.com
  38. 38. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 TALK OVERVIEW • Intros and Getting Started • Dive into APIs • Business Cases • REST Deconstructed • API and Developer Success
  39. 39. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 REST DECONSTRUCTED • HTTP • Structure • Verbs • REST • Structure • Verbs • Response Formats • JSON • XML
  40. 40. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 CONVERSATIONS • Unique names for things Iced Tea • Create, Read, Update and Delete (CRUD) Order, Get order back, Change order, Cancel order • Substitutions and changes Unsweetened, Extra Ice • Context - For here or to go? REST Deconstructed ->
  41. 41. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 HTTP • HyperText Transfer Protocol • Main internet protocol • Browser->web server • Technically - chatty, inefficient... simple REST Deconstructed ->
  42. 42. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 HTTP MESSAGES • Simple resource address - URL (name) • Request -> Response • Context in headers • Substitutions: added to name REST Deconstructed -> HTTP
  43. 43. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 REST STRUCTURE • URL -> Name • Context in headers • Substitutions and changes REST Deconstructed -> HTTP
  44. 44. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 HTTP VERBS • GET • POST • PUT • DELETE • ... and a few others REST Deconstructed -> HTTP
  45. 45. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 REST ACTIONS REST Deconstructed -> HTTP • GET - Read back order • POST - Place order • PUT - Change order • DELETE - Cancel order • ... and a few others
  46. 46. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 RESPONSE FORMATS JSON { “My thing” : “Awesome sauce” } • Smaller / More efficient • More human readable • Simpler to use in many programming languages • More natural for web developers XML <stuff> <my_thing>Awesome sauce</my_thing> </stuff> • More verbose • Less human readable • Good integration with .NET • Supports better meta- information with attributes REST Deconstructed -> Formats
  47. 47. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 TALK OVERVIEW • Intros and Getting Started • Dive into APIs • Business Cases • REST Deconstructed • API and Developer Success
  48. 48. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 API AND DEVELOPER SUCCESS • API Design • Marketing your API • Supporting your Developers
  49. 49. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 API and Developer Success -> API DESIGN • User Experience - What do you want people to do with your API? • System constraints - How do you want them to do it? • API Design and Development Thursday, 11:20 • Hypermedia APIs Thursday, 1:50
  50. 50. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 API and Developer Success -> MARKETING YOUR API • Clearly communicate API goals and usage • Lower barrier to entry for developers • API Marketing & Developer Communities Friday, 11:45
  51. 51. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 API and Developer Success -> DEVELOPER SUPPORT • Clear, consistent communication • Fantastic documentation, tutorials, libraries • Forums, participation • Provide excellent exploration and development tools • In short, respect your developers’ time and reduce confusion
  52. 52. http://apicodex.3scale.net Tweet thoughts to:#apistrat #api101 QUESTIONS? • Final check for questions on twitter/comments • Audience questions? • http://apicodex.3scale.net/content/API101

×