building adaptive apis
TRANSCRIPT
1.75 Billion people used Smartphones in 2014. The
count will rise to more than 2.0 Billion in 2015
- eMarketer
Legacy system and services
A legacy service
would typically use old technologies. Services
consumers with conventional needs.
Tightly coupled
Mobile consumers get tightly bound to the data
and payload format served by legacy systems. Legacy
services are often designed for high bandwidth, low
latency. Tends to be chatty.
Orchestration responsibility
Building orchestration logic and awareness about distributed systems in
mobile apps couples them tightly with data sources.
Existing multiple consumers
Multiple consumers already exist in ecosystem. They are often tightly bound to data
sources. Change at data source will often have ripple
effects downstream.
No control over data source
Legacy systems are outside the control of consumer
apps. Their evolution and technology choices are
made independently and needn’t always consider
consumer side benefits and constraints.
Distill what is relevant
Adaptive API helps you exclude extra bits of
information from verbose services. This optimizes payload over potentially
slow mobile networks
Uniform payload format
Transform disparate and diverse payload formats
into a consistent and optimized one.
Source system abstraction
Single API to expose aggregated data from
multiple source services/systems.
Independent evolution
Allow legacy source to evolve at a pace that is different from that of consumers. Versioning
adaptive API allows decoupled releases between both.
When is it an overkill?
■ When you own / control data sources
■ Limited or no other consumers
■ When existing services have considerations for mobile networks
■ When response time is critical **