Learn about GenX services that can add value to your business



Application Programming Interface

In the simplest of terms, API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other. In fact, each time you check the weather on your phone, use the Facebook app or send an instant message, you are using an API.

Every time you use one of these applications, the application on your phone is connecting to the Internet and sending data to a server. The server then retrieves that data, interprets it, performs the necessary actions and sends it back to your phone. The application then interprets that data and presents you with the information you wanted in a human, readable format.

What an API really does, however, is provide a layer of security. Because you are making succinct and explicit calls, your phone’s data is never fully exposed to the server, and likewise the server is never fully exposed to your phone. Instead, each communicates with small packets of data, sharing only that which is necessary—kind of like you ordering food from a drive-through window. You tell the server what you would like to eat, they tell you what they need in return and then, in the end, you get your meal.

Types Of APIs

There are many types of APIs. For example, you may have heard of Java APIs, or interfaces within classes that let objects talk to each other in the Java programming language. Along with program-centric APIs, there are also Web APIs such as the Simple Object Access Protocol (SOAP), Remote Procedure Call (RPC), and perhaps the most popular—at least in name— Representational State Transfer (REST).

Requires a SOAP library on the end of the client No library support required. Typically used over HTTP
Not strongly supported by all languages Returns data without exposing methods
Exposes operations / method calls Does not expose operation / Method calls
Supports XML only Support any content type (XML and JSON) used primarily
Larger packets of data, separate resources Single resource for multiple actions
All calls sent through POST method Calls can be sent through GET/PUT/POST/DELETE
Can be stateful or stateless Stateless
WSDL generated WADL generated