WSO2 API Manager for PCF (Beta)

Warning: The WSO2 API Manager for PCF tile is currently in beta and is intended for evaluation and test purposes only. Do not use this product in a PCF production environment.

This documentation describes WSO2 API Manager for Pivotal Cloud Foundry (PCF), which installs the API management service, WSO2 API Manager 2.6.0, on PCF.

Overview

WSO2 API Manager for PCF is a unique, open approach to full lifecycle API development, integration, and management. It allows extensibility and customization, while ensuring freedom from lock-in. As part of the larger WSO2 Integration Agile Platform, it is a central component used to deploy and manage API-driven ecosystems. Its hybrid integration capabilities further simplify projects that span traditional and micro-service environments.

The Deployment Architecture for the API Manager is as follows:

Deployment

Key Components

The key components of WSO2 API Manager for PCF are described in this section.

API Publisher

API development is generally done by someone who understands the technical aspects of the API, such as the interfaces, documentation, and versions. API management is generally done by someone who understands the business aspects of the APIs.

In most business environments, API development is a responsibility that is distinct from API publication and management. WSO2 API Manager for PCF provides a web interface called WSO2 API Publisher for API development and management. It is a structured UI designed for API creators to develop, document, scale, and version APIs, while also facilitating more API management-related tasks such as publishing an API, monetizating it, analyzing statistics, and promoting.

API Store

The API Store web application provides a collaborative interface for API publishers to host and advertise their APIs while also allowing for API consumers to self register, discover, evaluate, subscribe to and use, secure, protected, and authenticated APIs.

API Gateway

A runtime backend component (API proxy) developed using WSO2 ESB. API Gateway secures, protects, manages, and scales API calls. It intercepts API requests, applies policies such as throttling and security using handlers, and manages API statistics. Upon validation of a policy, the Gateway passes web service calls to the backend exposed through the API Manager. If the service call is a token request, the Gateway passes it directly to the Key Manager. This component is horizontally scalable. It is possible to scale up to 20 Gateway nodes.

Key Manager

Manages all clients, security, and access token-related operations. The Gateway connects with the Key Manager to check the validity of OAuth tokens, subscriptions and API invocations. When a subscriber creates an application and generates an access token to the application using the API Store, the Store makes a call to the API Gateway, which in turn connects with the Key Manager to create an OAuth client and obtain an access token. Similarly, to validate a token, the API Gateway calls the Key Manager, which fetches and validates the token details from the database. This component is horizontally scalable.

For more information, see Key Manager.

Traffic Manager

The Traffic Manager helps users to regulate API traffic, make APIs and applications available to consumers at different service levels, and secure APIs against security attacks. The Traffic Manager features a dynamic throttling engine to process throttling policies in real-time, including rate limiting of API requests. Traffic Managers do not scale horizontally.

For more information, see Working with Throttling.

Analytics

Additionally, monitoring and analytics are provided by the analytics component, WSO2 API Manager Analytics. This component provides a host of statistical graphs, an alerting mechanism on pre-determined events, and a log analyzer.

For more information, see Analytics.

Key Features

WSO2 API Manager for PCF includes the following key features:

  • Design and Prototype APIs
  • Publish APIs and Govern API use
  • Control Access and Enforce Security
  • Developer Portal
  • Manage the Developer Community
  • Manage and Scale API Traffic
  • Monitor and Monetize
  • Pluggable, Extensible, and Themeable
  • WSO2 Platform Multi-tenancy Support
  • API Analytics

Product Snapshot

The following table provides version and version-support information about WSO2 API Manager.

Element Details
Tile version 2.6.0-3.1557857953847
Release date June 27, 2019
Software component version 2.6.0
Compatible Ops Manager version(s) 2.5.x
BOSH stemcell version Ubuntu Xenial 170.15
IaaS support AWS, GCP

Requirements

WSO2 API Manager has the following requirements:

  • SQL Database databases (MySQL or MS SQL) for storing data.
    • Database for storing user management
      • For MySQL(versions before v5.7) use script
      • For MySQL(v5.7 later version) use script
      • For MSSQL use script
    • Database for storing registry data
      • For MySQL(versions before v5.7) use script
      • For MySQL(v5.7 or later version) use script
      • For MSSQL use script
    • Database for API Manager specific data
      • For MySQL(versions before v5.7) use script
      • For MySQL(v5.7 or later version) use script
      • For MSSQL use script
    • Database for storing analytics data
    • Database for API Manager Analytics clustering
    • Database for API Manager Analytics persistence

Use “latin1” as the character set for the database. You can use the following command to create the database.

mysql> create database <DATABASE_NAME> character set latin1;

For more information, see Installing and Configuring the Databases in the WSO2 documentation.

Feedback

If you have a feature request, questions, or information about an issue email WSO2.

License

This tile contains the WSO2 products with its latest updates, which are under the End User License Agreement (EULA) 2.0. Read more about EULA 2.0.

You need a valid license key that corresponds to your WSO2 Subscription to install this tile. If you do not possess a valid license key, contact a WSO2 account manager.

Create a pull request or raise an issue on the source for this page in GitHub