Connect z/OS Applications and Data to the Hybrid Cloud With APIs
Clients can successfully drive digital transformation by optimizing their mainframe using APIs to achieve a compelling ROI.
A recent IDC whitepaper, “The Business Value of the Connected Mainframe for Digital Transformation,” (ibm.co/2ipKMqs) highlights the benefits organizations can expect by investing in the IBM Z* using z/OS* Connect Enterprise Edition (EE) as opposed to migrating from it. Clients can successfully drive digital transformation by optimizing their mainframe using APIs to achieve a compelling ROI.
Some key reasons for the shift are that APIs:
- Make it easier to mix data and transactions from a variety of computing resources inside an enterprise or between cloud and enterprise (i.e., a hybrid cloud environment)
- Are becoming pervasive because they make use of web technology and are supported across many computing platforms
- Consist of create, read, write and update actions for data and transactions. This standard set of actions is referred to as RESTful APIs, which are easy for developers to learn. REST APIs also provide a standard method of documentation for developers.
A wealth of strategic business assets resides on mainframes, and many organizations are finding ways to extract value from them. However, it’s important to take a developer’s view of the APIs to be created. Put simply, what does the mainframe have today that will be useful to the developer? A key activity is to ask them.
Developer-Centric Vision of Assets
When deciding which direction to take, it’s important to consider what’s going on in your industry with APIs and how to drive innovation for your company. (See “Ideas and Inspirations,” for resources to get started.) Business drivers for APIs can be related to the need for speed, reach, innovation and cross-domain information exchange.
With many businesses having decades of data on mainframes, it’s likely new applications need easy access to that rich data. Also, the mainframe likely executes unique transactions that have been critical to the business for decades, and new applications likely need access to those transactions for future uses.
A key design point for developers is APIs should be simple to learn and invoke. APIs that have dozens of parameters to be called aren’t in the spirit of REST APIs. It’s best to have a few well-designed APIs with the appropriate REST verbs and minimal required parameters.
APIs Enable Existing Applications and Data
Once there’s understanding of what data and transactions are needed to be exposed as REST APIs, the next step is to design an implementation plan. Organizations looking to expose existing applications and data as RESTful APIs for development teams and third parties can use z/OS Connect EE, which consists of:
- A server runtime that executes on z/OS
- Workstation-based tooling for API creation, deployment and simple testing
Let’s review the key value points of z/OS Connect EE.
REST APIs enable data and applications running in the major z/OS subsystems: z/OS Connect EE supports applications and data running in CICS*, IMS*, Db2* and MQ for z/OS, plus provides integration points for other z/OS system-based applications or products (see Figure 1). The strategy is to allow z/OS applications and data to participate in the hybrid cloud and API economy the same as any other platform. API consumers (i.e., hybrid cloud application developers) can use APIs on z/OS without needing z/OS skills.
Doesn’t require back-end application changes: z/OS Connect EE is designed to prevent back-end application changes when defining REST APIs. Utilities included in z/OS Connect EE provide easy ways to jump start API creation, and z/OS Connect EE includes mapping technology between the callable APIs and back-end COBOL or PL/I applications that insulates the applications from needing changes (see Figure 2).
Intuitive tool-driven creation of APIs: z/OS Connect EE’s Eclipse-based tooling is designed to make the creation of APIs an administrative process and not to require programming. This enhances the productivity of the API designer by providing simple, fill-in-the-blank definitions and guided walk-through of API creation (see Figure 3).
Support of OpenAPI Specification (previously known as Swagger) for developers to easily learn how to use the defined APIs: It’s important for developers as consumers of APIs to be able to easily learn the specifics about invoking them. z/OS Connect EE supports the open standard specification known as OpenAPI Specification (swagger.io/specification ). The z/OS Connect Eclipse tooling automatically creates the description as APIs are defined for z/OS applications and data. This means that once APIs are defined they are ready to be used by hybrid cloud developers and minimize the learning curve for how to invoke the APIs.
Provides agile (dynamic) API creation, simple testing and easy deployment: z/OS Connect EE is designed to easily allow the creation and activation of new APIs dynamically. An enterprise may choose to have a managed change control process for critical APIs, but if an API needs to be changed (e.g., in a development or test environment), there’s a simple way using the Eclipse-based tooling to create, deploy and activate the software definitions. This allows z/OS applications and data to be accessed at a pace typically needed by today’s API economy. Also included in the tooling is a standard-based API functional test capability to confirm an API is active and functional.
Enables “division of duties” between z/OS team and enterprise API team for fast time to deploy: z/OS Connect EE is designed for z/OS application developers and administrators with knowledge of z/OS COBOL or PL/I applications. The objective is to make the z/OS teams productive and agile in the creation and deployment of APIs. Typically, today’s enterprises have another team whose focus is APIs across the entire enterprise including on-premises and cloud-based technologies. z/OS Connect EE empowers the z/OS team to implement APIs as needed and uses OpenAPI Specification to allow z/OS APIs to be used by the broader enterprise API team.
Note that the z/OS applications to be API-enabled is that z/OS Connect EE assumes that an application developer or administrator understands the COBOL or PL/I application to be API-enabled. If this isn’t the case, IBM Application Discovery and Delivery Intelligence can discover and describe the application inputs, outputs and interdependencies. This can facilitate API enablement of an application not fully understood by the person responsible for the application.
API requester allows z/OS applications to be API consumers: Something new to consider with z/OS Connect EE is z/OS applications being able to consume REST APIs rather than only being the source of API data and transactions. This is a significant change to the role of z/OS applications because they can now call REST APIs that might reside in the cloud, inside the enterprise or across to another enterprise. z/OS Connect EE makes it easy to call the REST API in the native COBOL or PL/I language on z/OS. Inserting a call to an API does require the host application to be slightly changed. However, the z/OS Connect EE utilities make it easy to map from COBOL or PL/I to the REST API by leveraging the OpenAPI Specification of the API to be called.
Developer Portal and API Management Process
A key companion product to z/OS Connect EE is IBM API Connect, which provides a master catalogue of APIs for an enterprise and can include the z/OS technology-based REST APIs along with other APIs within an enterprise. API Connect provides several key capabilities in addition to those already described for z/OS Connect EE:
- A master catalogue of enterprise APIs including tracking of version levels. API Connect can import the OpenAPI Specification of z/OS technology-based APIs to create a complete catalogue of enterprise APIs. They can be tagged with a version number for easy tracking of changes and, in the event an API needs to be sunset, API Connect can manage the phase-out of older versions. This provides a well-managed process for new API creation and phase-out when needed.
- Controlled developer access to APIs via a developer portal including administration of security credentials. API Connect provides a portal for developers to subscribe and stay informed about enterprise APIs, including those on z/OS. If needed, developers can be granted access to individual APIs including administering security access at the enterprise level. The API Connect security enforcement is in addition to z/OS access security provided by z/OS Connect EE.
- Monitoring of API traffic with the option of throttling usage if someone is exceeding the allowed access. API Connect works with enterprise security gateways to monitor and control API traffic at the edge of the enterprise. It provides the option to throttle overuse whether it resides on z/OS or elsewhere in the enterprise. This level of protection is in addition to normal z/OS control and protections built into the system to prevent overcommitment of z/OS technology-based resources.
- Providing either on-premises or cloud-based control of the enterprise APIs. API Connect provides deployment flexibility in the location of the master catalogue and management controls for enterprise REST APIs. API Connect provides choice between deploying on the IBM Bluemix* cloud or on the premises of an enterprise. z/OS Connect EE can provide the z/OS API information to either environment and benefit from the management capabilities described previously. Hybrid cloud applications can access the master catalogue wherever it resides and can access the z/OS-based applications and data with ease.
In addition to the API management capabilities of IBM API Connect, the runtime server of z/OS Connect EE can be monitored by IBM OMEGAMON* for JVM on z/OS and IBM OMEGAMON for Application Performance Management to track the operation and performance of the z/OS APIs to provide smooth running and responsive environment.
Enterprise Empowerment
z/OS Connect EE focus is the REST API enablement of z/OS applications and data. It provides ways to create and deploy APIs without application changes and share z/OS-based API specifics using the OpenAPI Specification. z/OS Connect EE also expands the role of z/OS technology-based applications with API Requester opening the world of APIs to an enterprise’s core business functions on z/OS.
With z/OS Connect EE, z/OS application and data are equal participants in the API economy and can empower an enterprise’s hybrid cloud implementation.