essential api facade patterns - composition (episode 1)
TRANSCRIPT
![Page 1: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/1.jpg)
Essential API Facade PatternsEpisode 1 - Composition
Brian Mulloy@landlessness
Apigee@apigee
Santanu Dey@Santanu_Dey
![Page 2: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/2.jpg)
groups.google.com/group/api-craft
![Page 3: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/3.jpg)
slideshare.net/apigee
![Page 4: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/4.jpg)
youtube.com/apigee
![Page 5: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/5.jpg)
@Santanu_DeySantanu Dey
@landlessnessBrian Mulloy
![Page 6: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/6.jpg)
Episode 1Composition
Episode 2Session Management
Episode 3One Phase to Two Phase Conversion
Episode 4Synchronous to Asynchronous
Webcast Series: API Facade Patterns
![Page 7: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/7.jpg)
Episode 1 : Composition Pattern
Problem
Solution
Benefits
Considerations
![Page 8: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/8.jpg)
Problem
![Page 9: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/9.jpg)
Scenario: Mash-up App
Client Appon device
Service 1
Service 2
Service 3
![Page 10: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/10.jpg)
Problem
Establish device connection to three hosts
Negotiate API/Service security each time
Normalize data format inside the app logic on the device
![Page 11: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/11.jpg)
Multiple Service Mash-up
Client Appon device
Service 1
Service 2
Service 3
Network connection, negotiate security, data format & parsing
Network connection, negotiate security, data format & parsing
Network connection, negotiate security, data format & parsing
![Page 12: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/12.jpg)
Solution
![Page 13: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/13.jpg)
API Service Layer
API Service Layer
Client
Service 1
Service 2
Service 3
![Page 14: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/14.jpg)
An Example
API Service Layer
Client
Service 1
Service 2
Service 3
1. Get Location
2. Book Cab
3. Store Booking History for
User Profile
Book a Cab App
![Page 15: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/15.jpg)
Benefits
![Page 16: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/16.jpg)
One-time authentication by the device.
![Page 17: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/17.jpg)
Fewer network calls from a device.
![Page 18: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/18.jpg)
Plug in a different service provider without having to change the app.
![Page 19: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/19.jpg)
Validate and control before the requests reach the backend.
![Page 20: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/20.jpg)
Request payload manipulation.
![Page 21: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/21.jpg)
Opportunity to use Backend-as-a-Service with no additional expense to the application logic.
![Page 22: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/22.jpg)
Generate analytics.
![Page 23: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/23.jpg)
Other Considerations
![Page 24: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/24.jpg)
Few other scenarios
Parallel callouts
Compensation
Chatty Services
![Page 25: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/25.jpg)
Parallel Callouts
API Service Layer
Client
Service
Service
Book a Cab App from present location
![Page 26: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/26.jpg)
Another Example: Chatty Services
Client
Service Provider
1. Get user attributes
2. Get recommended topics
3. Get recommended books
![Page 27: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/27.jpg)
Solution: Reduce Chattiness
API Service Layer
Client
Service 2
1. Authenticate by API key
Get a recommended book for a user
2. Get relevant user topics
3. Get recommended books
![Page 28: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/28.jpg)
Questions?
![Page 29: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/29.jpg)
THANK YOUSubscribe to API webcasts at:youtube.com/apigee
![Page 30: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/30.jpg)
THANK YOUQuestions and ideas to:groups.google.com/group/api-craft
![Page 31: Essential API Facade Patterns - Composition (Episode 1)](https://reader035.vdocument.in/reader035/viewer/2022070520/58f9aacf760da3da068b7cf2/html5/thumbnails/31.jpg)
THANK YOUContact us at:
@apigee@Santanu_Dey@landlessness