Many people think that using a mainframe is hard. They have a picture in their minds of green screens and arcane subsystems that are incredibly hard to get to grips with. The trouble is that so many of the people who work on mainframes have been doing so for 40 years. And that means they have had plenty of time to get the hang of how these arcane subsystems work. And they like using green screens because they can get their work done very quickly using them.
So, that’s fine if you’ve been in the business for a long time. But what’s available to encourage newer people into the world of the mainframe? It seems there are quite a lot of products available.
z/OSMF Simplifies Systems Management
One such product that new systems programmers can use is the IBM z/OS Management Facility (z/OSMF). This provides system management functionality in a task-oriented, web browser-based UI with integrated user assistance, and according to IBM, “improves z/OS system programmer's productivity by using simplified, streamlined, and automated tasks. This easier-to-use functionality reduces both programmer training time and the learning curve.”
The thinking is that z/OSMF simplifies some areas of z/OS system management by streamlining some traditional tasks and automating others. So, using a familiar web-browser interface, the product provides a framework that can be used for managing different aspects of a z/OS system. In essence, a sysprog can use the z/OSMF’s web interface for:
Viewing, defining, and updating policies that affect system behavior
Monitoring the performance of the systems in the enterprise
Managing software that runs on z/OS
Performing problem data management tasks
Consolidating the available z/OS management tools
The advantage of using z/OSMF is that the systems programmer can work from anywhere, on any device that has a browser and an internet connection. From there, they can connect to z/OS and monitor or make any changes that are required. And more than one sysprog can be using z/OSMF at any one time.
Working from a browser provides younger members of staff with an interface that they will be already familiar with. And using the framework makes interacting with the operating system much easier.
VSCode and Other Extensions Enable Developers With Non-Mainframe Backgrounds
Secondly, Microsoft Visual Studio Code (VSCode), which developers from non-mainframe backgrounds will almost definitely be familiar with.
VSCode was first released in 2015. It’s freeware and was created by Microsoft as a source code editor. It also works with Windows, Linux, and MacOS. The source code is available on GitHub. It can be used, as you’d expect, for debugging as well as syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users like it because they can change the theme, keyboard shortcuts, preferences, and install extensions for added functionality. In 2019, it was ranked as the most popular developer environment tool by Stack Overflow.
For developers using blockchain, IBM has released a VSCode extension called the IBM Blockchain Platform Extension, which helps developers produce smart contracts. A smart contract is a computer program or a transaction protocol intended to automatically execute, control or document legally relevant events or actions according to contract or agreement terms.
When using blockchain, there can be issues with the creation and testing of smart contracts across various DevOps environments. The VSCode IBM Blockchain Platform Extension is designed to help developers create, test and deploy smart contracts, enabling users to connect to a local Hyperledger Fabric (HLF) development environment to test smart contracts before they are deployed in runtimes such as IBM Cloud (with IBM Blockchain Platform for IBM Cloud) and more.
Broadcom has released Code4z, which is a collection of free extensions for VSCode tailored for developers on the mainframe platform.
Because VSCode is so well known there shouldn’t be any difficulty finding people who can work using it.
Zowe and Open Source Provide Easier Interoperability
Zowe provides another way for people without mainframe experience to treat mainframes like any other servers. It’s an open-source software framework that provides easier interoperability and scalability between products and solutions from different vendors.
Rather than using ISPF or Eclipse, developers can use VSCode or any other editor that they choose, when they write code for the mainframe. Developers can now use task runners, which simplify and automate tasks that developers need to perform repeatedly when writing, building, and testing code. These are not otherwise available on a mainframe. Zowe provides a number of testing frameworks, including Chai, JMeter and Mocha, that can be used to identify defects in code as early as possible—and which can then be fixed CI/CD links development and operation activities and teams, and enforces automation in the building, testing, and deployment of applications.
Zowe makes CI/CD tools like Jenkins, Bamboo and Urban Code available to developers. These, with task runners, automate the testing, packaging, promoting and deploying of code. Zowe makes tools like Ansible and SaltStack available on mainframes, allowing the speedy deployment of new versions of software, while minimizing risk and reducing costs.
These tools that are familiar to non-mainframe staff, now become available for use on the mainframe. And there is a Zowe Explorer Extension for VSCode, making working on mainframes a lot easier for non-mainframe people.
Accessing Traditional z/OS Resources With ZOAU
Lastly, Z Open Automation Utilities (ZOAU) provides a runtime to support the execution of automation tasks on z/OS through Java, Python and shell commands. With ZOAU, it’s possible to run traditional MVS commands, such as IEBCOPY, IDCAMS and IKJEFT01, as well as perform a number of data set operations in most scripting languages.
For programmers who are used to working with Linux and Unix, and who are very familiar with using UNIX System Services, ZOAU provides a very similar way for them to access traditional z/OS resources, such as data sets, directly, without needing to use JCL. The utilities have names and syntax that seems very familiar to UNIX developers. For example, you can use the dls command to list data sets, which has a similar syntax and output to the Unix and Linux ls command.
Because ZOAU commands are true UNIX System Services commands, they support piping and redirection of stdin, stdout and stderr. The ZOAU commands can be included in shell and bash scripts, without any complex dependencies. In addition, man pages are provided for the ZOAU commands, helping users to learn the details of the commands in the same way as for other Linux or UNIX commands. ZOAU is a prerequisite for Red Hat Ansible Certified Content for IBM Z.
ZOAU provides another familiar interface for non-mainframe trained people to work on the mainframe.
These days, there are plenty of ways for people who may be unfamiliar with the mainframe to be able to start working productively on it using the skills that they already have.