An API as both a concept and realization is nothing new; software engineers have been creating and using APIs for component interaction for several decades. However, the growth of the API economy has been driven by what is typically described as a web API.
Web APIs are an implementation of a web service that is characterized by the following conventions:
- They are typically implemented to expose an external service interface for developers to write consumer applications.
- Their implementation is based on RESTful principles.
- They do not implement contract-based definitions such as SOAP and web services standards to define the interface.
- They use JSON or XML to encode the payload.
It is important to understand why these conventions have arisen, because they provide context for the design decisions you make when defining web APIs.
To see a real use case with APIs in action, visit The Acme Freight API Journey.