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 setup 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. A key feature of this tool is to provide modern experience for mainframe software developers working with z/OS® applications in the cloud using
IBM Wazi Development Client. Currently IBM Wazi Development Client is a technology preview (For all the content under technology preview, IBM provides the information without obligation of support and "as is" without warranty of any kind). 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 Editor,
IBM User Build and
Zowe™ Explorer, as well as the command-line tools
Zowe CLI 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 Code 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 Editor as well as connectivity to Z host using
Zowe Explorer, run user builds using
IBM User Build, and interact with the
IBM Remote System Explorer API, all in one Mainframe Development package using the
IBM Wazi Development Client stack with custom plugin and devfile registry support.
Fig 1: IBM Wazi Development Client controller architectureThe 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
Fig 2: Screen capture of IBM Wazi Development Client Dashboard
Features
Here are the main features that IBM Wazi Development Client offers.
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 moreFig 3: Editing experience of COBOL files using IBM Z Open Editor in IBM Wazi Development ClientFig 4: Editing experience of PL/I files using IBM Z Open Editor in IBM Wazi Development ClientFig 5: Editing experience of Assembler files using IBM Z Open Editor in IBM Wazi Development Client
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 environment.
Learn moreFig 6: User Build using IBM User Build in IBM Wazi Development Client
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 moreFig 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
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 moreFig 8: Running Zowe commands to create, delete, or update profiles using Zowe CLI in IBM Wazi Development Client
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 moreFig 9: Create, delete or update RSE profiles using the RSE CLI plug-in in IBM Wazi Development Client
Installation
IBM Wazi Development Client is installed into the OperatorHub of an OpenShift® cluster via a CASE bundle. The CASE installer will create a Custom Resource Definition (CRD) instance called
wazi-codeready-operator-catalog
of type CatalogSource inside your OpenShift cluster. After the resource is successfully installed, you will be able to see Wazi Development Client Operator inside OperatorHub. Follow
these steps to install IBM Wazi Development Client into the OperatorHub of OpenShift® Cluster via a CASE Bundle and its prerequisites.
If you are an
IBM Developer for z/OS customer, IBM Wazi Development Client is also available in IBM Developer for z/OS Enterprise Edition.
Documentation
For more information or to learn more about IBM Wazi Development Client, see
IBM Wazi Development Client Documentation.
Note: IBM Wazi Development Client is built on top of
Red Hat CodeReady Workspaces. For more information on what else can be done with workspaces, see the
End-User Guide.
Further Resources
In addition to trying our IBM Wazi Development Client, we invite you to read further resources related to IBM® Wazi for Red Hat® CodeReady Workspaces:
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 repository.
We are always looking for ways to improve.