Creating Successful APIs in the Enterprise

1,341 views
1,241 views

Published on

What does it take to create create APIs at scale in the enterprise. This pr

Published in: Technology

Creating Successful APIs in the Enterprise

  1. 1. Creating Successful APIs in the Enterprise Ross Mason Founder, MuleSoft @rossmason #GWOcon
  2. 2. About me • Created the Mule project • Founded MuleSoft • Background in distributed systems • I want to connect everything @rossmason #GWOcon
  3. 3. All contents Copyright © 2013, MuleSoft Inc. Why would an enterprise middleware company buy ProgrammableWeb.com? + = ? @rossmason #GWOcon
  4. 4. All contents Copyright © 2013, MuleSoft Inc. Web APIs are the Playbook for the enterprise @rossmason #GWOcon
  5. 5. All contents Copyright © 2013, MuleSoft Inc. …or 13,000 ideas to steal adapt @rossmason #GWOcon
  6. 6. All contents Copyright © 2013, MuleSoft Inc. #MuleSoftWebinar RESTful APIs @rossmason #GWOcon
  7. 7. Open APIs are the tip of the iceberg 13,000 @rossmason #GWOcon
  8. 8. Open APIs are the tip of the iceberg 13,000 1,000,000s of APIs in the enterprise @rossmason #GWOcon
  9. 9. What makes an Enterprise API successful? • Secure? • Reliable? • Reusable? • Discoverable? • RESTful? @rossmason #GWOcon
  10. 10. What makes an Enterprise API successful? • Secure? • Reliable? • Reusable? • Discoverable? • RESTful? @rossmason #GWOcon
  11. 11. An Old Success Strategy Re-Emerges how? • design for them • iterate quickly • model cleanly and consistently • engage
  12. 12. Capture Feedback •UI  UX •API  APX Design For Your Users, Iterate @rossmason #GWOcon
  13. 13. All contents Copyright © 2013, MuleSoft Inc. Enterprise APIs = API delivery at scale - 3Cs: Clean, Clear, Consistent - Across teams, across orgs - Rapid creation, iteration, lifecycle management @rossmason #GWOcon
  14. 14. SOA API @rossmason #GWOcon
  15. 15. All contents Copyright © 2013, MuleSoft Inc. Enterprise SOA - 3Cs: Clean, Clear, Consistent - Across teams, across orgs - Rapid creation, iteration, lifecycle management @rossmason #GWOcon
  16. 16. APIs in the Enterprise Your APIs Developer Customers Partners Affiliates Mobile Internal projects Your Assets @rossmason #GWOcon
  17. 17. What we see in the Enterprise Your APIs Developer Customers Partners Affiliates Mobile Internal projects Your Assets @rossmason #GWOcon
  18. 18. • Orchestrating service provider… • …or core single-purpose service? • Back end… • …or front end? • Straight-through proxy… • …or new façade? What is your value add? consumer devs @rossmason #GWOcon
  19. 19. Think APX! Don't expose dirty laundry users products orders invoices   Craft it for your users: what will they love? • This is a long-lived interface, ladies and gentlemen @rossmason #GWOcon
  20. 20. my focus today • SOAP and WSDL over HTTP • REST: HTTP taken seriously • e.g. GET /users  a page/data representing users • Mix & match: • Google protocol buffers over HTTP • <something> over websockets •API facades: • the RESTmullet (REST in front, SOAP in back) • mobile REST/GPB/MQTT on top of SOA Forms of APIs @rossmason #GWOcon
  21. 21. All contents Copyright © 2013, MuleSoft Inc. The 3Cs in Action (Clean, Clear, Consistent) @rossmason #GWOcon
  22. 22. • Nouns: resources • Carefully consider your domain objects • Query params are refinements on resources • /users • /users?zip=94301&subscribed=true • /users/me • /users/5638 • /users/5638/books • /users/5638/books/20467 • /books • /books/20467 Practical REST, be Clear @rossmason #GWOcon
  23. 23. • Verbs: methods Practical REST, be Clear and Consistent GET retrieve (idempotent!) POST create in container PUT update – replace (usually) PATCH update – partial DELETE remove HEAD GET w/o body (headers) OPTIONS metadata, e.g. methods Status codes • Standardized • Use them! • Don't return 200 unless it's really OK • No surprises please Headers • Standardized • Use them! @rossmason #GWOcon
  24. 24. •We like RAML: RESTful API Modeling Language • Clean, clear, powerful • 100% natural & organic • Open, vendor-neutral • Practical • Pattern-based design is built in How to describe your specific API? @rossmason #GWOcon
  25. 25. RAML for Enterprise APIs • Design, iterate and then code • Clean, clear, open description language • Supports inheritance so that resource behave the same way • Traits for consistent behaviour – Security, pagination, signing • Schema support • A human-readable contract between consumers and producers @rossmason #GWOcon
  26. 26. All contents Copyright © 2013, MuleSoft Inc. DEMO Anypoint Platform for APIs http://api-portal.anypoint.mulesoft.com @rossmason #GWOcon
  27. 27. The Goal: beyond APIs to the Layers of Value @rossmason #GWOcon
  28. 28. • Jawbone creates device, interface • If it's closed: I can only consume • If it's open: I can contribute Example: Jawbone Up Find new value… Suggest new value… Build new value… Build platform! @rossmason #GWOcon
  29. 29. The Groundwork is Forming: Open Government > 90k data sets ~ 350 apps > 300 APIs @rossmason #GWOcon
  30. 30. The Groundwork is Forming: Intuit SMB: ~ 87% of US companies ~ 19 million employees payroll, taxes, spending… @rossmason #GWOcon
  31. 31. Groundwork is Forming: Expedia Affiliate API generates $2bn of the 4bn company revenue @rossmason #GWOcon
  32. 32. Groundwork is forming: Mesh APIs @rossmason #GWOcon 29 device APIs 8 application APIs 2 service APIs 26 Social APIs Common data as an API (Local, PoI, Location, consumer products) 22 Analytics APIs
  33. 33. A New Software Stack Emerges 1,000,000s DB aaS approvals aaS orchestration orchestration API orchestration orchestration orchestration @rossmason #GWOcon
  34. 34. • Everything has multiple APIs APIs Everywhere APIs on top of APIs Genetically-diverse, evolving @rossmason #GWOcon
  35. 35. All contents Copyright © 2013, MuleSoft Inc. Successful Enterprise APIs = APIs at scale - 3Cs: Clean, Clear, Consistent (APX) - Across teams, across orgs (RAML.org) - Rapid creation, iteration, lifecycle management (anypoint.mulesoft.com) @rossmason #GWOcon
  36. 36. Good APIs aren't trivial But with the proper approach… …they can be your home-court advantage "First one home wins?" "Deal" "#$*%!" @rossmason #GWOcon
  37. 37. All contents Copyright © 2013, MuleSoft Inc. Thank you Twitter: @rossmason Company: http://mulesoft.com

×