Does your application support external APIs?

Prakash Article “Digital Businesses and APIs” made me write this article hearing the term API on different occasions  from  non-technical folks. Few years earlier the term API was used to describe win32 APIs understood by developer in the depth of technology and today we are in era where  business talks of API.  A significant change.

With cloud provider, a large amount of data is stored across extended networks. It is neither cost-effective and not easy to download data overnight to perform analysis.  People want to access summary on their mobile and mobile is not suited to download large amount of data. Hence the most practical thing  is to expose an API that, at a bare minimum, gives application developer access to a summary of that data.

In addition, 80 percent of application needs seem to be already developed and  available as apps and cloud services.  Should we need to recreate the same or can we leverage from the ecosystem  so that we can focus on the  20 percent that is key value proposition to our end users and customers? For this to happen,  the functionality needs to be available as APIs.  APIs  provide the following value proposition to  business.

  • Focus more on core value proposition :-  By outsourcing secondary operations to other domain expert companies, the focus is on primary value proposition.
  • Gain knowledge : You can learn from using others APIs
  • Make ecosystem provide value: When web application authentication integrated with Facebook, the responsibility to track vulnerability is shared with Facebook and other applications leveraging Facebook authentication.
  • Create and validate value given by new offerings: when you offer APIs, ecosystem of  partners and existing customers can choose to leverage API  based on the value created. This can bring in new opportunities.

API developed shall be consumed by mobile application accessed  by end users and web applications accessed by end users and also corporate users from within the enterprise.  Hence there is demand on applications offering similar functionality targeting different customers to provide the respective customer experience to suit the customer  and a demand to integrate all the underlying services as an application platform. The end user in the external world needs to view a one-stop solutions that abstracts all underlying complexity.

To design APIs and application platform, we need smart upfront planning and more effort. To start with, the software developed should be broken in to smaller and smaller discrete APIs. This design approach helps to implement analytic on the top of the data running through the APIs created by us.  One also needs to think how will the API be consumed by other services.

  1. Provide a service to transform input data in to something else. If you send them data, the service processes the data and sends back  a response . Payment APIs fall here.
  2. Become Data market place where  providers come to sell sets of data and publish metadata of the data-set they can offer. Government data sharing falls here.
  3. Give information about who, what, when and where a user is. Facebook, Gmail and twitter fall in this category.

The infrastructure to support API design needs to think aloud about assurance on reliability and availability of APIs,  how APIs handle data privacy and integrity of data, how the APIs support  access Control( think of OAuth) for API data and how APIs can be integrated with customer’s existing security federation.

If your application already comprises of developed APIs for external usage,  your  business teams needs to gear to market your APIs. If your application has not been designed for APIs for external usage,  ask your business team to put API offering in the product roadmap.