API Mediation Layer

Build Status

Coverage Quality Gate Status

The API Mediation Layer (API ML) provides a single point of access for mainframe service REST APIs. The API ML offers enterprise, cloud-like features such as high-availability, scalability, dynamic API discovery, consistent security, a single sign-on experience, and documentation. The API ML consists of three components: the Gateway, the Discovery Service, and the API Catalog. The API ML facilitates secure communication across loosely coupled microservices through the API Gateway. The Discovery Service enables you to determine the location and status of service instances running inside the API ML ecosystem. The API Catalog provides a user-friendly, easy-to-use interface to view all discovered services, their associated APIs, and Swagger documentation.

Notes:

Contents

Run API Mediation Layer locally

Prerequisites

The following platform is required to run the API Mediation Layer:

The following tools are required to build and develop the API Mediation Layer:

Quick start

Follow these steps:

  1. Install the package manager pnpm globally in order to build the project:

    npm add -g pnpm
  2. Install npm packages for the UI:

    cd api-catalog-ui/frontend/; pnpm install; cd ../..
  3. Install concurrently globally:

    npm install -g concurrently
  4. Build all modules:

    ./gradlew build
  5. Run all service on your local machine:

    npm run api-layer

Alternatively, to use Docker to use the api-layer, consult the Docker README.

Security

The API Mediation Layer can use dummy credentials for development purposes. For development purposes, log in using the default setting user for the username, and again user as the password.

For more information, see API Mediation Layer Security.

Run integration tests

To run integration tests, follow the instructions in Integration Tests.

Certificates

For more information about how the certificates between API ML services are set up for localhost, see TLS Certificates for localhost.

Contributor guidelines

To add new functionality, follow the guidelines in Contributing.

Local configuration of services

To set local environment properties for testing on your local machine including HTTPS setup, follow the guidelines in Local Configuration.

If you use IntelliJ IDEA, see learn how to configure Run Dashboard to use these local configurations.

If you use Visual Studio Code, see how to configure Visual Studio Code to develop and debug local configurations.

Onboarding Services

For guidelines to onboard services, see Zowe Docs#Onboarding Overview.

More Information

To learn about: Refer to:
Core Service - API Catalog Zowe Docs
Core Service - API Catalog UI README, Integration Test README
Core Service - Discovery Service Zowe Docs
Core Service - Gateway Service Zowe Docs
APIML SDK - Java Enabler Zowe Docs
APIML SDK - Spring Enabler Zowe Docs
APIML SDK - ZAAS Client README
Sample Service - Java Enabler README
Sample Service - Spring Enabler README

Contact Us

Get in touch using Zowe Communication Channels. You can find us in the #zowe-api channel on Slack.