An application or platform is often made up of many components.
Take a simple weather map for example.
At the most basic level, there are two components - the geographic data for the map and the weather data for the weather.
The data for these components may come from different sources.
Google Maps may provide geographic data and maps while Weather Underground may provide the weather data.
But if you're building an app that displays weather data at the local bars, how do you combine those components into a single, working app?
That's system integration and it usually involves working with APIs.
API stands for Application Programming Interface, and it lets developers integrate any two parts of an application or any different applications together.
It consists of various elements such as functions, protocols, and tools that allow developers to build applications.
A common goal of all types of APIs is to accelerate the development of applications by providing a part of its functionality out-of-the-box, so developers do not have to implement it themselves.
There are APIs for all types of systems, including operating systems, libraries, and the Web.
APIs define the way software libraries behave.
Applications that interact with a library should follow the set of rules specified by the API.
This approach makes it easy for software developers to write applications that communicate with different libraries without having to rethink their strategy, as long as all the libraries follow the same API.
Another advantage of this method is how easy it is to consume the same library using different programming languages, as long as the consumer application can interact with the API.
A Web API is a unique type of interface where the communication takes place using the Internet and Web-specific protocols.
Much like remote APIs make remote resources appear as local, Web APIs do the same thing for resources available on the Web.
In fact, Web APIs started to become popular with the advent of internet services that let users store content online.
In general, you serve Web APIs through an HTTP interface. The API itself defines a set of endpoints, request messages and response structures.
It is a standard approach also to identify the supported response media types.
XML and JSON are two favorite examples of response media types that can be easily interpreted by API consumers.
While initially Web APIs were also called Web services, nowadays the use of the latter form signals that the API is RESTful or GraphQL, as opposed to following the SOAP standard.