My Mentorship: Zowe Explorer Extension Templates

Written by Muhammad Ali, Open Mainframe Project 2021 Summer Mentee

My Background

My name is Muhammad and I’m a final year Statistics student at Kano University of Science and Technology, wudil, Kano state, Nigeria. Beside my school activities, I started learning python programming language due to its English-like syntax over other languages and start to develop interest in Software development.

I previously participated in the Master the Mainframe program, where I learned and displayed fundamental mainframe skills. It’s because of this program that I am  able to perform everyday tasks in an IBM Z mainframe environment, including administering data sets, formulating commands, managing JCL, scripting actions in USS (Unix System Services), writing and debugging Python, and orchestrating actions through IBM Z Open Automation Utilities.

I got to know about the Open Mainframe Project through my brother Salisu Ali, who was a participant of last year’s Mentorship program. He was a Zowe mentee working with Alex Kim from Vicom Infinity, where they created the Zebra project.

My Mentorship: Zowe Explorer Extension Templates

Zowe is an integrated and extensible open source framework for z/OS. Zowe, like Mac OS or Windows, comes with a set of APIs and OS capabilities that applications build on and also includes some applications out of the box.

Zowe is composed of several components, each improving the learning ability, accessibility, and possibility of mainframe development.

We are working to bring about the availability of a Template VS Code extension(s) that will be similar to Zowe CLI sample but tailored for mainframe. This will serve as a guidance or documentation to help Zowe extenders build Zowe-related VS Code extensions that extends Zowe Explorer capabilities (menu or tree) or provides direct connection to backend services and work well within Zowe ecosystem (e.g. use Zowe CLI profiles).

Case:

Our milestone entails a sample Zowe CLI plugin which connects to the Zowe Sample API Service and call a REST API and responds to the user with a message through the VS Code extension which extends Zowe explorer. Currently, I’m working on some test cases (jest) to unit test and ensure correctness of the Codebase.

Daniel Kelosky, my mentor from Broadcom, has guided and supported me a great deal. He has also shared a lot of his knowledge with me – I learned a lot such as :

  • Typescript
  • Javascript
  • js
  • json(Recap. The package. json file is the heart of any Node project. It records important metadata about a project which is required before publishing to NPM, and also defines functional attributes of a project that npm uses to install dependencies, run scripts, and identify the entry point to our package)
  • jest for unit testing
  • How to develop a new Zowe CLI plugin
  • SDK
  • Creating a VSCode extension
  • JSON
  • And some interesting tooling about Zowe and mainframes in general

The Open Mainframe Project Mentorship program has exposed me to many technologies that has paved the way for me to achieve my goal of being a permanent part of the mainframe environment.

Hopefully, just like the late famous boxer Muhammad Ali, there will soon be a famous software developer Muhammad Ali proficient in the mainframe system. I have a long way to go but I’m glad I got started. Can’t wait to see how my journey into the mainframe continues.

Learn more about Muhammad, Daniel or any of our other 2021 Summer Mentorship participants in this blog.