the api facade pattern: overview - episode 1

38
API Façade: Overview Episode 1 Webinar Shorts March 2012 Series Brian Mulloy @landlessness Apigee @apigee

Upload: apigee

Post on 10-May-2015

13.720 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The API Facade Pattern: Overview - Episode 1

API Façade: OverviewEpisode 1Webinar ShortsMarch 2012 Series

Brian Mulloy@landlessness

Apigee@apigee

Page 2: The API Facade Pattern: Overview - Episode 1

groups.google.com/group/api-craft

Page 3: The API Facade Pattern: Overview - Episode 1

youtube.com/apigee

Page 4: The API Facade Pattern: Overview - Episode 1

IRC Channel#api-crafton freenode

New!

Page 5: The API Facade Pattern: Overview - Episode 1

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!

Page 6: The API Facade Pattern: Overview - Episode 1

Episode 1 Topics

• The Goal• The Problem• The Anti-Patterns• The Solution• How To• Benefits

Page 7: The API Facade Pattern: Overview - Episode 1

The Goal

Page 8: The API Facade Pattern: Overview - Episode 1

AppUser

APITeam

APIAppWorld of

APIsApp

StoreInternalSystems

AppDeveloper

Page 9: The API Facade Pattern: Overview - Episode 1

AppUser

APITeam

APIAppWorld of

APIsApp

StoreInternalSystems

AppDeveloper

Page 10: The API Facade Pattern: Overview - Episode 1
Page 11: The API Facade Pattern: Overview - Episode 1

The Problem

Page 12: The API Facade Pattern: Overview - Episode 1

System of RecordVirtues• Stable• Dependable• Runs the BusinessVices• Legacy Technology• Interdependencies• Slowly Changing

Big System

Page 13: The API Facade Pattern: Overview - Episode 1

Big System

DBContent

Management SOAP JDBC RSS

Page 14: The API Facade Pattern: Overview - Episode 1

The Anti-Patterns

Page 15: The API Facade Pattern: Overview - Episode 1

Anti-pattern #1Build UpVirtues• Version 1• Quick• Understood by

Internal DevsVices• Fine-grained• Confusing to

App Devs• Inflexible

Big System

Expose Objects

XML

Page 16: The API Facade Pattern: Overview - Episode 1

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

Page 17: The API Facade Pattern: Overview - Episode 1

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

Page 18: The API Facade Pattern: Overview - Episode 1

The Solution

Page 19: The API Facade Pattern: Overview - Episode 1

Engineers

API Team

ProductManager

Operations ArchitectQACommunityManager

Page 20: The API Facade Pattern: Overview - Episode 1

API Façade

Page 21: The API Facade Pattern: Overview - Episode 1

Big System

DBContent

Management SOAP JDBC RSS

API Facade

AppApp

Developer

Page 22: The API Facade Pattern: Overview - Episode 1
Page 23: The API Facade Pattern: Overview - Episode 1

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.

Page 24: The API Facade Pattern: Overview - Episode 1

How To

Page 25: The API Facade Pattern: Overview - Episode 1

1. Design the Ideal API2. Implement Design with Stubs3. Mediate between Façade and Systems

Page 26: The API Facade Pattern: Overview - Episode 1

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

Page 27: The API Facade Pattern: Overview - Episode 1

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

Page 28: The API Facade Pattern: Overview - Episode 1

• Handle Common Patterns• Authenticate & Authorize• Version• Store Data for Analysis

Façade as Gateway

Page 29: The API Facade Pattern: Overview - Episode 1

The Benefits

Page 30: The API Facade Pattern: Overview - Episode 1

Internal Partners Customers Open

Adapt to Use Cases

Page 31: The API Facade Pattern: Overview - Episode 1

AppUser

APITeam

APIAppWorld of

APIsApp

StoreInternalSystems

AppDeveloper

Keep Pace with Developers

Page 32: The API Facade Pattern: Overview - Episode 1

DBContent

Management SOAP JDBC

API Facade

Extensible AND Consistent API

Page 33: The API Facade Pattern: Overview - Episode 1

Internal

Partners

Customers

Open

Enterprise API Engine

Page 34: The API Facade Pattern: Overview - Episode 1

Questions?

Page 35: The API Facade Pattern: Overview - Episode 1

THANK YOUSubscribe to API webinars at:

youtube.com/apigee

Page 36: The API Facade Pattern: Overview - Episode 1

THANK YOUIRC#api-crafton freenode

Page 37: The API Facade Pattern: Overview - Episode 1

THANK YOUQuestions and ideas to:

groups.google.com/group/api-craft

Page 38: The API Facade Pattern: Overview - Episode 1

THANK YOUContact me at:

@[email protected]