The API Facade Pattern: Overview - Episode 1
-
Upload
apigee -
Category
Technology
-
view
13.722 -
download
0
Transcript of The API Facade Pattern: Overview - Episode 1
API Façade: OverviewEpisode 1Webinar ShortsMarch 2012 Series
Brian Mulloy@landlessness
Apigee@apigee
groups.google.com/group/api-craft
youtube.com/apigee
IRC Channel#api-crafton freenode
New!
Episode 1The API Facade: OverviewTuesday, March 6th
Episode 2The API Facade: Common PatternsTuesday, March 13th
Episode 3The API Facade: TechnologyTuesday, March 20th
Episode 4The API Facade: PeopleTuesday, March 27th
Webinar Shorts - March 2012 New!
Episode 1 Topics
• The Goal• The Problem• The Anti-Patterns• The Solution• How To• Benefits
The Goal
AppUser
APITeam
APIAppWorld of
APIsApp
StoreInternalSystems
AppDeveloper
AppUser
APITeam
APIAppWorld of
APIsApp
StoreInternalSystems
AppDeveloper
The Problem
System of RecordVirtues• Stable• Dependable• Runs the BusinessVices• Legacy Technology• Interdependencies• Slowly Changing
Big System
Big System
DBContent
Management SOAP JDBC RSS
The Anti-Patterns
Anti-pattern #1Build UpVirtues• Version 1• Quick• Understood by
Internal DevsVices• Fine-grained• Confusing to
App Devs• Inflexible
Big System
Expose Objects
XML
Anti-pattern #2Standards CommitteeVirtues• Version 1• Sense of Unification• ComprehensiveVices• Slow• Lack of Adherence• Mediocre or
Multiple Designs• Subject to
InterpretationBig System
Expose Objects
XML
DB
Expose Tables
XML
Content Management
Expose RSS
XML
StandardsDoc
Anti-pattern #3Copy CatVirtues• Version 1• Quick• App Dev FamiliarityVices• Not Differentiated• Value Not
Leveraged
Big System
Expose Objects
XML
DB
Expose Tables
XML
Content Management
Expose RSS
XML
Competitor’sAPI Docs
The Solution
Engineers
API Team
ProductManager
Operations ArchitectQACommunityManager
API Façade
Big System
DBContent
Management SOAP JDBC RSS
API Facade
AppApp
Developer
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.
“
How To
1. Design the Ideal API2. Implement Design with Stubs3. Mediate between Façade and Systems
RSSObjects
XML
App
1. Build up from systems of record
1.
Big System
DBContent
Management SOAP JDBC RSS
Tables
XML
RSS
XMLXML
Tables
XML
RSS
XML
One Big Problem
1. Design the Ideal API2. Implement Design with Stubs as Façade3. Mediate between Façade and SystemsApp
Developer
Mediate
API Facade
1.
2.
3.
Big System
DBContent
Management SOAP JDBC RSS
Ideal Design
Three Small Problems
• Handle Common Patterns• Authenticate & Authorize• Version• Store Data for Analysis
Façade as Gateway
The Benefits
Internal Partners Customers Open
Adapt to Use Cases
AppUser
APITeam
APIAppWorld of
APIsApp
StoreInternalSystems
AppDeveloper
Keep Pace with Developers
DBContent
Management SOAP JDBC
API Facade
Extensible AND Consistent API
Internal
Partners
Customers
Open
Enterprise API Engine
Questions?
THANK YOUSubscribe to API webinars at:
youtube.com/apigee
THANK YOUIRC#api-crafton freenode
THANK YOUQuestions and ideas to:
groups.google.com/group/api-craft
THANK YOUContact me at: