Introduction

API is an abbreviation for Application Programming Interface. It is very important term that is used everywhere nowadays, especially in development. As developer, you’ve probably heard the term “API” from team member while working on project or from friend. The main question here, however, is “what exactly is that API?”

Worry not, this article aimed to provide very simple introduction to the meaning of API.
I’ve decided to divide this article into sub-topics for easier comprehension, which include:
  • Meaning of API from conceptual point of view
  • Meaning of API from a development point of view
  • Meaning of API from the web development point of view
  • Types of APIs
  • Benefits of using API
  • Conclusion
  1. Understanding API from the conceptual point of view
To understand Application Programming Interface conceptually, you must first understand what an interface is.
Consider radio with two knobs, one for tuning in and the other for adjusting the volume.
And you have an antenna and an internet system that allows you to receive radio signals from or connect to various stations, after which you can play.
This is the system that operates internally. For example, if you want to adjust the volume, there will be an internal mechanism in place to ensure volume adjustment.
However, from the perspective of listeners who are listening to music on any station, there are two things that listeners can change: either the stations or the volume.
As system user, you are only concerned with what you want to accomplish with this system.
As result of this simple analogy, as user, you have only bordered on what you want without considering how the system works internally.
This system provides simple interface for you to complete tasks while abstracting the internal mechanisms within itself.
As result, we can say that this system provides two APIs: one for changing the frequency of any station of your choosing and another for increasing or decreasing the volume.
As result, API can now be described conceptually as simple means that the system provides to users to access the resources of the system in order to accomplish his/her tasks without regard for the internal mechanisms of the system or the complexity of the system because the internal mechanisms are independent of the users.

 

  1. Understanding API from a development point of view

Let us now understand the meaning of API from the perspective of developer the real concept in which it has actually been used. So, we can categorize where API has been used as

  • Software Library and framework
  • Remote APIs
  • Operating system
  • Web APIs
  1. Software Library and framework
HOT POST:  TAKE THESE STEPS TO LEARN HTML IN A DAY VOL.3

From this category, API can be seen as something you developed by providing various methods. For example,  imagine you have created a software library and uploaded it to the GitHub or other open source platform for others to use in their  project and if a user used you software library with the method you have created without bordering the code or library from where the service came from, it is call API.

From this perspective API simply means the objects and methods exposed by a framework which can be consumed and used by the user of the framework to achieve a specific task.

 

  1. Operating System

API from the concept of operating system means operating system provides various methods by which one can access system resources through the interface between application and operating system. For example, you want to perform file opening function all what you need to do is tho pass the path of the file to the operating system and it will do the remaining actions for you to edit or write to the file without bordering you with the way it is being done. You need no to worry about the internal working that involved in opening the file from the file storage. Hence, the methods that provided by the OS to interact with the system resources to carried out this function is APIs.

 

  1. Remote APIS

API can also be categorize from this perspective as the means on how you are trying to access the resources. This means that  suppose you have got a database somewhere in the cloud and you are accessing the database and you are making something using such a data such that the database is providing that API which you can access remotely. For example, you are writing application in java; java provide a means for database connectivity. As a developer, as a developer, you can query the different types of databases using the same methods provided by database connectivity using the uniform methods which will work on both regardless of the differences in the types of the databases. That  API provided by the java is able to accessing multiple databases and we are not concerned about how it delivered that but we are only concerned about if I used this method I will get this result.

 

  1. Web APIs
HOT POST:  MARKETING STRATEGY AS A WEBSITE DESIGNER VOL. 2

Most of the time, APIs are categorized from the perspective of web APIs and this is the most context from which people discussed a lot about APIs. Web API is a programming interface or application type that provides communication or interaction between software applications. It is often used as a means to provide an interface for web sites and clients applications to have data access. Web APIs can be used to access data from a database and save data back to the database. Web APIs came in to picture when an interface is there between an enterprise and application. This means, you have got your server somewhere and it is providing certain services such as streaming for video, accessing social network etc, so that enterprise provide various APIs so that you can interact with those services. Web API provides URLs for  API users to accessing the resources. It  provides HTTP protocol to be used and the desired response in return.

 

  1. Understanding APIs from Web Development point of view

This is the most common scenario in which APIs are used. Basically, we create a  website and provides a means to the clients to be able to access the website. Suppose you have a company and you have got a list of products and for users to use you APIs, you need to provide an HTTP request because you are having a remote service you have to use HTTP protocol which can be use to access it always. Using HTTP, you have to provide an end point URL which can be use by the end users which can access your services. So, you may be having a service running in you backend, you need to expose one method of the infrastructures which can be access by the url. The url may look like this:  http://igbohoconnect.com/jobs?type=” ”

 

HOT POST:  TAKE THESE STEPS TO LEARN HTML IN A DAY VOL.2

Here, you have to supply the following things;

  • HTTP endpoint for the API
  • GET or POST methods that will be called
  • Request format (the query parameters)
  • Headers
  • Response format (either JSON or XML or something else)
  • Type of error for system to respond accordingly if any error occur.

 

  1. Types of APIs

APIs can be categorized into many categories

  1. Main/Provisional/Ownership APIs. In this category, APIs are grouped into
  • Open or public APIs
  • Internal or private APIs
  • Partner APIs
  • Composite APIs
  1. Data and Service APIs – in this category, APIs are grouped into
  • Data APIs
  • Internal Service APIs
  • External Service APIs
  • User Experience APIs

 

  1. Web Service APIs/API Protocols
  • REST API (stands for REpresentational State Transfer)
  • SOAP API: (stands for Simple Object Access Protocal)
  • XML-RPC
  • WebSocket API
  • JSON-RPC

 

  1. APIs by Category or Application
  • Search APIs
  • Dictionary APIs
  • Weather APIs
  • Sport APIs
  • Food and Restaurant APIs
  • IP Geo-location API

 

  1. Communication APIs
  • High-level APIs
  • Low-level APIs

 

  1. APIS by Use Cases
  • Database APIs
  • Operating System APIs
  • Web API

 

 

  1. Benefits of using API

There are too many benefits to count for the use of APIs. The following are some of the benefits

  • Integration with internal and external system
  • Adding or enhancing functionality of internal and external system
  • Adding or enhancing functionality for customers
  • Speeding up the process of software and system development
  • Operational Cost reduction
  • Software Development cost reduction
  • Improving both software and system testing
  • Enabling mobile application development

 

  1. Conclusion
We have learned lot about APIs in this article. We learned the meaning of APIs from conceptual standpoint, as well as how the developer demonstrated an understanding of the API concept. We also learned what API means from the standpoint of web development, as well as the different types of APIs and the benefits of using APIs.
hope you understand what the API means and how it differs in the development environment.

Leave a Reply

Your email address will not be published. Required fields are marked *