The API economy is an effective way to leverage the possibility of programming the Web. The definition of this practice is relatively simple: API Economy (sometimes known as API-driven economy) simply refers to the exchange of value between consumers and providers through APIs.
An application programming interface (or API) is a computing interface which defines interactions between multiple software intermediaries. APIs in the web are literally everywhere and serve a never-ending and ever-growing set of purposes.
The plot below gives you an idea on the size of the economy and its estimated growth in the coming years. We should probably note that this estimate is pre-Covid. Therefore, I would not be surprised if the growth would be even greater.
The big 4 as well as McKinsey are regularly monitoring the phenomena. Here you can see the point of view of Deloitte on the API Economy in one of their recent whitepapers.The #API #Economy and its role for #programming the Web Click To Tweet
From a technical point of view, the communication leverages the fact that machines exchange messages via the Web usually using a REST or a SOAP approach.
REST/SOAP and their role in programming the Web
Representational state transfer (in short ReST) is a software architectural style that defines a set of constraints to be used for creating Web services. Web services that conform to the REST architectural style, called RESTful Web services, provide interoperability between computer systems on the Internet. It leverages the GET/PUT/POST/DELETE of the HTTP protocol for implementing the CRUD methods that are usually used in DBs such as:
- CREATE procedures generate new records via INSERT statements.
- READ procedures reads the data based on input parameters. Similarly, RETRIEVE procedures grab records based on input parameters.
- UPDATE procedures modify records without overwriting them.
- DELETE procedures delete where specified.
SOAP (abbreviation for Simple Object Access Protocol) is more flexible and is just a messaging protocol specification for exchanging structured information. It is used in the context of implementing web services in computer networks. Its purpose is to provide extensibility, neutrality, verbosity, and independence.#REST and #SOAP play an important role in #programming the web and the #API #Economy Click To Tweet
SOAP and REST are subject to a never-ending battle. Programmers and software architects tend to have a polarized view. I personally see them as two sides of the same coin. I will cover some of the aspects of the discussion in a future article. In this post, as I usually use SOAP in the lectures of SOE, I will use REST for describing how programming the web works.
Programming the Web from a technical point of view
This video summarizes the various concepts that rotate around REST as well as gives an example using data represented in JSON.
For a good API the protocol is only the beginning and there is always need for a SDK. They practically go in tandem. A software development kit (or SDK in short) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, a debugger and perhaps a software framework. They are normally specific to a hardware platform and operating system combination. In other words, they are a set tools that make the adoption of a protocol easy.
This video explains how an API and a SDK complement each other:the role of #SDK in #designing a good web #API and fostering protocol adoptions Click To Tweet
Useful resources for navigating the API economy
Where can I find an API? You can start by searching in google “<name of the company> API” and you will be surprised by the astonishing amount of companies that are using this approach. However, in case you are shopping for ideas, this approach may be limiting the possibilities. A better alternative could be to familiarize with the API Economy using this set of videos from the ProgrammableWeb:
You could also browse catalogs that are available in the Internet, such as:
- https://any-api.com/ Collection of APIs and tools for using them.
- https://www.programmableweb.com/category/all/apis A “historical” initiative that intends to list all possible APIs that are available in the web.
- https://apilist.fun/interviews APIs can be also a fun endeavor!