No More Black and Green Screens: Introducing A New Visual, Drag-and-Drop Plugin for JetBrain’s IDE Family
We have some great news…
We are proud to introduce our new plugin to modernize mainframe! This is the first plugin ever developed to modernize JetBrain’s IDE family, and it works with Intellij IDEA, PyCharm, and many other IDEs. |
Our plugin modernizes one of the biggest legacy elements of mainframe — the “black and green” screen”. It creates a new way to interact with basic mainframe functionality, and gives users the same visual, drag-and-drop interface that every other operating system uses.
If you already know you’d like to try out this plugin, then just click here.
But if you want to learn more about it and how it works, then read on.
In this article, we will share with you:
- Why we created this new plugin, and how it contributes to our overall efforts to modernize mainframe.
- The vision we created for this plugin, and the unique architecture we developed to bring this vision to life.
- How our plugin will improve your day-to-day life, and what we are developing next.
Let’s dig in!
Table of contents
Our Mission: To Modernize All Things Mainframe
We did not create this new plugin in isolation.
Instead, it’s part of a broader mission that we’ve been working towards for years — we are trying to modernize all things mainframe. With this plugin, we are specifically trying to make mainframe more accessible and appealing to new technology talent. Here’s why.
Right now, most people working in mainframe are old timers. They have been in their jobs for decades, and they are beginning to retire in large numbers. We now need a population of new, young technology talent to get excited about mainframe and replace these retiring old timers.
Unfortunately, mainframe is not attracting the new, young population of technology talent that it needs. There are simply not enough people entering the mainframe market to replace the old timers who are retiring, and employers face a lot of competition to hire the small amount of new, young mainframe talent who are actually entering our field. This skills shortage is only going to explode in the coming years unless we bring in more technology talent.
This is a well-known problem, and we have been trying to solve it for some time now. To do so, we have been modernizing mainframe from multiple angles. And with this plugin, we are attempting to modernize one of the core elements of mainframe that a lot of new, young technology talent finds distasteful — the legacy “black and green” screen.
Most technology students and general developers see the mainframe’s legacy “black and green” screen and immediately drop their mainframe courses, and stop thinking about ever entering our field. Our plugin solves this problem by updating some of mainframe’s most common interfaces.
No More “Black and Green” Screen: How Our New Plugin Modernizes Mainframe
Our plugin solves some of the specific problems with legacy Integrated Development Environments (IDEs). Specifically, our plugin modernizes some aspects of today’s most popular IDEs for working with Java and Python projects — JetBrain’s IDE family, including Intellij IDEA, PyCharm, and many others.
While these IDEs are used by many developers and quality assurance engineers, they have never been fast, easy, or intuitive to use. They force developers to constantly switch between their IDE and their other mainframe tools — like the traditional 3270 terminal emulator — even for small, simple tasks like checking values in a dataset, submitting jobs, and viewing the results of an execution.
The whole process is very painful.
It forces developers and quality assurance engineers to learn the complex, challenging emulator. Switching between interfaces is very time consuming, and switching between the terminal’s tabs is very annoying. And the process makes it near-impossible to multitask, especially if the user isn’t deploying Visual Studio Code.
What’s more, when following this process interacting with mainframe data becomes very tricky, and forces users to go into their emulator just to copy files using ISPF, or to submit TSO and MVS commands.
In sum: The whole process is very time consuming, it is not user friendly, and it has made day-to-day life a lot more frustrating than it needs to be for developers and quality assurance engineers.
And that’s why we created our new “For Mainframe” plugin — to modernize this aspect of mainframe, and to solve each of these problems with legacy IDEs.
To do so, we designed our plugin to give developers and quality assurance engineers a simple, intuitive, user-friendly, drag-and-drop visual interface that makes these popular mainframe IDEs work the same that all common operating systems operate.
Here’s how we developed this functionality for our new plugin, and how it works.
Two Simple Steps: How We Developed Our New Plugin
To develop this plugin, we gathered a team of open source developers, and we followed two simple steps.
Step One: Envisioning
We first created a shared vision for what this plugin was and how it would work.
To begin, we decided to build only one open-source plugin for the entire JetBrains ecosystem, due to the simple fact that most JetBrains IDEs are built on the same platform, and a single plugin would be able to serve all of them.
We then reviewed existing options and alternatives to our plugin on the market. We soon realized there were no open-source or paid plugins available for Intellij IDEA or PyCharm, and that the classic terminal offered the only way to perform basic file operations like moving or copying files.
We also realized there were no existing open-source alternatives to the ZOWE VS Code extension. We did feel that the ZOWE plugin was a good alternative to the 3270 emulator, but we felt it just didn’t go far enough. We wanted to take the general concept behind it, and then take the next logical step and totally redesign the way a user can interact with basic mainframe functionality.
Ultimately, we realized that there weren’t any sufficient alternatives on the market providing the functionality we were interested in developing. We decided to bring users a new, fresh-looking product — one that made every interaction with the mainframe as fast, easy, and user-friendly as possible.
To do so, we would need to build a new, flexible and extensible architecture that could generalize all possible mainframe operations, and we made this our main development task.
Step Two: Development
We created a unique architecture for this plugin based around three features.
First, it utilizes Working Sets.
It was fully inspired by the ZOWE VS Code Extension, but leverages a new, innovative method of structuring data from the mainframe onto a single toolbar window.
This new architecture structures data as Working Sets that can contain multiple datasets and USS filters from the same mainframe system. These Working Sets show everything that users need, and allows users to run multiple tasks on multiple systems using numerous Working Sets in one IDE’s toolbar.
Second, it needs no pre-requirements.
In addition to our ZOWE VS Code Extension inspirations, we also based some of our plugin’s architecture on z/OSMF request. Because z/OSMF is a built-in component of z/OS version 2.1, anyone with a mainframe is able to start using our plugin, without meeting any other pre-requirements.
Finally, it is highly extensible.
When it’s time to add a new feature, all we have to do is extend a very simple class and provide basic logic for it, allowing us to use this plugin as a foundation to provide additional capabilities, and to modernize further elements of the mainframe interface.
Once complete, we began to test the new plugin ourselves, on our own projects.We quickly experienced a range of benefits, and knew it could help a lot of mainframe professionals improve their day-to-day life — all while making mainframe more accessible to both old timers and young technology talent.
How Our Plugin Makes Your Day-to-Day Life Easier
Our plugin modernizes the basic mainframe interface, and makes popular JetBrain IDEs look, feel, and function like any normal, modern operating system.
With this plugin, developers and quality assurance engineers can interact with mainframe faster, easier, and more intuitively across many dimensions. For example:
Mainframe developers and quality assurance engineers are now able to work with mainframe and their code in just one IDE window. | |
Users can perform all basic file operations by right-clicking on the corresponding files and dragging-and-dropping them (just like they would in a regular operating systems). | |
Users can copy, move, delete, and create files easily — and to submit a job, they only need to right click on the job file. | |
Users no longer need to turn to Google just to do simple things, like having to search for the corresponding TSO commands just to copy a member into another library. |
By using our plugin, developers and quality assurance engineers can complete their work with a lot less wasted time and frustration.
Here’s a simple example that will help you better understand how our plugin can help you and improve your day-to-day life. In this example, the work would have been very slow and frustrating to perform using a legacy mainframe interface. But with our plugin, it becomes much faster, simpler, and easier.
Imagine, you are a quality assurance engineer. You are using PyCharm in your work, as well as our plugin. To connect to your mainframe and use its basic functionality, all you have to do is open PyCharm. No emulators. No extensions. Nothing else.
When you open PyCharm you now have a simple, intuitive interface, through which you can easily submit jobs, see their results, and make some changes to the files on your mainframe. You can create, delete, move, or copy files and datasets within PyCharm itself, without having to visit a terminal or spending your time repeating the same actions over and over again.
Now, imagine all of your IDE tasks are now this simple and easy, and you will begin to see just how helpful our new plugin can be within your day-to-day life.
The Road Ahead: What’s Next for Our Plugin and Mainframe Modernization Efforts
Overall, was not easy to make. We worked on it part-time for almost half of a year before we felt ready to release its first version onto the JetBrains Marketplace. Working on this plugin still remains a challenge due to the complexity and innovation involved, but we have reached a point where we are now continuously supporting and updating it and shipping new versions every two weeks.
Yet even though developing and supporting this plugin has been somewhat challenging, we believe it has been worthwhile. This plugin has made life easier for a lot of mainframe professionals, and it is already delivering many benefits for our community as a whole. It is making mainframe much easier to learn while making entry-level mainframe professionals more effective and capable, and it is doing a small part to modernize mainframe as a whole.
We plan to continue to develop this plugin, and to develop additional features and plugins that will further modernize key aspects of mainframe. We are currently working on bringing a full-fledged JES explorer and other features that we will build on top of our plugin infrastructure. We are also writing new plugins and features based on our users’ feedback and requests.
As a whole, we are doing what we can to operate as a fresh and young team that remains sensitive to how the winds blow in the world of mainframe! We have just started, but we are working hard to make mainframe accessible and appealing to many more people!
To learn more about our plugin or download it and begin using it, click here.
Or contact us today to learn more about it from us, and to discuss how to modernize your mainframe capability.