API (Application Programming Interface)

Introduction & usage of the technology

API (Application Programming Interface)

An application programming interface (API) is a link that allows computers or software to communicate with one another. It is a type of software interface that provides a service to other software systems. An API is said to be implemented or exposed by a computer system that meets an API specification.

An API can be tailored to a specific pair of systems, or it can be a shared standard that enables interoperability among many systems.

apis-application-layer-client

(Example layout of a typical API structure)

An API (application programming interface) simplifies programming by abstracting the underlying implementation and only exposing the objects or actions required by the developer.

While a graphical interface for an email client may provide a button that performs all of the steps for fetching and highlighting new emails, an API for file input/output may provide the developer with a function that copies a file from one location to another without requiring the developer to understand the file system operations taking place behind the scenes.

API’s allow software developers/companies to expand the functionality of software by interacting with 3rd party components or platforms thus increasing the benefits provided to end-users.

An interface to a software library is one type of API. The API prescribes the “expected behavior” while the library is a “actual implementation” of this set of rules. A single API can have multiple implementations (or none, being abstract) in the form of different libraries.

Separation of the API from its implementation can allow programs written in one language to use a library written in another.

Types & examples of API’s

There are several different broad categories that most API’s fall into which include the following:

Remote API’s:

Remote APIs are useful in maintaining the object abstraction in object-oriented programming. A method call, executed locally on a proxy object, invokes the corresponding method on the remote object, using the remote protocol.

The Java Remote Method Protocol enables the invocation of functions that run remotely but appear local to the developer.

Web-based API’s:

Web APIs are the interfaces that allow interactions to take place between a business and the applications that use its assets. An API is typically defined as a set of specifications, such as HTTP request messages, as well as a definition of the structure of response messages.

The recent trend has been a shift away from SOAP-based web services and towards more direct representational state transfer (REST)-style web resources.

Examples of web-based API’s include Google Maps used to embed maps on websites and other web services such as YouTube to include videos in pages.

Other examples include:

  • Twitter API: Used to interact with twitter.com and identify trending hashtags based on user activity
  • PayPal: Integration to be accept secure payments through the PayPal platform and payment infrastructure
  • Facebook: Used to include a collection of recent posts to include in 3rd party applications or web pages
  • Accuweather: Platform for displaying weather information

Conclusion

We hope you found this informational page to be helpful, if so be sure to share it with anyone you think would find it useful and follow us for more updates.

Need help with a software project or integrating a service? Check out our business services and some of the platforms we integrate with.

Also check out our blog for other tips, videos and free software programs.

Related content from our glossary:

ERP Software

Middleware

Database (DB)

Legacy Software

Cloud Computing

Bibliography/Citation(s):

dret.net/lectures/nga-2017/img/apis-application-layer-client.png. Accessed 3 Oct. 2021.

“Api” Wikipedia, 30 July 2001, en.wikipedia.org/wiki/API. Accessed 4 Oct. 2021.

“GET trends/place” Twitter Developer Platform , developer.twitter.com/en/docs/twitter-api/v1/trends/trends-for-location/api-reference/get-trends-place. Accessed 5 Oct. 2021.

www.iconfinder.com/icons/4178977/download/png/4096. Accessed 5 Oct. 2021.

Remote Access API, www.jenkins.io/doc/book/using/remote-access-api/. Accessed 5 Oct. 2021.

Advanced CORBA programming with C++ : Henning, Michi : Free Download, Borrow, and Streaming : Internet Archive [Online]. Available at: archive.org/details/advancedcorbapro00henn/page/n1125/mode/2up (Accessed: 5 October 2021).