Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building adaptive apis

212 views

Published on

Building adaptive apis for mobile apps to consumer services. Practices and patterns for building abstractions between mobile apps and services that allow for best practices and release differential between mobile apps and service backends

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Building adaptive apis

  1. 1. Building adaptive mobile APIs with legacy services Priyank Gupta
  2. 2. 1.75 Billion people used Smartphones in 2014. The count will rise to more than 2.0 Billion in 2015 - eMarketer
  3. 3. Legacy system and services A legacy service would typically use old technologies. Services consumers with conventional needs.
  4. 4. Challenges?
  5. 5. 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.
  6. 6. Orchestration responsibility Building orchestration logic and awareness about distributed systems in mobile apps couples them tightly with data sources.
  7. 7. 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.
  8. 8. 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.
  9. 9. A small architectural change can improve the situation radically. Lets look how.
  10. 10. Proxy in the middle A dumb http proxy That sits between legacy services and your consumers.
  11. 11. Why is that better?
  12. 12. Distill what is relevant Adaptive API helps you exclude extra bits of information from verbose services. This optimizes payload over potentially slow mobile networks
  13. 13. Uniform payload format Transform disparate and diverse payload formats into a consistent and optimized one.
  14. 14. Source system abstraction Single API to expose aggregated data from multiple source services/systems.
  15. 15. Bridge to new age paradigms Help traditional web services make a leap by creating RESTful wrappers.
  16. 16. 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.
  17. 17. So, use always?
  18. 18. 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 **
  19. 19. Would love to hear feedback Priyank Gupta THANK YOU

×