The Linux Foundation Projects
Skip to main content
BlogMentorshipZowe

Mentorship: Zebra JavaScript Application

By August 6, 2024August 20th, 2024No Comments

 

Written by Zigurds Licis, Open Mainframe Project 2024 Summer Mentee

Hey guys! My name is Zig Licis and I have just completed my undergraduate degree in Computer Engineering at Queen’s University in Canada, where I will be returning to complete my Master of Engineering graduate degree in the fall. I have keen interests in software development, data science, and machine learning and am passionate about leveraging my skills to tackle any problem I find interesting or valuable to solve, while being in a position to innovate and contribute towards developing solutions to modern problems.

This summer, I’ve had the privilege to work with mentors at the Open Mainframe Project as a mentee on the Zebra JavaScript Application project. This blog highlights my journey to joining the team as a mentee, the project, as well as my experience and progress on the project thus far.

Journey to the Mentee Program

A big goal of mine was to get some industry experience prior to my Master of Engineering program in the fall, which is why I decided to apply to for the open source development mentorship program at Open Mainframe Project. The opportunity of working alongside experienced mentors to learn and grow my industry skills while contributing to the Mainframe was an extremely exciting one and was honored to be accepted. 

The Zebra JavaScript Application Project

Zowe is an open source framework for z/OS, an operating system for IBM Z mainframes. Zebra is a performance monitor which utilizes Grafana and Promethius to display these System Z metrics in more readable and understandable forms, helping mainframe users understand how the mainframe is working and its usage. With hundreds of metrics existent, the selection process for viewing and comparing them becomes quite difficult and confusing, especially at the step of converting the metrics to JSON. This is where my project stems from. The goal is to modernize this selection process by developing a standalone JavaScript application, allowing users to more conveniently and efficiently choose the metrics they need converted to a JSON file used by Zebra.

My Progress Thus Far

As I was accepted as a mentee for this project a bit late into the term, I was slightly behind familiarizing myself with the Open Mainframe Project. Therefore, my first steps were learning about the project and Zebra through meetings with my mentors – Vincent Terrone, Senior Solutions Architect at Vicom Infinity, and Fernando Zangari, Senior Consultant – and reviewing the Zebra docs and demos. As my project involves modernizing the metric sorting and selection process, I require a strong understanding of these metrics and the components that make them up.

First, with the help of the mentors, I got setup and connected to the Zebra server, allowing me to view how the application parses, processes, and handles these metrics from RMF to JSON format. This also gave me an understanding of how the metrics are received from the DDS and server. I then spent time reading into the different metrics and the various components that make them up allowing me to gain insights on grouping and sorting them in my first app prototype. The project was being worked on for a short period of time by another Mentee, who was moved to different project shortly after beginning his work. Therefore, there was already an early prototype developed. This was extremely helpful as it gave me a further understanding of the project deliverables and a base to build upon. Up until the deadline of the first half of the program, I worked on building out this prototype to allow users to select metrics from their components, providing a JSON output of all selected metrics.

Future Work/Next Steps

There is lots of future work to be done in the second half of the program this summer. Further developing the filtering and selection process will be a large step as this functionality of the prototype will be iterated on continuously throughout the summer. The method in which Zebra invokes MVS_IMAGE and SYSPLEX metrics vary so consideration of that must be reflected in the application. In addition to functionality development, the UI will be worked on to appear similarly to the current Zebra application for consistency and an elevated user experience. The current prototype pulls metrics from a local file for testing and development purposes, though in the future will need to be connected to the Zebra server and interacting with real-time metrics for scalability testing. Finally, any further functionality implementations decided on by me and the Mentors may be added to further improve the metric selection process as the main goal of the project is to optimize this process.

All in all, it has been a pleasure working on this project and with my mentors, and I look forward to the second half of the summer program and the exciting potential of this project. 

Mentees will be blogging about their experiences. Stay tuned here and the Open Mainframe Project social channels for updates.