Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
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.
In the transition from libraries to web APIs,
developers have lost control of the lifecycle
of their dependencies
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
New
Limited memory
Luxury
Variable bandwidth (Wi-Fi)
Limited processing power
Experimental
Immersive
Limited battery
Portable
Intermittent connectivity
Limited memory
Practical
Extensive memory
Fun
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
User-based caching
Webhooked streams
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
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
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
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
Limited memory
Cool
Location Aware
Limited bandwidth (3G)
Multifunctional
Limited processing power
Socially contextual
Extended battery
Highly mobile
Intermittent connectivity
Webhooked streams
Native format translation
Version facade
Design
Spec
Implement
Unit Test
Integration Test
System Test
Production Test
Operate
Repeat