APIs have been around for over a decade now. Early APIs were message ‘contracts’ exchanged between programs. With the advent of Internet, in the early 2000s, slowly there was an explosion of APIs that were web enabled. SOA then helped further shape the API paradigm.
Today the term API is predominantly synonymous with a service that is RESTful in nature and used extensively in area that concern the modern rich web and mobile. With the mass explosion of APIs, there has been a foray of technology and tools that proposes to deliver API management.
The first question that should probably come to ones mind is, ‘What is so special about APIs that we need new technologies/tools in delivering and managing APIs?’.
To answer this, it is important that we understand what APIs really mean today and what managing them comprise of.
What is an API in the context of this article?
An API is;
1. A piece of code that will allow two software programs (applications) communicate with each other.
2. This communication is based on web protocols (HTTP/HTTPS) and is usually based on REST
3. An API will help connect business processes, services and data to both external and internal consumers (devices, applications etc)
4. Abstracts the consumer (ex. web or mobile developer) from the back-end application
Yes. You have guessed it right. This sound so much like a service (or if you prefer interface) one would develop on any integration platform like SAP Process Orchestration, Oracle Fusion, Webmethods etc. So why am I reinventing the wheel?
Now that we have a fair idea of what an API means let’s look at some examples of where APIs are being used. Interestingly, we in many ways are interacting in a world of APIs. Every time you open Facebook or Google, there is an API at work. When you place an order or search for items on Amazon, there are APIs being invoked. Further on, if you have one of those smart watches or fitness devices (wearables) like the NikeFuel, APIs are core to them.
Note: Have you read about the famous Jeff Bezos’ mandate?
So now that we have established that APIs are actually very much integral to our day-today life, let us look at what API management means.
An API Management platform will have the following key characteristics (not limited to the below);
1. Tools for developing APIs (obviously!)
2. Discovery of APIs i.e. cataloguing, searching etc
3. Version and life cycle management
4. Developer Engagement- Controlled access to developer to discover and consume APIs, collaboration opportunities etc
5. Security – Support of standards such as oAuth, SSL, threat protection, encryption, SAML, IAM etc
6. Orchestration – API mashing, branching etc (Orchestration is a big word but try not to confuse this with heavy process based orchestration)
7. API Analytics
8. Caching and Optimization – ex. caching of frequently requested data, compression of messages etc
9. Monetization – A method for monitoring and recording the consumption and traffic of APIs thus incentivising (or the billing) them.
Q: Do we still need a platform for doing APIs? Cant investments in existing enterprise grade Integration/BPM technologies realize this for us?
It is important that we answer this question right away because only then is it possible for us to understand the value proposition that API management will deliver.
The core requirements/use cases APIs will serve are around mobile, web and the IoT space. This means we are looking at real time service calls that requires low latency to be maintained throughout. APIs usually do not accommodate heavy logic or orchestration and are philosophically KISS (Keep It Simple Stupid!) in nature.
The enterprise service bus, SOA and business process management platforms are sophisticated tools that manage a wide variety of integration and orchestration patterns but what makes API management a bit unique from the traditional A2A and B2B integration, is the aspect of functionalities like Developer Engagement, Caching, Incentivisation and support for standards such as OAuth. Analytics and reporting around APIs is also a key aspect.
More on Analytics & Incentivisation of APIs:
Some examples of what Analytics, reporting and Metrics means in the case of API management;
a. Analysis of traffic – This could be number of transactions, the source of the traffic etc
b. API trends – Availability, top trending API, least used API, error categories, error rates etc
c. Developer statistics – Number of Developers engaged, top developers, APIs by developers etc
Incentivisation is all about how to monetize APIs. There can be different models that organizations might wish to adopt. Some may be a ‘Pay as You go’ model or an unit based where the costs are proportioned according to the consumption of the APIs, another could be a revenue sharing model where the organization pays the developer or say a partner based on the revenue generated by the APIs developed by them, some organizations might even just simply choose to give away APIs for free so as to drive market adoption.
By now, it should have become clear that the Enterprise Integration and the API management technologies both have overlaps but are distinctly unique in the use cases they cater to serve. Thus in an organization that is finding itself stepping into significant mobile adoption, the consumerization of IT and those with predominant B2C interactions along with B2E and B2B, setting up APIs and the required technology to manage it becomes an exciting value proposition.
If your organization answers ‘Yes’ to the majority of the below questions, then you should potentially start evaluating the benefits of an API management solution;
1. Does your organisation have a strategy or vision around the adoption of mobility?
2. Are you looking to extend the collaboration and development of APIs to external parties, vendors or developers?
3. Will you be exposing your organization business data for public consumption?
4. Do you want to analyse trends of data consumption and utilize sentiment analysis of your social channels?
5. Is your business primarily front ended by the web or is the web the core channel your customer engage with you?
6. Does the word ‘User Experience’ keep getting mentioned in your strategic meetings?
In the modern enterprise landscape, thus the core integration and orchestration technologies (ESB, BPM, MFT etc) will continue to hold their place but will now start finding itself possibly accompanied by the new stack i.e. API management, each serving purposes, it is best capable to deliver.
SAP has also realized the technological gaps it has in its product suite. The recent partnership with the industry leader in API management, Apigee, is a sign of SAP desperately trying to bridge gaps and strengthen its overall solution stack.
Note: Refer this blog for insights into the Integration and Orchestration offerings from SAP
So now I come back to the title of this blog and would like to ask the reader, ‘Should we be really bothered about API management?’. Do post your thoughts in the comment section of this blog and hope to have an engaging discussion.