WSO2 API Manager 4 is released!

Chanaka Fernando
WSO2 Best Practices
6 min readMay 6, 2021

--

Let’s take a look at brand new features of the WSO2 APIM 4

WSO2 has released the latest version (4.0) of its open-source, full lifecycle API management platform on 05th May 2021. This article discusses the new features that are released along with this version. You can find the original release PR in the link below.

New features

Given below is a list of new features released with the WSO2 API Manager along with their business impact for organizations that are expecting to utilize API management platforms as well as organizations currently utilizing such platforms.

  • Merging of integration capabilities along with API Management
  • Support for Asynchronous APIs (AsyncAPI)
  • Introduction of service registry
  • Support for API revisions (on top of versions)
  • Cloud-based business analytics
  • Support for external Identity Providers as key managers

Let’s take a look at out how these new features can help your digital transformation journey.

One platform for Integration and API Management

Integration is the core functionality that connects disparate systems within the enterprise platforms. But these integrations need to be exposed as managed APIs to provide an omnichannel experience to the users. Prior to this version of the API Manager, integration and API management capabilities were offered as separate product binaries. Though these 2 products could be integrated over the network, there was no easy way of making the services developed at Enterprise Integrator automatically become available to the API Manager. This capability is available with this release and it is called a service registry (mentioned below). In addition to that, a single installer is available to install API management and Integration capabilities at once. In addition to that, Streamin integration capability also bundled into the same installer. Even though they are installed with the same installer, they run in 3 different JVMs and if required, separate binaries can also be used to run these services individually based on the user's need. As an example, if a user needs to use only the API management capability of the product, that can be run as a separate service by downloading the relevant binary from the website.

Figure: WSO2 APIM Packaging

The preceding figure depicts the different components available with the APIM 4.0. In addition to the APIM runtime that consists of API management, Micro Integration, and Streaming Integration, there are separate tooling available to develop the artifacts related to these runtimes. The API Manager analytics would be available as a cloud service.

Asynchronous API (AsyncAPI) support

WSO2 API Manager introduced the support for WebSockets as an asynchronous API as early as 2018. But with the popularity of AsyncAPI specification which allows users to define a standard interface for any event-driven system such as Kafka, RabbitMQ, JMS, WebSocket, WSO2 team has decided to add support for AsyncAPI specification as a native capability so that users can consume these various event-driven systems in a unified manner with quality of services (security, rate-limiting) applied on top of it. This is a major innovation in the API management market and a stepping stone for bringing event-driven architecture to the forefront. WSO2 API Manager natively supports the following event-driven protocols

  • Webhook/Websub
  • Websocket
  • Server-Sent Events (SSE)

In addition to these native systems, WSO2 API Manager can also expose popular message broker systems such as

  • Kafka
  • NATS
  • RabbitMQ
  • ActiveMQ

Via the streaming integrator capability. In this scenario, the streaming integrator acts as a protocol transformation proxy by connecting to the message broker (e.g. Kafka) natively and expose that as a WebSocket server (as an example) to the API Manager. This capability is depicted in the figure below.

Figure: WSO2 APIM 4 AsyncAPI support

This feature allows enterprises to build a cohesive platform that supports both synchronous and asynchronous communication via well-defined interfaces.

Service Registry

With the merging of integration and API management with APIM 4.0, the service registry became the glue that connects these two capabilities together. This registry will contain all the integrations that are developed to implement various business use cases such as message transformation, content-based routing, and protocol translations. Then the API Manager can automatically discover these services and generate APIs with a single click. This can also be automated so that, whenever there is a new integration service is deployed to the registry, an API is automatically created for that. This feature is depicted in the figure below.

Figure: Service Registry of the WSO2 APIM 4

This is a huge step towards, building end-to-end service development pipelines with CICD. Not only that but also this registry allows the API developers to find out the already developed services and reuse them when providing new business services. This improves the reusability and reduces the time to market and eventually saves time and money.

API revisions support

No, this is not about the versions. WSO2 API Manager had the support to create different versions of the same API from the beginning of the product. This feature is not about that. Here we are talking about multiple revisions of the same API version. As an example, before the APIM 4.0 release, if the user needs to change the behavior of a particular API version (e.g. V1), the user has to create a new version (e.g. V2) so that she can track these changes. But with this new feature, users can change a given version (e.g. V1) by using the revisions. This feature helps users to keep track of the changes as well as allows them to revert back to previous revisions easily.

Figure: WSO2 APIM 4 support for API revisions

As depicted in the preceding figure, the same API can have multiple versions to demonstrate major changes to the API contract. At the same time, a given API version can go through minor changes as different revisions. This feature allows users to track these minor changes via revisions.

Cloud-based analytics

API Manager 4 frees the users from setting up analytics for API Manager deployment. Prior to this version, API Manager analytics needs to be set up as a different deployment consisting of 3 runtimes (2 worker profiles and 1 dashboard profile). This made it difficult for some users to use the APIM analytics which is a critical feature of the platform. This new cloud-based analytics allows users to use analytics as a cloud service and enabling it is as easy as a simple configuration change. This new cloud-based analytics provides business analytics of the APIs where users can take key decisions about the APIs and their usage in relation to the business performance. It is evident that users should have the connectivity from their API Manager deployment to the WSO2 cloud so that the APIM server could push the analytics-related events (metadata) to the cloud endpoints. This won’t impact the performance of the API Gateway or any other component due to the asynchronous nature of the event publishing.

Extended support for external IDPs

With the increased use of polyglot vendors in enterprise platforms, WSO2 API Manager started adding support to work with external IDPs as key management servers natively with the API Manager 3.0 release. In this release, this support has been extended by adding the following popular Identity and Access Management (IAM) vendors as key management servers

  • Ping
  • Auth0
  • Forgerock

This feature allows organizations with one of these IAM platforms to integrate easily with the WSO2 API Manager without moving the users into the WSO2 platform. This will reduce the friction from internal teams when introducing API management to the picture.

That’s all for this short article. There are many more features and improvements done with this release which you can find out in the below documentation link.

--

--

Chanaka Fernando
WSO2 Best Practices

Writes about Microservices, APIs, and Integration. Author of “Designing Microservices Platforms with NATS” and "Solution Architecture Patterns for Enterprise"