API Management with WSO2 API Manager

In my previous post i presented key characteristics of a successful API management platform.In this post i am going to illustrate how WSO2 API Manager can be used to build a success full API management platform which exhibits those key characteristics.

First let me tell what is WSO2 API Manager.The name itself is self explanatory. WSO2 API manager is a comprehensive open source API Management solution commercially supported by WSO2 Inc.

Now let’s look what are the features of WSO2 API manger enable us to build a API management platform with following characteristics.

  1. Design,implement and publish APIs
  2. Empower Developer by providing collaborative environment
  3. QOS for APIs
  4. Insight into API usage, developer behavior and system
  5. Optionally provide ability to monetize the API

Design, implement and publish APIs

WSO2 API Manager provides a web based portal backed by REST APIs to govern the API creation process.It enables API creators to convert their backend services into a APIs by providing a wizard based UI.As you move along the steps of wizard you will have to provide API meta data, API interface definition, Backed service details, security policies and rate limiting policies.Once the API is created it will create a OpenAPI(Swagger) definition for you and attach a life cycle through which you can govern your APIs.In addition to governance it also provides dashboard with statistics which relevant to API publisher and creator.

Wizard for creating APIs

Empower Developer by providing collaborative environment

Application developer has one stop place called developer portal to discover or search APIs and subscribe to consume it.Developers can test the API from the portal itself and once they ready to integrate the API with their application they can download SDKs and read the API documentation to finish the integration.It also provide a abstraction called application to get an single access credential to access multiple APIs.It is a way of combining multiple API subscriptions and managing together using a single access credential.It also provides ability to manage your OAuth2 credentials from the portal itself.When ever developer want to connect to API publisher they can use the forum to start the dialog.Customized statistics available for the application developer to get insight into API usage verses the application, resource usage , API consumption rate of users and the error rate.

Developer portal

QOS for APIs

WSO2 API manager supports OAuth2 protocol as a first class API security mechanism. From the publisher portal you can apply OAuth2 security to your API resources.If you want to achieve role based access control for your APIs you need create OAuth2 scope from the publisher portal by mapping it to a user role and apply to API resources. Application developers will be able to manage their OAuth2 credentials from the developer portal.

Applying role based authorization for API resources

There is extensive support for range of throttling or rate limiting requirements. Throttling can be applied to the backed service level, API level, API resource level, subscription level and application level.If you have any advance throttling need such as IP black listing, user attribute based throttling or custom quote based throttling you have to use advanced throttling feature.If you have a customized throttling use-cases then WSO2 API manager provides an extension mechanism where you will be presented with all the runtime attributes and you have to use a SQL like realtime analytics language called Siddhi to implement your throttling logic.

Applying throttling policies

Insight into API usage, developer behavior and system

WSO2 API Manager provides analytics into two folds.Analytics for different roles such as API creator, API publisher, Application developer and System admin and two different types of analytics, time averaged analytics and realtime analytics.

There are three portal provided.Publisher portal ,developer portal and admin portal.Each provides access to different user groups or roles and provide time averaged dashboard and way to subscribe real time events and receiver email alert.

API analytics dashboards

Optionally provide ability to monetize the API

WSO2 API manager has all nuts and bolds to enable monetization for your APIs except billing and payment system.You need to use a third party billing and payment system to enable monetization for your APIs.

In this article i have given some of the WSO2 API Manager features that enables you to build an API management solution with key characteristics that is essential for successful API strategy implementation.The product capabilities and features are not limited to those of mentioned here, it has other enterprise features, for further details refer following resources.

WSO2 API Manager official page : https://wso2.com/api-management/

WSO2 API Manager official documentation : https://docs.wso2.com/display/AM210/WSO2+API+Manager+Documentation

Customer success stories https://wso2.com/api-management/customer-stories/