Kubernetes-Native Integrated Z Developer Environment with IBM Wazi for Red Hat CodeReady Workspaces Development Client

By Prasang A Prajapati

Have you ever experienced problems in setting up a development environment? Also, have you ever heard this excuse when reporting a bug to a colleague? "It works on my machine!"

You are joining a new development team or project and you have spent the first couple of days or longer just with installing the right tools, getting access to the right system and configuring your development profiles. Similarly, when starting a new project, a large portion of time and energy is spent on setting up the development environment. Think about how inefficient it could be if this type of set up routine is repeated for every new team member or new project every time.

To address this problem, there is an amazing tool called IBM® Wazi for Red Hat® CodeReady Workspaces Development Clientopen in new window (IBM Wazi Development Client). IBM Wazi Development Client is built on the Red Hat CodeReady Workspaces project. IBM Wazi Development Client uses Kubernetes and containers to provide any member of the development or IT team with a consistent, secure, and zero-configuration development environment for the IBM Z® Platform. The user experience is as fast and familiar as an integrated development environment (IDE) on their laptop.

IBM Wazi Development Client provides a modern experience for mainframe software developers working with z/OS® applications in the cloud by leveraging the available Visual Studio Code (VS Code) extensions IBM Z Open Editoropen in new window, IBM User Buildopen in new window and Zowe™ Exploreropen in new window, as well as the command-line tools Zowe CLIopen in new window and IBM RSE API Plug-in for Zowe CLI. Developers can use these Visual Studio Code extensions and command line tools on their local machine with the Visual Studio Codeopen in new window desktop IDE. Now, IBM Wazi Development Client makes this experience also available in the cloud. Powered by the open-source projects Zowe and Red Hat CodeReady Workspaces, IBM Wazi Development Client offers an easy, streamlined on-boarding process to get new mainframe developers using the tools they need. Using container technology and stacks, IBM Wazi Development Client brings the necessary technology to the task at hand.

Mainframe developers can now have rich language support for COBOL, PL/I, Assembler and JCL using IBM Z Open Editoropen in new window as well as connectivity to Z host using Zowe Exploreropen in new window, run user builds using IBM User Buildopen in new window, and interact with the IBM Remote System Explorer API, all in one Mainframe Development package using the IBM Wazi Development Client stackopen in new window with custom plugin and devfile registry support.

wazi-development-client

Fig 1: IBM Wazi for Red Hat CodeReady Workspaces Development Client controller architecture

The above figure explains workspaces controller architecture for the IBM Wazi Development Client. OpenShift® leverages the Kubernetes concept of a pod, which is one or more containers deployed together on one host, and the smallest compute unit that can be defined, deployed, and managed. In the IBM Wazi Development Client, when the user creates a workspace using Wazi Development Client Stack, it creates a workspace with deployed user runtime as well as a plugin sidecar container.

IBM Wazi Development Client Dashboard

wazi-development-client-dashboard

Fig 2: Screen capture of IBM Wazi Development Client Dashboard

Features

Here are the main features that IBM Wazi Development Client offers.

  1. IBM Z Open Editoropen in new window

    IBM Z Open Editor is a free Visual Studio Code extension that provides a modern editing experience for IBM Z Enterprise languages. IBM Z Open Editor gives developers the freedom to code in COBOL, PL/I and Assembler using the same editor they use for other languages such as Java™ and JavaScript. Learn moreopen in new window

    ibm-z-open-editor-cobolFig 3: Editing experience of COBOL files using IBM Z Open Editor in IBM Wazi Development Client

    ibm-z-open-editor-pl1Fig 4: Editing experience of PL/I files using IBM Z Open Editor in IBM Wazi Development Client

    ibm-z-open-editor-assemblerFig 5: Editing experience of Assembler files using IBM Z Open Editor in IBM Wazi Development Client

  2. IBM User Buildopen in new window

    The IBM User Build VS Code extension helps COBOL developers leverage the IBM Dependency Based Build (DBB) toolkit right from their local VS Code or IBM Wazi Development Client enviroment. Learn moreopen in new window

    ibm-user-buildFig 6: User Build using IBM User Build in IBM Wazi Development Client

  3. Zowe Exploreropen in new window

    Zowe Explorer is a free Visual Studio Code extension that lets you interact with data sets, USS files and jobs that are stored on IBM z/OS mainframes. You can explore data sets, USS files and jobs to view their contents, make changes, and upload the changes to the mainframe. Interacting with data sets, USS files and jobs from VS Code can be more convenient than using command-line interfaces or 3270 emulators. Learn moreopen in new window

    zowe-explorerFig 7: Interacting with data sets, USS files and jobs that are stored on IBM z/OS mainframes using Zowe Explorer in IBM Wazi Development Client

  4. Zowe CLIopen in new window

    Zowe CLI is a command-line interface that lets you interact with the mainframe in a familiar, off-platform format. Zowe CLI helps to increase overall productivity, reduce the learning curve for developing mainframe applications, and exploit the ease-of-use of off-platform tools. Zowe CLI lets you use common tools such as Integrated Development Environments (IDEs), shell commands, bash scripts, and build tools for mainframe development. Through its ecosystem of plug-ins, you can automate actions on systems such as IBM Db2®, IBM CICS®, and more. It provides a set of utilities and services for users who want to become efficient in supporting and building z/OS applications quickly. Learn moreopen in new window

    zowe-cliFig 8: Running Zowe commands to create, delete, or update profiles using Zowe CLI in IBM Wazi Development Client

  5. IBM RSE API Plug-in for Zowe CLI

    IBM RSE API Plug-in for Zowe CLI (RSE CLI plug-in) extends Zowe CLI to let you interact with z/OS resources. The RSE CLI plug-in interacts with z/OS by using IBM Remote System Explorer API (RSE API) instead of using z/OSMF. The RSE API is a collection of REST APIs that allow a client to work with various components on the z/OS host system, including MVS™ data sets, z/OS UNIX files and commands, JES jobs, and more. The overall solution results in a complete set of operations that allows you to do everything with RSE API that you could do with z/OSMF. It is therefore a great alternative if you have already used the Remote System Explorer with other IBM offerings such as IBM Developer for z/OS or IBM Explorer for z/OS. Learn more

    ibm-rse-apiFig 9: Create, delete or update RSE profiles using the RSE CLI plug-in in IBM Wazi Development Client

Documentation

For more information or to learn more about IBM Wazi for Red Hat CodeReady Workspaces Development Client, see IBM Wazi for Red Hat CodeReady Workspaces Development Client Documentationopen in new window.

Note: IBM Wazi Development Client is built on top of Red Hat CodeReady Workspacesopen in new window. For more information on what else can be done with workspaces, see the End-User Guideopen in new window.

Questions or feedback

We would love to hear what you think of this solution. For any questions, issues, or enhancement ideas, you can open an issue in the Wazi Codeready WorkSpaces Github repositoryopen in new window.

We are always looking for ways to improve.

Last Updated:
Contributors: Lauren Li, PrasangAPrajapati, Peter Haumer, Arvin Bhatnagar, Hestia Zhang, Shi Kun Li, kmaselli