A first look at WSO2 API Manager 2.5.0

Posted by Rob Blaauboer on 23 Aug, 2018
Find me on:

A first lookDuring WSO2Con in the USA we saw the introduction of a number of new versions of the major products from WSO2. This is the current (August 2018) list of versions available for download.

  1. WSO2 Stream Processor 4.2.0
  2. WSO2 API Manager 2.5.0
  3. WSO2 Identity Server 5.6.0
  4. WSO2 Enterprise Integrator 6.3.0

In this blog, we will focus on the WSO2 API Manager 2.5.0 and its new features. 

We will also look at the download options that we have for this product since this has also changed as you can see from the below screenshot. This is of course not the complete list, there is also the WSO2 Update Manager (WUM) that allows you to maintain a repository of WSO2 products locally and update them with patches and bug fixes (only with a WSO2 subscription).

WSO2APIManager2.5.0

Options galore

Compared to a couple of years ago, we suddenly see a large number of options for download. We will list the options and their purpose.

Download

Purpose

Free / Subscription

AWS Cloud Formation

Version to run on US Amazon Cloudformation allowing automated setup

Both

Kubernetes

Instructions to setup on Kubernetes

Subscription

Docker

Instructions to setup on Docker

Subscription

Docker Compose

 

Subscription

Vagrant

 

Subscription

Helm

Instructions to setup on / using Helm, a package manager for Kubernetes

Subscription

Binary

The regular zip file that can be deployed regardless of OS

Both

CentOS

Special installer / . file for CentOS

Both

Windows x64

Installer (.msi) for Windows

Both

Mac OS

Installer for Mac

Both

Ubuntu

Special.rpm file for Ubuntu

Both

Source

Link to github to download the source code

Free


WSO2 Subscription

Some of the download options are only available for organizations / accounts with a WSO2 Subscription. Most notably the Docker / Vagrant, Helm and Kubernetes are aimed at WSO2 Subscription users. The other versions have versions for Subscriptions (including patches and bugfixes) and the free General Availability (GA) version.

It is up to you to choose the version that fits you needs.

New features / tools

Apart from the download options we just described there are also some additional products to download:

  1. Analytics
  2. Tooling
  3. Microgateway
  4. Identity Server as a Key Manager Pack
  5. Security Patches

We will quickly describe the five possible additional downloads. In case of new options, we will describe the high-level functionality.

Analytics

The API Manager Analytics is a version of the Data Analytics Server for the API Manager. This option for both free and subscription users downloads the regular zip file to download and install next to the API Manager. Some of the other download options like AWS Cloudformation will install this version automatically when selected.

Tooling

The tooling option is also an option that has been available for quite some time. There are actually two options: The Eclipse / Developer Studio (version Oxygen) based tooling and a command line import / export option.

The Developer Studio needs an additional install since the version downloaded is the ESB based development tool. The instructions can be found here, install the software according to the instructions found here.  You need to set the Perspective to API Manager in the Windows option on the menu bar to show that perspective. Keep in mind that this is NOT the Developer Studio tool but a separate interface.

We suggest using other tools to develop custom mediation. This could be Developer Studio or any XML editor like IntelliJ Idea or Notepad++.

Developer Studio to develop custom mediation

eclipse workspace- a first look at wso2 api manager 2.5.0

The commandline tool that is the second download. This commandline tool allows you to export Applications and APIs from the API Manager environment. The tools requires the WAR file that has been available in previous versions of the API Manager (tied to the version of the API Manager, so each API Manager version has a new WAR file). The WAR file needs to be added to the webapps directory [APIM-HOME]/repository/deployment/server/webapps directory.

After this you can start using the commandline tool. The tools work with environments that can be defined in the yaml configuration file. This allow copying from dev environment to test environment.

Microgateway

Another new tool is the microgateway that is a separate download and is based on the Ballerina stack. With the Microgateway you can export APIs that are running on the API Manager to a separate ballerina based environment to deploy them as microservices.

The process will export the API and a number of other related settings like tiers and create a ballerina project that can be compiled to an executable. balx file.  

