Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading…
Transcript

Any problem in software can be solved by another level of indirection...

As a provider you can modify

the API to fit the shape of the

consumer

An API Virtualization layer can

be constructed by hand, from open source

or from products on the open market.

API

In the transition from libraries to web APIs,

developers have lost control of the lifecycle

of their dependencies

API Virtualization

As a developer you can modify

the API the fit the shape of

your application

You can apply the API Virtualization pattern

to APIs you consume to make them look the way

you want them

Here's the stack:

HTTP(S) Gateway

Configuration Engine

Configuration Store

XML/JSON Parser

OAuth Engine

Identity Store

Policy Engine

Policy Store

Cache

takes the pain out of the

New

Limited memory

Luxury

Variable bandwidth (Wi-Fi)

Limited processing power

Experimental

Immersive

Limited battery

Portable

Intermittent connectivity

Limited memory

Practical

Extensive memory

Fun

Tablet

Variable bandwidth (Wi-Fi)

High bandwidth

Authoring

Personal

Gaming/Entertainment

Limited processing power

Broad processing power

Connected

Limited battery

Ubiquitous

Situated use

Large battery or wired power

Intermittent connectivity

Multitasking shared environment

Semi-portable

Ultraportable

API Virtualization

Web App

User-based caching

Webhooked streams

Mobile Internet Device

HTTP 1.0 Compression

Native format translation

Streams

Coarse Pagination

User-based caching

XML translation

No pagination

Native format translation

XAuth mediation

User-based caching

@sramji

#evolveAPI

Sam Ramji

Apigee

Limited memory

Cool

Personal

Limited memory

High bandwidth

Location Aware

Limited bandwidth (3G)

Read-mostly

Multifunctional

Limited processing power

Connected

Socially contextual

Limited battery

Ubiquitous

Wired power

Ultraportable

Intermittent connectivity

Evolving social context

Extreme connectivity

Fine Pagination

User-based caching

HTTP 1.0 Compression

Smartphone

DVR

Native format translation

Function hiding

Buffered streams

Response caching

Location-based caching

Swap out provider APIs without

breaking the application

Service level management

Coarse pagination

There are no perfectly swappable APIs today

Queue priority

Streams

Long-lasting

Specific locations

High memory

Fun

High profitability

Manageable form factors

Format customization

High bandwidth

Personal

Summary:

We are seeing an architectural

pattern emerge that deals with the expanding variety

of computing devices and the exploding number

of APIs used in modern applications.

This pattern can be used on either side of an API:

by providers and by developers.

Format translation

Virtualize the new provider to look like the old

Extended communication

Few to dozens

Gaming/Entertainment

Specialized processing power

Data Extensions

Executive commitment

Mission critical

QoS/Prioritization

Two-way streams

Wired power

Change the provider without changing your code

High trust

Globally distributed

Semi-portable

Consistent connectivity

Reserved instances

User-based caching

XBox

Strategic

Partners

Intrusion detection

Impression logging

Response caching

Function hiding

Streaming/push

Function hiding

Quota queuing

Location-based caching

Rate limiting

Native format translation

Location-based caching

HTTP 1.0 Compression

Worldwide

Ephemeral

New

Buffered streams

Low memory

Fine Pagination

Many form factors

Limited profitability

Public

Limited bandwidth

Hundreds to millions

Limited communication

Advertising/Awareness

Limited processing power

Niche markets

Speculative

Read-only

Wired power

Globally distributed

Limited trust

Evolving applications

Consistent connectivity

Gas Station

Long Tail

Partners

Limited memory

Cool

Location Aware

Limited bandwidth (3G)

Multifunctional

Limited processing power

Socially contextual

Extended battery

Highly mobile

Intermittent connectivity

In-Car

Computing

Development

Lifecycle

Webhooked streams

Native format translation

Version facade

Design

Spec

Implement

Unit Test

Integration Test

System Test

Production Test

Operate

Repeat

Learn more about creating dynamic, engaging presentations with Prezi