An Application Programming Interface can be thought of as the way in which programs communicate with each other, accessing data and functionality despite being separate systems. This kind of integration allows for the easy extension of application functionality such as, for example, adding multiple payment methods to a site, integrating social media posts or simply sharing the current weather. APIs make this effortless, leading to more powerful applications.
APIs may be categorized according to these parameters, which will be briefly discussed below:
Ownership types of APIs Communication level of APIs Web service APIs Ownership
There are four ownership types of Web APIs: Open APIs, Partner APIs, Internal APIs and Composite APIs. Ownership APIs are freely available for public use without restriction. These are also referred to as ‘Public APIs’.
Partner APIs require a specific license or usage rights in order to be accessible. These APIs are not publically available, and are usually used by paid services.
Internal APIs are, as their name suggests, developed by companies for internal systems and use. These APIs are also known as Private APIs and facilitate integration across services within a company.
Composite APIs combine a number of different data and service tasks within a single API call. These tasks are executed sequentially. Because these tasks are bundled within a single call, this type of API improves performance.
The second category of APIs is the communication level of APIs. This category comprises high-level and low-level APIs. These ‘levels’ refer to abstraction within the API. High-level APIs are fairly abstracted, meaning that they are more generic and therefore limited in functionality. Low-level APIs are much more detailed and specific due to a low level of abstraction. Low-level APIs allow for finer control over application functions.
Third, we have Web service APIs. These APIs use a unique address, called a URL, on the internet to provide access to their services. Web service APIs are categorized according to the type of communication and method of building the API. These categories are:
SOAP XML-RPC JSON-RPC REST
SOAP APIs follow a communication standard called Simple Object Access Protocol (SOAP) defined within XML format. SOAP APIs are fairly structured and highly secure which means they cannot be cached. They are also tightly coupled with the server, reducing the ease with which a developer can make changes or updates.
XML-RPC (Extensible Markup Language – Remote Procedure Calls) These APIs transfer data using a specific XML format. These calls are simpler than SOAP and uses less bandwidth.
Finally, we have REST APIs. Representational State Transfer is a protocol for communication which focuses on resource transfer. RPC in comparison focuses on actions. REST APIs follow a set of principles for how the API is built. These principles ensure that, amongst other characteristics, the API is stateless, cacheable and requires client-server separation. These attributes allow RESTful APIs to be scalable, flexible and easily updated. The set of guidelines for RESTful APIs leads to a more uniform, simpler type of API which is more powerful, efficient and with greater browser compatibility.
Read more: Building a REST API in low-code
REST ≠ HTTP
There isContinue reading