AsyncAPI Could Be the Default API Format for Event-Driven Architectures
“Imagination is the Discovering Faculty, pre-eminently. It is that which penetrates into the unseen worlds around us, the worlds of Science.”
Imagination is the determining factor that precedes invention, the creation of things. As Ada Lovelace pointed out to us, before conceiving, one must imagine. Hegel, a little earlier, had again noted the separation between two opposing worlds: the physical object and the mental object. Every idea is, potentially, a new object to be produced, a new object to be given reality. The correspondence between both images, the one imagined in the mind and the one finally achieved, is the key to the success of every invention. Matter and form, appearance and function. Aristotle, Michelangelo, Hegel… the list of names who have reflected on this subject is long.
In the act of creation, the mental object is placed first, to subsequently give this idea physicality and corporeality in the external world. Thus, achieving the culmination of the process of creation.
Following in this wake, AsyncAPI was born: Its creator, Fran Méndez, while working in the world of event architecture, came across a physical void that gave rise to an idea in his mind, a set of tools that would achieve the standardization of communication between machines. So, once he had a clear image, he set out to transfer this idea to the outside world, creating what we know today as AsyncAPI.
Connecting Machines… and People
Event-driven architecture (EDA) is a software-based system that drives the creation, location, consumption, and, where appropriate, reaction to events. It is a type of asynchronous communication, whereby the sender and receiver do not have to be connected in the same space-time whenever the message is sent or received. This allows for greater freedom and flexibility in the communication system. For this reason, it is also often necessary to set up a queuing system at times of heavy traffic.
AsyncAPI aims to make working with EDA as easy as working with RESTful APIs is today. One of the reasons for the success of REST APIs has been the existence of standards such as OpenAPI that allow editing specifications, creating documentation automatically, mock generators, etc. And it is the contribution to this success that is the main driver of this specification.
AsyncAPI aims to make working with Event Driven-Architectures as easy as working with RESTful APIs is today.
It is an open source, extensible, and protocol-agnostic communication specification that helps us in any message-based case. Its main contribution is the standardization of communication between APIs by making messages (events) more machine-readable, thus facilitating the work of developers who wish to implement it.
Based on the transparency that comes from being an open source project, AsyncAPI is financed by the talent and voluntary contributions of a community of developers who believe in the project and contribute to its evolution. People making machines work.
A Giant Leap for AsyncAPI…
Its popularity has grown exponentially since its inception, with a recent survey of industry initiatives ranking it as the fastest-growing specification in the field. One of its current objectives is to multiply its community by 400% within the next two years.
In its attempt to deepen and ensure the horizontal and democratic nature of its decisions, the initiative has just taken the major step of integrating with the Linux Foundation. In this way, it defends the position of the users, the true protagonists in whom sovereignty resides, against any interference from private interests.
It has also been able to win the support of international industry leaders such as Postman, with which it was partnering in December 2020.
Although the number of users working with AsyncAPI is unknown due to the characteristics of the project itself, we are aware of the names of some companies that use it, such as Adidas, PayPal, Salesforce, SAP or IBM among others.
Where Are We Now?
AsyncAPI manages to define, document and accept that communication between APIs provides us with much higher and more efficient control of information. It is a multi-channel tool and therefore currently supports any of the existing protocols.
Furthermore, AsyncAPI’s conglomerate of tools allows accelerating the development of applications. Its mechanism for the automation of complex and essential tasks facilitates the processes of code generation, documentation generation, validators, etc.
Therefore, we are faced with a specification that facilitates, simplifies, and accelerates the work of developers working with APIs. At the same time, it brings the world of APIs closer to any user who wants to get into this type of architecture, without needing to have previous knowledge to implement their API with this specification.
First, making ideas emerge in their minds; then put them at work. Just recovering the Aristotle steps: beginning, core, end. Guess! A happy end for sure.