WSO2 API Manager is a widely used Open-source API Management platform which has already gained the Market Leader status by Forrester-Wave. It has reached new highs with the API Manager 4 version which was released in May 2021. WSO2 API Manager 4.0.0 is the successor of both WSO2 API Manager 3.2.0 and WSO2 Enterprise Integrator 7.1. With this release, it brings API Management capabilities and Integration capabilities together as one solution. In this blog post, I will walk through some of the notable, developer-friendly feature additions in the WSO2 API Manager 4.0.0.
Support for Streaming APIs and Event-driven architectures (EDA)
WSO2 API Manager 4.0.0 has the first-class support for Streaming APIs and event-driven architectures (EDA) through facilitating ASyncAPI Specifications and protocol support for WebHook/WebSub and Server-sent events (SSE) in addition to the WebSocket protocol. Interestingly, WSO2 API Manager is the only API Management platform which offers complete out-of-the-box support for Streaming APIs and Event-driven architectures.
- Streaming API support
With the rapid adaptation of EDA, many organizations rely on data in event streams as opposed to databases in traditional architectures. Events stored in the topics are considered as the single source of truth where a topic can be considered as a Table in a database. Now, those event-streams can be exposed to external clients and applications as managed Streaming APIs via the WSO2 API Manager. Streaming APIs can be exposed via WebSocket, WebHook or SSE protocols. It also supports both subscription and publishing of events from the client-side. In terms of fine-grained access control, OAuth scopes can be utilized to limit which topics/queues users can subscribe or publish to. - Support for ASyncAPI Specification
ASyncAPI Specification was introduced to document the interfaces of streaming APIs similar to document REST APIs using the Open API Specification. API Manager provides the ability to import existing async/streaming APIs using the ASyncAPI definition or generate an ASyncAPI definition for newly created event APIs. The generated specification can be edited manually and will be updated accordingly if any change is made to the API. This allows ASyncAPI developers to only focus on the development aspects of the API rather than documentation while the API subscribers can rely on the API specification. - Streaming APIs using WebSocket protocol
WebSocket protocol allows full-duplex communication, and it was supported in prior versions of the WSO2 API Manager. However, with new streaming API support, developers can now expose their event-streams via the WebSocket protocol which allows clients to act as both publisher and subscriber. - Support for Server-sent Events (SSE) protocol
SSE protocol is an unidirectional protocol in which the server pushes the events to the subscribed clients via HTTP. It is efficient since it uses already established client-server connections to push messages rather than creating a connection per each message. This is widely used in scenarios where web-clients/applications must react to event streams updating rapidly such as stock-broker applications. API Manager has the capability to design a new SSE based streaming API from scratch or import an API using an ASyncAPI definition. - WebSub/WebHook protocol support
WebSub is also another unidirectional protocol where the server pushes events to the subscribed clients over HTTP POST to a registered callback API. The API Manager facilitates this by acting as the intermediate party which pushes events to the registered callback when there is an update in the subscribed event-stream. Similar to the SSE and WebSocket APIs, WebHook streaming API can also be developed from the scratch or can be imported using an ASyncAPI definition.
Service Catalog
Service Catalog in the API Publisher can be used to discover services (proxy services, REST APIs etc) developed by the Micro-Integrator or the Streaming-Integrator and expose it as either as a managed REST APIs or Streaming APIs with minimum effort. The in-built client in the Micro-integrator and Streaming-integrator products publishes deployed service information to the configured API Manager runtime. Using those data, the Service catalog displays essential information related to a service such as name, version, description, usages in APIs, and service definition facilitating API-led integration.
API revisions
API revisions add another dimension to API versioning. It was already possible to publish multiple versions of an API and we gained the extra dimension of revisions with WSO2 API Manager 4.
API Revisions allow a revision of an API being deployed without publishing it immediately on the gateway so that additional tests can be performed without the general public using them. If issues arise the revision can be rolled back.
API Revisions are a way to stage API changes first, test them and then publish them or rollback. Any API version can have a maximum of 5 revisions and the API developer can revert to any revision with ease using the restore facility.
Conclusion
WSO2 API Manager 4.0.0 is a huge leap from the previous API Manager 3.2.0 version in terms of both architecturally and functionality. Being the only product in the market to offer complete end-to-end support for event-driven architectures and streaming APIs while facilitating API-led integrations, it elevates to the next era of API Management. Yenlo will add the WSO2 APIM 4.0.0 to their Connext Platform stack to be able to support all of these new features. Check out the official WSO2 documentation to find out more about WSO2 API Manager.
Please contact us to discuss how we can help you to solve your enterprise IT challenges with WSO2 products.