essential api facade patterns - composition (episode 1)

31
Essential API Facade Patterns Episode 1 - Composition Brian Mulloy @landlessness Apigee @apigee Santanu Dey @Santanu_Dey

Upload: apigee

Post on 17-Aug-2014

4.433 views

Category:

Devices & Hardware


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Essential API Facade Patterns - Composition (Episode 1)

Essential API Facade PatternsEpisode 1 - Composition

Brian Mulloy@landlessness

Apigee@apigee

Santanu Dey@Santanu_Dey

Page 2: Essential API Facade Patterns - Composition (Episode 1)

groups.google.com/group/api-craft

Page 3: Essential API Facade Patterns - Composition (Episode 1)

slideshare.net/apigee

Page 4: Essential API Facade Patterns - Composition (Episode 1)

youtube.com/apigee

Page 5: Essential API Facade Patterns - Composition (Episode 1)

@Santanu_DeySantanu Dey

@landlessnessBrian Mulloy

Page 6: Essential API Facade Patterns - Composition (Episode 1)

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)

Episode 1 : Composition Pattern

Problem

Solution

Benefits

Considerations

Page 8: Essential API Facade Patterns - Composition (Episode 1)

Problem

Page 9: Essential API Facade Patterns - Composition (Episode 1)

Scenario: Mash-up App

Client Appon device

Service 1

Service 2

Service 3

Page 10: Essential API Facade Patterns - Composition (Episode 1)

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)

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)

Solution

Page 13: Essential API Facade Patterns - Composition (Episode 1)

API Service Layer

API Service Layer

Client

Service 1

Service 2

Service 3

Page 14: Essential API Facade Patterns - Composition (Episode 1)

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)

Benefits

Page 16: Essential API Facade Patterns - Composition (Episode 1)

One-time authentication by the device.

Page 17: Essential API Facade Patterns - Composition (Episode 1)

Fewer network calls from a device.

Page 18: Essential API Facade Patterns - Composition (Episode 1)

Plug in a different service provider without having to change the app.

Page 19: Essential API Facade Patterns - Composition (Episode 1)

Validate and control before the requests reach the backend.

Page 20: Essential API Facade Patterns - Composition (Episode 1)

Request payload manipulation.

Page 21: Essential API Facade Patterns - Composition (Episode 1)

Opportunity to use Backend-as-a-Service with no additional expense to the application logic.

Page 22: Essential API Facade Patterns - Composition (Episode 1)

Generate analytics.

Page 23: Essential API Facade Patterns - Composition (Episode 1)

Other Considerations

Page 24: Essential API Facade Patterns - Composition (Episode 1)

Few other scenarios

Parallel callouts

Compensation

Chatty Services

Page 25: Essential API Facade Patterns - Composition (Episode 1)

Parallel Callouts

API Service Layer

Client

Service

Service

Book a Cab App from present location

Page 26: Essential API Facade Patterns - Composition (Episode 1)

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)

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)

Questions?

Page 29: Essential API Facade Patterns - Composition (Episode 1)

THANK YOUSubscribe to API webcasts at:youtube.com/apigee

Page 30: Essential API Facade Patterns - Composition (Episode 1)

THANK YOUQuestions and ideas to:groups.google.com/group/api-craft

Page 31: Essential API Facade Patterns - Composition (Episode 1)

THANK YOUContact us at:

@apigee@Santanu_Dey@landlessness