Application Programming Interfaces (APIs) enable easier and faster development of many different types of applications. Crucially, they allow the important abstraction of complex back-end systems. Once, this may have meant enterprise legacy systems, but today even born on the web or born in the cloud businesses have created complex internal software capabilities and services. Would anyone believe that the software running Facebook is simple?
APIs are not new. Those looking for a recap on the origins of the API initiative will find that the concept of decoupling software applications into independent layers of components has been common practice for many developers for decades. The idea began when developers started to create separations between the hardware and software layers and between data, business logic and client side application or presentation code. Abstraction was put in place to shield the underlying layer in a way that enabled it to be adapted, without causing enormous disruption to the layers above it.
Today’s modern APIs are focused on providing quick and easy access to application services and functionality, whether developed internally or externally, in a lightweight fashion, so as to minimise the impact to the network.