Written by Jakub Balhar, Chair of Open Mainframe Project’s Zowe Technical Steering Committee and R&D Engineer at Broadcom
Overview
Open Mainframe Project’s Zowe aims to reduce the learning curve for utilizing mainframe technology, attract new people to participate in Zowe’s development, and simplify the overall architecture of Zowe. Zowe is an integrated and extensible open source platform for z/OS with a coherent and curated set of user and programmatic interfaces that together satisfy a wide range of objectives, including:
- Providing consistent access to z/OS systems and services
- Leveraging industry standard methodologies, and standards familiar to the vast majority of today’s developers and IT staff
- Establishing a commonly accepted standard within the mainframe community
Zowe is powered by a set of REST APIs that enable mainframe access across distributed platforms. Zowe is also extensible enabling vendor services to integrate with this platform. Along with the rapid increase in the number of REST services that are becoming available is the corresponding need to provide an easily accessible and versatile means of managing them. The Zowe API Mediation Layer is such a means. This component provides a single gateway through which all services are accessed, a UI catalog which presents which services are available, and a discovery service to automatically find new services as they become available.
There are also a variety of Zowe client technologies users can leverage. The Zowe Application Framework is a web UI that provides a virtual desktop containing apps to interact with the mainframe. Available out-of-the-box apps include a 3270 terminal, VT Terminal, as well as apps for interacting with JES, MVS Data Sets and Unix System Services. The Zowe Command Line Interface enables interaction with the mainframe from a distributed environment. The CLI acts as a user interface as well as a programmatic interface enabling quick exploration of z/OS functions in real-time, and simple abstraction of basic commands into more complex and useful automation. The CLI acts as a bridge between the mainframe and the plethora of distributed tools available, such as Jenkins. Zowe Explorer is a Visual Studio Code extension that modernizes the way developers and system administrators interact with z/OS mainframes. Zowe Explorer lets you interact with data sets, USS files, and jobs that are stored on z/OS. Zowe Explorer and Zowe CLI are built on the Zowe Node Client SDK. This SDK provides access to a set of programmatic APIs that you can use to build client applications or scripts that interact with z/OS. Client SDKs for Python & Swift are also under development.
Improvements in server side components
In the first half of 2021, two overarching initiatives will be introduced for development across the full spectrum of the Zowe server-side components. Both initiatives correspond to the varied approaches which are necessary for success in a heterogeneous environment. One initiative addresses the different ways of setting up Zowe with high availability by means of allowing for the multiplication of the key Zowe components across different operating environments, so that these components seamlessly work together as a single unit from the user’s point of view. The other initiative focuses on the different ways to containerize Zowe to improve the flexibility of deploying Zowe in heterogeneous environments. As parts of Zowe run on the z platform, while other parts of Zowe run externally in either a private or public cloud, the challenge is to ensure that all communication is safe as well as efficient. Enabling high availability together with containerization lays a solid foundation upon which to build enhanced capabilities for horizontal scaling of specific Zowe components based on load expectations. This enhanced high-availability setup together with containerization also makes it possible to treat “the environment as code” whereby all information necessary to run Zowe, including the environment, is stored in version control systems.
Another key topic on the agenda for 2021 is in the area of processing, understanding, and analyzing data. Zowe usage produces tremendous amounts of data, which, at the present time, are mostly ignored. In 2021, the Zowe development team aims to provide a simple and central solution improving the visibility of all relevant operation metrics as well as analysis of the traffic data for security and performance in a manner compatible with the methods and tools used across distributed environments. Improving the visibility of operations metrics should help Zowe users maintain high levels of performance, availability and security, while simultaneously optimizing their operations costs by drawing on the minimal amount of resources required for system performance.
As a central part of these various initiatives, the Zowe development team will continue to integrate and improve security across all Zowe components. Providing security enhancements remains a central focus of the Zowe Open Mainframe Project, whether it be the integration of more security related tooling into development pipelines, or tighter integration with access controls available in the mainframe environment. The Zowe development team is committed to ensuring that all Zowe operations are as safe as possible.
Improvements in components running on the client side
In 2021, the Zowe development team also plans to simplify the configuration of Zowe CLI, Explorer, and Client SDKs in an effort to improve the onboarding experience, aligning with Zowe’s mission to reduce the learning curve of leveraging mainframe technology and attract new people to the Zowe Open Mainframe Project. Until now, users have had to configure each connection to z/OS, and only a single global configuration was supported. Tomorrow, and soon to be available as a Zowe CLI Technical Preview, users will be able to easily share both global and project-specific configurations. This exciting development makes sharing configuration to work on the mainframe as easy as cloning a repository or downloading a file, and of course, providing user specific information including credentials. In the future, and planned for the upcoming Program Increment, is further integration with the Zowe API Mediation Layer to help aid in the initial set up of the connection configuration for API Mediation Layer conformant services.
Another key component within the Zowe ecosystem is the Virtual Desktop where new applications continue to be created for it. With no central place for advertising of all the applications available, the adoption of specific applications has not been as successful as perhaps it could be. To address this shortcoming, the Zowe development team will focus on finding new ways to help users look for existing applications and install them.
Improvements in Zowe operations
Another key initiative for 2021 is the automation and stabilization of the release process. During 2020 the Zowe development team faced regular issues with releasing new versions of Zowe on schedule. There is ongoing work mapping the key manual pain points which focus primarily on removing as many manual steps as possible and simplifying the whole process.
One of Zowe’s key offerings is the support of vendors in providing commercial as well as open source extensions to Zowe. Some of the Zowe components already have mature extension development as well as a defined conformance process. During 2021 the Zowe development team will focus on making sure that, wherever possible, installation, development and the conformance process of these components are as coherent and simple as possible. There are also plans to extend the conformance process to other areas of Zowe, beyond just development such as support offerings
Documentation improvements for newcomers to Zowe, regardless of whether they are coming as users, developers or administrators will also be a continued effort in 2021. As part of this effort, the Zowe development team intends to continue our focus on simplification and user experience with the documentation to help streamline the onboarding process.
Conclusion
2020 was about getting Zowe to the enterprise level with the vast array of functionalities and helping newcomers work with the mainframe in an efficient and effective manner. 2021 will be the year of consolidation and simplification. Getting Zowe up and running and working with this exciting technology without delays and downtime should be made as simple as installing and getting started with a new app on your smartphone.
If you’d like to learn more about Open Mainframe Project’s Zowe, check out the video below of today’s Zowe Quarterly Update Webinar.