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:
- For more general information for end-users, see the API ML Overview.
- To learn more about changes to the API ML, consult the CHANGELOG.
- For developers, review the developer documentation and the Contributor guidelines.
- Run API Mediation Layer locally
- Security
- Run integration tests
- Certificates
- Contributor guidelines
- Local configuration of services
- Onboarding Services
- More Information
- Contact Us
The following platform is required to run the API Mediation Layer:
- IBM Semeru JDK Java 17 or later
The following tools are required to build and develop the API Mediation Layer:
-
Node.js and npm are required to be installed globally to run npm commands in project root folder.
-
During build, correct node version is automatically downloaded and built with.
Follow these steps:
- Build all modules:
./gradlew build
- Install the same version of the
concurrently
globally:
npm install -g concurrently@^6.0.0
- Run all service on your local machine:
npm run api-layer
Alternatively, to use Docker to run the API ML, consult the Docker README.
By default, the API Mediation Layer for local development uses mock zOSMF as the authentication provider. For development purposes, log in using the default setting USER
for the username, and validPassword
as the password
The API Mediation Layer can also use dummy credentials for development purposes. For development purposes, log in using the default setting user
for the username, and user
as the password.
Configure dummy credentials provider
Modify gateway-service.yml
apiml:
security:
auth:
#provider: zosmf
provider: dummy
For more information, see API Mediation Layer Security.
To run integration tests, follow the instructions in Integration Tests.
For more information about how the certificates between API ML services are set up for localhost, see TLS Certificates for localhost.
To add new functionality, follow the guidelines in Contributing.
To set local environment properties for testing on your local machine including HTTPS setup, follow the guidelines in Local Configuration.
Review IDE setup to see how to configure popular IDEs for API ML development.
For guidelines to onboard services, see Zowe Docs#Onboarding Overview.
To learn about: | Refer to: |
---|---|
Core Service - API Catalog | Zowe Docs |
Core Service - API Catalog UI | README |
Core Service - Discovery Service | Zowe Docs |
Core Service - Gateway Service | Zowe Docs |
APIML SDK - Java Enabler | Zowe Docs |
APIML SDK - Micronaut Enabler | Zowe Docs |
APIML SDK - Node.js Enabler | Zowe Docs |
APIML SDK - Spring Enabler | Zowe Docs |
APIML SDK - ZAAS Client | Zowe Docs |
Sample Service - Spring Enabler | README |
Sample Service - Micronaut Enabler | README |
Sample Service - NodeJS Enabler | README |
Get in touch using Zowe Communication Channels. You can find us in the #zowe-api
channel on Slack.