Introduction to AsyncAPI specification *Nowadays, AsyncAPI is one of the most popular topics in the world of event-driven APIs. Earlier, There was a need for a tool to specify and document the event-driven APIs where OpenAPI specifications are restricted only to document REST APIs. Then after, AsyncAPI specification was introduced to document the specifications for event-driven APIs. There are many similarities between OpenAPI specifications and AsyncAPI specifications because AsyncAPI was inspired by OpenAPI. Keywords can be mentioned as one of the major differences between them. (Eg: The endpoints of the REST API are called as paths and endpoints of Event-driven API are called as channels).*Why AsyncAPI for WSO2 API Manager?
*AsyncAPI specification helps to understand the defined APIs for both humans and machines. This makes it more special to be used by most of the developers. Enabling the usage of AsyncAPI specifications in WSO2 API manager will help our developers and consumers to easily work with event-driven APIs within our product.*Objectives of the project 1. Users will be able to use existing Websocket or Kafka endpoints to create event-driven APIs by importing their AsyncAPI specifications. 2. Application developers will be able to subscribe to those event-driven APIs and be allowed to consume WebSockets and Kafka streams. Importing AsyncAPI specifications *API Manager already supports WebSockets. After the implementation of this project, A WebSocket can be easily created by importing its AsyncAPI specification. Kafka is a distributed streaming platform which helps to build event-driven applications. These applications may have event-driven APIs. These APIs which are created using Kafka protocols can be described using AsyncAPI specifications. By importing these specifications into the APIM, we can enable the application developers to consume Kafka streams by subscribing to these APIs. This will be a new feature for our APIM.* Subscribing to event-driven APIs When an application developer subscribes to consume a WebSocket API, that particular WebSocket API’s proxy will be created in our API Gateway. So the gateway endpoint of that API will be used by the consumer. But, when a consumer subscribes for a Kafka endpoint API, there won’t be any mediator like API gateway between them. The Kafka endpoint itself will be used by the consumer. Still, not all Kafka Streams are free to use. There are security policies for some Kafka Streams which require certificates to use those streams. WSO2 APIM will be the provider of those certificates for our consumers to subscribe to the Kafka streams. Regards,-- *Ziyam Santhosh* Software Engineering Intern | WSO2 Email: [email protected] Mobile: +94752204021 Web: http://wso2.com [image: http://wso2.com/signature] <http://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
