Zowe's use in the mainframe industry has increased, enabling mainframers to engage with their work like those who primarily work on cloud, mobile, and distributed platforms. Experts say that Zowe has helped unlock the power of DevOps for mainframers, further extending the life of the platform. At SHARE Virtual Experience in August 2021, Jessielaine Punongbayan, product marketing engineer at Broadcom, and Richelle Anne Craw, senior software engineer at Broadcom, shared the latest on how Zowe can become a modern mainframe bridge with the help of the Zowe Explorer Starter Kit.
Zowe: A Modern Mainframe Bridge
According to Craw, "Zowe plays an important role in making open source tools easy to integrate into the mainframe environment. Whether your role is an application developer, system programmer, QA or DevOps engineer, you can leverage Zowe in your day-to-day tasks, using different APIs, components, and scripts." Zowe Explorer enables organizations to easily onboard new mainframers because the familiarity of the tool makes mainframe applications less intimidating to use. She adds, "For more experienced mainframers, using Zowe Explorer also helps boost productivity and allows for more automation to be built into the tool."
Punongbayan and Craw say the Zowe Explorer extension for Visual Studio Code (VS Code) can help provide some users with their first real connection to the mainframe. The Zowe Explorer Starter Kit, they add, provides a way for these extenders to leverage the extensible APIs and resources built within Zowe Explorer and create brand new extensions that add functionalities without the need to implement everything from scratch.
Punongbayan points out that Zowe is like a modern mainframe bridge because it enables those in the mainframe world to incorporate what they already know into their current work that requires them to leverage new technologies. "When I hear 'modernization,' it is either re-architecting or re-coding the mainframe applications. But when I saw all of Zowe's components, I realized that I don't need to let go of what I already know," she explains. "For me, Zowe is like a candy wrapper surrounding the mainframe. I can still work on the same mainframe applications with the same languages, architecture, and tools, but I can add a modern twist to it." As a result, Punongbayan doesn't feel "stuck" in one technology; she's able to explore and learn more.
Zowe Explorer and VS Code
According to Craw, Zowe Explorer extension APIs are a good place to start, which will entail figuring out a use case and which Zowe Explorer functionality goes with it. From there, she says users can customize their extensions by either adding a new menu item in the existing Zowe Explorer views, adding a completely new view, and/or providing an alternative data provider implementation. Craw adds that the profiles package implementation is free of any VS Code dependencies, allowing APIs to be used by non-VS Code tools, like in the Zowe CLI plugin.
Punongbayan advises that users investigate, innovate, and advocate.
· Investigate: Broadcom's Zowe Explorer Starter Template, she says, extends Zowe Explorer and executes a “Hello World” message. Part of that investigative phase is reading the documentation that provides more detail on the kinds of extensions that users can employ, what APIs to use, and what naming convention to apply, among other things.
· Innovate: Once users are familiar with the code, they can begin to innovate by creating a scenario, explains Punongbayan. "Answer the question: 'If there is a feature (whether it is big or small) that you would like to have while using mainframes, what would it be?' Plan the approach on how you would tackle this scenario and incorporate Zowe Explorer or VS Code with it. Then start coding," she says.
· Advocate: Finally, once users learn something new through Zowe Explorer, they should share it. "There might be somebody who is creating an extension who is facing the same problem as you," says Punongbayan. "Write a blog about it, or create a Youtube video or just post it in Slack. The Zowe community will thank you for it."
The Zowe Explorer Extension for zFTP is a good example of an extension that is built on top of the Zowe Explorer extension APIs. It provides a capability to use all Zowe Explorer functionalities, but instead of using z/OSMF connection, it uses zFTP. This extension has a new profile type that is not only for the different Zowe Explorer views but also for its matching Zowe CLI plugin.
Craw and Punongbayan caution that when creating a VS Code extension, be consistent in naming settings, menu items, and error messages. Additionally, they say it is important to make use of the provided API to access the profiles cache, register the new profile type to the appropriate Zowe Explorer views, and be conscious about initializing the extension without the need to install the counterpart Zowe CLI plugin.
As part of the Zowe Explorer squad — a group that aims to maintain and grow the Zowe Explorer extension for VS Code and work to create synergies across Zowe components — Punongbayan and Craw say that Zowe Explorer extension APIs were built with the most popular use cases in mind. However, if users find that there are other functionalities or APIs that should be exposed to extenders, the squad would love to hear about them. If users find they have use cases that are not covered, users are encouraged to reach out so that the squad can develop a strategy for opening up more avenues for extenders. Users are encouraged to reach out through GitHub or Open Mainframe Slack at #zowe-explorer channel.