origami birds flying out of box

It’s been one year since IBM, CA (now Broadcom), and Rocket joined forces and launched Zowe, the very first open-source framework for z/OS.  Zowe is a collaborative project that aims to offer users modern interfaces such as API, CLI, and Web UI for z/OS, providing any z/OS user the same user experience and tooling as the cloud platform.  Since its initial availability, Zowe has been downloaded by more than 1000 users and has been endorsed by the industry as a finalist for one of the best DevOps projects for 2018

IMS’s modernization strategy aligns well with Zowe, whose objective is to simplify how users interact with z/OS – in other words, to make the user experience on z/OS the same as it is on any other cloud-based platform.  We partnered with Broadcom and recently delivered two open source projects to Zowe. Both projects provide new and modern interfaces to help users manage IMS resources and improve the DevOps experience for IMS application delivery. 

The first project is the IMS Operations API, which provides a set of REST APIs that clients can use to manage IMS resources, supplementing the existing ISPF-based SPOC and JCL interfaces for IMS type-2 commands. These REST APIs allow IMS users to easily get the list of active application dependent regions, IMS programs, and transaction resources.  Clients can also use the APIs to start and stop application regions, transactions, and programs.  The Operations API also provides a Swagger document describing the IMS Commands and APIs.

The second project is the Zowe CLI Plugin for IMS, which adds a CLI interface for the IMS Operations API.  By using the Zowe CLI Plugin for IMS with the IMS Operations API, clients can issue IMS commands to query, start, and stop IMS resources from a command-line interface. 

Both of these new interfaces, REST APIs or CLI, can help to reduce the learning curve associated with managing IMS resources.  

Let’s look at the following scenario:

Susan, a new IMS application developer, needs to fix an issue in an existing IMS application. To integrate and deliver the updated code for the fix, she needs to refresh the application resources in the IMS system.  

To refresh the IMS application resources, Susan needs to stop and start the IMS application region.  In addition, Susan might need to restart the transaction and program resources as well if it hasn’t been run properly. 

Susan goes to Sanjay, the IMS system programmer, for help.  Sanjay tells Susan that she can open a TSO SPOC session on Z or submit a JCL job that issue IMS commands to refresh the resources.   This is all new to Susan; she realizes that she  needs to spend some time learning how to interact with the Z environment.

After some research, Susan learns that she can use the IMS Operations API or Zowe CLI commands to issue the IMS commands.  They can be issued directly, either from a modern application development tool, or any REST API tool with which she is already familiar. In other words, without requiring any specific Z skills. 

To start/stop an IMS application region, she issues the following REST APIs from a REST client tool (like Postman):

PUT {host}:{port}/ims/apis/v1/{imsplex}/region/stop?jobname={myregion}
PUT {host}:{port}/ims/apis/v1/{imsplex}/region/start?member_name={member name}

Alternately, she can use CLI from a command prompt or development tool (such as VS Code or IDz), directly from her laptop, to issue the IMS commands:

zowe ims stop region --job-name jobname myregion
zowe ims start region mymember

You can see a live-action video of the Operations API and Zowe CLI here.

These APIs and CLI commands can also be called directly from a DevOps pipeline (like Jenkins) to promote automated and continuous delivery of IMS application changes in a modern fashion.

For more information on getting started with the Operations API and Zowe CLI, see the following Zowe Github repositories:

Join The Discussion

Your email address will not be published. Required fields are marked *