Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The API Facade Pattern: Overview - Episode 1

18,877 views

Published on

Published in: Technology
  • Be the first to comment

The API Facade Pattern: Overview - Episode 1

  1. 1. API Façade: OverviewEpisode 1Webinar ShortsMarch 2012 SeriesBrian Mulloy Apigee@landlessness @apigee
  2. 2. groups.google.com/group/api-craft
  3. 3. youtube.com/apigee
  4. 4. New! IRC Channel #api-craft on freenode
  5. 5. Webinar Shorts - March 2012 New!Episode 1The API Facade: OverviewTuesday, March 6thEpisode 2The API Facade: Common PatternsTuesday, March 13thEpisode 3The API Facade: TechnologyTuesday, March 20thEpisode 4The API Facade: PeopleTuesday, March 27th
  6. 6. Episode 1 Topics• The Goal• The Problem• The Anti-Patterns• The Solution• How To• Benefits
  7. 7. The Goal
  8. 8. App App App World of API Internal App APIUser Store Developer APIs Team Systems
  9. 9. App App App World of API Internal App APIUser Store Developer APIs Team Systems
  10. 10. The Problem
  11. 11. System of RecordVirtues• Stable• Dependable• Runs the BusinessVices• Legacy Technology Big• Interdependencies• Slowly Changing System
  12. 12. Content Big DB Management JDBC RSS SOAPSystem
  13. 13. The Anti-Patterns
  14. 14. Anti-pattern #1Build UpVirtues XML• Version 1• Quick Expose Objects• Understood by Internal DevsVices• Fine-grained Big• Confusing to App Devs System• Inflexible
  15. 15. Anti-pattern #2 StandardsStandards Committee DocVirtues• Version 1• Sense of Unification• ComprehensiveVices• Slow XML XML XML• Lack of Adherence Expose RSS Expose Objects Expose Tables• Mediocre or Multiple Designs Content Big System DB Management• Subject to Interpretation
  16. 16. Anti-pattern #3 Competitor’sCopy Cat API DocsVirtues• Version 1• Quick• App Dev FamiliarityVices• Not Differentiated XML XML XML• Value Not Expose RSS Expose Objects Expose Tables Leveraged Content Big System DB Management
  17. 17. The Solution
  18. 18. API Team Product CommunityEngineers Operations QA Architect Manager Manager
  19. 19. API Façade
  20. 20. App App Developer API Facade Content Big DB Management JDBC RSS SOAPSystem
  21. 21. “ Use the façade pattern when you want to provide a simple interface to a complex subsystem. Subsystems often get more complex as they evolve.
  22. 22. How To
  23. 23. 1. Design the Ideal API2. Implement Design with Stubs3. Mediate between Façade and Systems
  24. 24. One Big Problem 1. Build up from systems of record App XML XML XML XML XML XML1. Objects Tables RSS RSS Tables RSS Content Big DB Management JDBC RSS SOAP System
  25. 25. Three Small Problems 1. Design the Ideal API 2. Implement Design with Stubs as Façade App 3. Mediate between Façade and Systems Developer1. Ideal Design2. API Facade3. Mediate Content Big DB Management JDBC RSS SOAP System
  26. 26. Façade as Gateway• Handle Common Patterns• Authenticate & Authorize• Version• Store Data for Analysis
  27. 27. The Benefits
  28. 28. Adapt to Use CasesInternal Partners Customers Open
  29. 29. Keep Pace with DevelopersApp App App World of API Internal App APIUser Store Developer APIs Team Systems
  30. 30. Extensible AND Consistent API API Facade Content DB Management SOAP JDBC
  31. 31. Enterprise API Engine Internal Open Partners Customers
  32. 32. Questions?
  33. 33. THANK YOUSubscribe to API webinars at:youtube.com/apigee
  34. 34. THANK YOUIRC#api-crafton freenode
  35. 35. THANK YOUQuestions and ideas to:groups.google.com/group/api-craft
  36. 36. THANK YOUContact me at:@landlessnessbrian@apigee.com

×