Intro to API - What is API ?
In this short article, I will attempt to explain what an API is, using a simple, relatable everyday scenario. At the end of this article, the reader should be able to explain, and have an understanding of what API’S are,
In this short article, I will attempt to explain what an API is, using a simple, relatable everyday scenario. At the end of this article, the reader should be able to explain, and have an understanding of what API’S are, and, how they are used in technology by relating this article to their everyday life. There are various types of API’s; primarily; public, private, composite and partner API’S. This article focuses on the general concept, not the specific types of API. Definitions of each type is not included in this scope.
It is also important not to confuse API types with API architectures of which the most common are.
REST – essentially made of guidelines that are lightweight and scalable for web.
.SOAP – a much more stricter and secure API.
RPC - a protocol that uses uses defined processes for communication. (mostly written in XML – RPC or JSON – RPC.
What is an API?
The acronym, API, stands for, “Application Programming Interface”. It is a method or process used by related and unrelated technologies to share information, interoperate, and function as one unit, without having to understand, nor learn how each of the “partners” work nor learn how to build them from scratch. This is accomplished by using what is known as Protocols and Definitions to communicate and share information. The easiest way to understand what Protocols are is to equate them to a “language” spoken by the participants in a conversation.
When application A makes what is known as an API call to Application B, they are already speaking a language understood by both parties in the conversation. For this to happen, they secretly exchange “pleasantries” using an API key that both already have been assigned to use.
Using this process allows developers to deliver projects much faster, because they don’t have to learn the underlaying skills of how the API’s they are using were built. Their only interest is, for it to work, by delivering whatever is expected of them.
Let us look at this concept in everyday life.
Suppose you are building a house. There are two methods that you can use to build your house. You will need Windows, Doors, Floors and so on. Method one would be, you construct all components needed for your house. Problem is, you will have to learn carpentry, bricklaying and so on. As you can imagine, this is very laborious, time consuming and expensive. A better approach would be, to buy doors and floors already made by companies who specialize in manufacturing these. All you will have to do is simply, install them on your house. Following this method, you will notice, saves time, reduces costs and allows you to complete your construction at a faster pace.
A Technology example using same concept will help solidify your understanding of API’s.
Suppose you are developing an application that requires users to authenticate and login before accessing information. You could decide to code and maintain your own authentication and login code. You will have to learn how to code that and also, maintain it. This simply means that, you will have to be responsible for your own security and so on.
Alternatively, you could also pay another company to handle that for you. They will then issue you an “API Key”, that allows your own Application to access their authentication and login modules. When a user wants to access your application, they are discreetly sent to them for authentication and validation; if everything checks out and the user is in your approved list, they are then allowed access to your application.
All these interactions occur behind the scenes to the user. To the user, they are only accessing your application. Behind the scenes, they are accessing your application, which then validates them using what is know as “API call” to the API owners, the company you are paying to handle that segment of the process.
How API’s Work.
A detailed explanation of how API’s work is beyond the scope of this article, but it can be summarized this way:
“I want to utilize what you have, but I don’t want to bother learning how it was made. I just want it to fulfil the purpose, that I am getting it for”.
In the next article, we will take a closer look at various terminologies used when discussing API’s. These includes, “Endpoints”, “Tokens”, Ingesting”, “Consuming” and many others.