Published on behalf of Tim Brooks – Associate Offering Manager, IBM Z , Zowe
The Zowe API Mediation Layer (API ML) is the key to providing a seamless and modern way to create, build, manage and operate Z systems and resources. The Zowe API ML enables single sign on access to the entire ecosystem of Zowe REST APIs covering DevOps functions across a wide range of IBM and 3rd party Z Development, Operation, and Management tools and subsystems. This open source software, included in Zowe, is comprised of four components:
1. The API Catalog provides a directory of the available Zowe REST APIs on the system. These REST APIs can be viewed by Developers and System Administrators via a web browser-based user interface along with their status of “available” or “unavailable” for use.
2. The API Gateway acts as the secure, single point of entry for making Zowe REST API requests. It is a port of Netflix Zuul technology (https://github.com/Netflix/zuul/wiki) to z/OS for Zowe and includes dynamic routing of API requests for high availability and load balancing to support enterprise scale development organizations.
3. Discovery Services provides a process for DevOps REST APIs to be dynamically added to the catalog of Zowe APIs via plugins and contributions from the Zowe community. It is a port of the Netflix Eureka technology (https://github.com/Netflix/eureka).
4. The ESM Microservice authenticates and authorizes Zowe API users with mainframe credentials using the standard System Authorization Facility (SAF) protocols (RACF, ACF2, etc).
Figure 1: High level API ML diagram. For more information visit the Zowe Docs HERE.
It is important to note that the Zowe API ML is complementary to enterprise REST API enablement tools like IBM z/OS Connect Enterprise Edition and IBM API Connect. Unlike Zowe, these tools focus on transforming your IBM Z Line of Business enterprise applications and data by mapping existing applications (COBOL programs for example) and data in VSAM, DB2 or IMS to REST APIs so they can be consumed by a much wider audience of off-platform developers both inside and outside your company. This in turn helps to hide existing mainframe complexities and empowers developers to call first class RESTful APIs simplifying enterprise architectures.
In short, z/OS Connect EE is for creating APIs to your line of business applications and data.
Zowe API ML allows you to manage and provide standard APIs for development, operations and management of the systems which power those line of business applications, tapping into the infrastructural side of Z systems.
For example, Zowe’s REST APIs provide easy access to the z/OS operating system services through the z/OS Management Facility (z/OSMF). Zowe allows users to submit a job, generate outputs, edit data sets, etc. These are very different operations to the line of business applications of z/OS Connect EE, such as making a payment or account lookup. z/OS Connect EE APIs are typically used by customers of the enterprise; consumers of Zowe APIs are typically the developers, system programmers or devops engineers of the enterprise.
As shown in the above diagram, Zowe API ML provides organizations an API catalog for all APIs that can be located and registered to Zowe, which provides up/down status and access control. APIs can be contributed by 3rd party tools and subsystems or statically defined in Zowe. As an example, z/OS Connect EE’s admin APIs (for server management) can be made available alongside the MVS, JES and TSO microservices by statically defining the swagger doc to Zowe.
Figure 2: As-Is – Today there are a variety of different interfaces for DevOps tools and infrastructure services.
Figure 3: Zowe To-Be – Zowe’s API ML provides a seamless, modern, way to create, build, manage and operate Z systems and resources.
Overall, the Zowe API ML gives organizations the flexibility and choice to build out a light weight, integrated and extensible interface for managing and discovering all the development, operation and management APIs provided by tools and subsystems across their z/OS environment; z/OS products, services, data, etc. It’s not intended to provide the same Business API solution as products like z/OS Connect EE, but those product’s administrative interfaces can easily be integrated with the Zowe API ML and made available through the Zowe API Gateway.