The API Facade Pattern: Overview - Episode 1

16,198 views
16,127 views

Published on

Published in: Technology
0 Comments
16 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
16,198
On SlideShare
0
From Embeds
0
Number of Embeds
9,559
Actions
Shares
0
Downloads
237
Comments
0
Likes
16
Embeds 0
No embeds

No notes for slide
  • Creative Commons Attribution-Share Alike 3.0 United States License
  • 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

    ×