APIs, enablers our of world economy
Application Programming Interfaces (APIs) have become a cornerstone of the current world economy. APIs are the digital transformation enablers for our organizations and businesses. Despite the rise of API-driven integrations and process automations, there is a need for a clear API management strategy.
A clear API Management strategy can give a wide range of opportunities to an organization:
- Improving and standardizing processes
- Connecting with your customers, suppliers but also with platforms
- Monitoring and discovering new business models thanks to the insights received in your processes
- Managing API Lifecycle Managed through CI/CD including versioning
APIs are here to stay and there are huge opportunities with an API-first driven approach in digital transformation.
What is an API?
Before we dive deep into the purpose and evolution of an API, let us first understand the fundamentals of an API.
An API can be described as the facilitator/mediator that bridges communication and establishes connection between one or more entities.
A real-life example with a reference to the web world can help to visualize an API better.
A famous analogy compares API to a restaurant waiter. As soon as you enter a restaurant, you are welcomed by a waiter. The waiter will be making sure that the right service is delivered to you throughout your experience. He will be your interface between kitchen, the stocks, the cash register, etc.
When you sit down at your table, the waiter hands you a menu from which you can choose a number of items. You will then place your order, with specific instructions, to the waiter. He will write it down and communicate it back to the kitchen.
Once the cooks have gotten your meal ready, the waiter will serve it to you in a clean and organized plate that follows your specifications.
In this scenario, the role of the waiter can be compared to the role of an API in the delivery of data on the modern web. Similarly to a waiter, an API:
- Receives your order with a set of instructions (a request) from you (a source, such as an application)
- Takes your order (request) to the kitchen (database)
- Fetches the ingredients for your meal (requested data) or facilitates a set of actions
- Returns your meal (response) to you (the source)
With the above example, it is clear that an API, as the name suggests, is an interface to establish communication between applications.
The history of APIs
The first thought to cross our mind when hearing the word “API” would probably revolve around the ideas of Web and Internet. It is interesting to know that APIs are older than both the Internet and Web. Their primary purpose is to enable developers to work with software by initializing subroutines for various jobs.
With the advent of the Internet and the introduction of client/server models, APIs became predominant as the whole and sole interface to execute tasks, provide acknowledgements and ensure sequential processes to complete the client-server relationship. The Web plays the leading role in evolving the APIs from a basic client-server to request-response.
The web 2.0 outlines a decentralized approach towards applications to ensure real-time communication between various parties and acts based on the trigger received.
The above underlines the concept of event-driven architecture and the Web APIs have played a great role in what we understand with APIs today.
How have APIs evolved to WEB APIs?
In the early days, APIs were not always decoupled from their consumers, especially in the client-server era. However, once an API-consuming application gets completely decoupled from the API service provider, we can say it is fully abstracted and that allows for tremendous flexibility.
Both the API service provider and the API consumer can freely change their underlaying infrastructure, technologies and methodologies as long as they agreed on the API definition. Let’s take the example of an API that is used to record, search and consult data in a database. You want to take the decision to move the data to a different database technology. One can code the integration with the new database technology, and your existing consumers will still have the same API experience.