Custom mediation sequences are not exported, it is important to realize that!

microgw-pizzashack - first look at wso2 api manager 2.5.0

A zipfile is created that when unzipped offers a complete environment and when started using the gateway file in the bin directory makes the API available.

[wso2student@ip-172-31-36-231 bin]$ sh gateway
ballerina: HTTP access log enabled
ballerina: initiating service(s) in '/opt/wso2/Desktop/micro-gw-pizzashack-project/exec/pizzashack-project.balx'
ballerina: started HTTPS/WSS endpoint 0.0.0.0:9096
ballerina: started HTTPS/WSS endpoint 0.0.0.0:9095
ballerina: started HTTP/WS endpoint 0.0.0.0:9090

This new functionality will be explained in more detail in a separate blog.

Identity Server as a Key Manager Pack

Finally, there is the packaged Identity Server that you can use as a separate key manager in conjunction with the API Manager. This identity Server has all the required features to act as key manager and is tied to the version of the API Manager. In the case of the API Manager 2.5.0 it actually is the Identity Server 5.6.0. 

Security Patches

Finally, there are some security patches that can be downloaded. These patchfiles contain updates that are released as result of a vulnerability that has been discovered. The patches need to be unzipped, the patchxxxx directory copied to the [APIM-HOME]/repository/components/. The readme file included in the zip will describe what needs to be done but when you deploy the directory and restart the API Manager patch changes will detected and deployed.

INFO {org.wso2.carbon.server.extensions.PatchInstaller} -  Patch changes detected

INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Patch verification started


INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Patch verification successfully completed.

Functionality

Now we know what options we have for download and the additional downloads  to the API Manager we will focus on the functionality of the product. The biggest addition is of course the microgw.

According to the documentation, these features are added.

  • Ability to add/modify Microgateway labels and attach to APIs
  • Ability to add custom attributes to applications in the API Store
  • Profile optimization while starting an API-M profile
  • REST API support for retrieving APIs by Microgateway labels

There is no functionality that has been removed in this release. The functionality below has been deprecated however: 

  • Gateway Manager profile, the publisher can play the role of gateway manager
  • The -DSetup option to create tables to external databases due to the fact that consent management component did not get engaged
  • Log Analyzer (monitoring among others wso2carbon.log and displaying results)

Labels and custom attributes

We have the possibility to add microgateway labels to group a number of APIs , e.g. all marketing APIs as ‘Marketing’ and create a microgw distribution out of them. This allows you to select a number of APIs for export to the microgateway environment.

In the Store, we can have extra attributes that can be defined when creating an application in both a generic way (server) or even on the tenant level. These attributes can be enforced as required.

Profile optimization

One of the new features that looks a bit like a feature in the EI 6.3.0 is the profile optimizer. This will take a API Manager and make changes to the xml configuration files / remove some files. It does not however remove entire subdirectories like the profilecreator.sh in the EI 6.3.0.

It is more an internal optimization in conjunction with the -Dprofile setup to run the API Manager.

Conclusion

The new API Manager 2.5.0 is more or less the same product as its predecessor API Manager 2.2.0 with of course the exception of the microgw that is now an optional download and installation.

For those of you eager to try it out, download the product and the microgw to see how it works with the API’s you defined.

If you have any questions about this blogpost contact us via the comments section below. View also our webinars or white papers for more technical information. Need support? We do deliver WSO2 Product SupportWSO2 Development SupportWSO2 Operational Support and WSO2 Training Programs. 

Topics: WSO2 API, API Management, Ballerina, Microgateway, Technical

Written by Rob Blaauboer

Rob Blaauboer
Rob is a Senior Business Consultant and Solution Architect with more than twenty years experience. In addition to his work he is an active blogger working on a number of articles on the ‘Internet of Things’ and a WSO2 ‘Getting Started with …’ series (WSO2 tutorial) in which he talks about WSO2 components and their purpose especially aimed at non technical readers. Rob is a WSO2 expert and official WSO2 trainer.

Find me on: