DevOps

Put the Power in the Hands of Developers with a Cloud-Based IDE

August 18, 2020

The mainframe is the backbone of business today. With a staggering amount of the world’s corporate data and workloads residing on the mainframe, it is imperative that the platform continue its progress as an engine of innovation and digital transformation. In the past, these objectives were constrained by limited choices in mainframe tooling. But today, open-source tools and cloud-based IDEs for the mainframe are empowering a community model where innovation is crowdsourced, renewing the vitality of the platform and bringing out the best in businesses worldwide. In this article, we will explore what those tools are, and how utilizing them in a mainframe environment can make developing on a mainframe indistinguishable from any other platform, and how this strategy can help optimize a new generation of developers for the future of the mainframe.

The Need for a Cloud-Based IDE

Zowe is the first z/OS open-source initiative, enabling development and operations teams to securely manage, control, script and develop on the mainframe like any other cloud platform. This facilitates the seamless integration of the mainframe with other platforms from a development, deployment and monitoring perspective. The Zowe framework offers industry-standard REST APIs, an API-mediation layer, an extensible command-line interface (CLI) and an extensible web-based user desktop.

Many IT professionals are already deriving value from Zowe, including application developers, enterprise architects, system programmers and more. A natural next step in advancing the use of open source on the mainframe, then, is enabling modern developers with an open-source, cloud-based integrated development environment (IDE).

To appreciate the need for an open-source, cloud-based IDE, it is critical to understand where developers stand today. In the non-mainframe world, developers can choose between a variety of source-code editors according to their preference, such as Visual Studio Code, Notepad++, Sublime Text, IntelliJ and others. 

In contrast, mainframe developers are limited to only two choices. They can use the ISPF green screen or an Eclipse-based editor. The new talent entering the workforce is familiar with distributed environments and modern tools — the mainframe and its traditional green screens are foreign and cumbersome to them. Yet, IT departments recognize that it is becoming crucial to transform their Java, J2EE, JEE and web developers into cross-platform developers to ensure that mainframe skills flourish in the years to come.

Maintaining a rich client IDE such as an Eclipse environment is difficult and time-consuming. It is possible to get plug-ins for various programming languages and technologies to improve productivity and quality, but a different plug-in is needed for each tool. This leads to a complex table of dependencies as open-source software evolves, vendors put out fixes or developers release custom plug-ins because in each case, an update is required. If problems arise, mainframe developers must analyze each plug-in, research incompatibilities and determine the source of the plug-in to look for additional updates. This maintenance and management is anything but easy and, therefore, not a true solution to the needs of next-generation developers and a multiplatform IT environment.

A way out of this dilemma is to adopt a common, cloud-based IDE for the mainframe that can facilitate the use of modern source-code editors and streamline the work of next-generation developers with centralized maintenance management and up-to-date tools.

Ease Is the Name of the Game

To be effective, an open-source, cloud-based IDE must align with the guiding principle of usability — why shouldn’t the mainframe be as easy to use as any other platform or distributed system? Because projects frequently involve both mainframe and non-mainframe applications, anything less than complete integration will inhibit an organization’s ability to deliver projects at the rate and speed demanded by business today. In order for this to happen, the organizational silos between development on various platforms have to come down. The mainframe must become an equal player in the modern continuous integration/continuous deployment (CI/CD) pipeline. 

As an example of this focus on usability, a robust, cloud-based IDE should give developers their choice of software. Quick access to a complete set of mainframe tools accelerates the process of mainframe application development, ensuring that mainframe activities align with other project initiatives. But access to software options is not the only consideration: To guarantee operational efficiencies, the IDE must make it easy to provision, manage and maintain the desired tools. Bringing a new developer onboard, deploying software or managing/maintaining the server should be tasks that are measured in minutes — not hours.

Another goal for a cloud-based IDE is to eliminate barriers to entry. That is, a developer should not have to contact the procurement or legal department for proper licensing just to install software they want to use. A solid IDE will enable developers to swiftly and securely access and deploy open-source software while also supporting the needs of larger, scaled deployments.

Eclipse Che 7.0 to the Rescue

The new release of Eclipse Che — version 7.0 — is positioned to achieve all these goals and more. Eclipse Che is a next-generation, cloud-based IDE, platform and developer workspace server. This open-source project is steadily being extended as a complete IDE solution for cross-platform development.

Eclipse Che 7.0 places the requirements of modern developers front and center. Among the many features of the new release, Eclipse Che 7.0 gives developers options by supporting Language Server Protocol (LSP) and Debug Adapter Protocol (DAP), thus separating language-specific or platform-specific logic from the UI. This allows a common editing or debugging experience that spans multiple languages and platforms. Plus, Eclipse Che’s own Monaco-based editor is both fast and responsive and gives developers a Visual Studio (VS) Code user experience.

Regarding plug-ins, Eclipse Che 7.0 extends developer workspace capabilities to run  VS Code extensions in the cloud. The new release ensures that plug-ins meet the following requirements:

  • Fast loading — Plug-ins should easily load at run-time; they should be already compiled, and the IDE should only load the code.
  • Secure loading — A plug-in should not break the whole IDE if it is not well written.
  • Code isolation — Any plug-in should not block the main functions of the IDE.

Overall, by using this open-source IDE, developers can enjoy easy, fast access to tool stacks for developing multi-language, multiplatform applications. Their user experience in the mainframe environment can be essentially the same as it is in the distributed environment, from the look of the screen, to the menu layout and to the way plug-ins work. No more struggling to switch from modern tools to traditional mainframe tools. No need to recode plug-ins for use in the mainframe due to incompatibility. No concern that what works in one platform will not work in another.

As a workspace server, Eclipse Che 7.0 accelerates project and developer onboarding by virtue of its zero-install development environment. It removes inconsistencies between developer environments and facilitates customized and shared workspaces, supporting team-based development. For example, if one developer is working on a problem, they can share it instantly via the team workspace, encouraging collaboration and leveraging the combined knowledge and experience of the developer staff.

Containerization support further increases Eclipse Che 7.0’s efficiency. The IDE tools are packaged in containers, providing the necessary tools, dependencies and technology isolation. When a new release of Eclipse Che comes out, that, too, is transmitted via container — this way, management and maintenance can be easily accomplished by copying the container and restarting the workspace. The container removes the aggravation caused by multiple fixes and incompatible plug-ins. Everything is tested together, verified for quality and shipped out in the container. Upgrading is a one-and-done task.

The benefits of Eclipse Che 7.0 come down to three things: transparency, simplicity and efficiency. With Che, IT departments have a state-of-the-art solution in an open-source, cloud-based IDE that empowers developers to work in a cross-platform environment with ease.

The Hallmark of Success

Eclipse Che 7.0, along with Zowe and other initiatives, demonstrate the power of open-source tools to support innovation and digital transformation on the mainframe and in a cross-platform environment. It is crucial that businesses today take full advantage of the open-source mainframe revolution. Modern DevOps processes are built in large part on an open-source foundation — it is only appropriate that the mainframe be integrated into this structure.

Eventually, there will be no distinction between the mainframe and any other software development platform and no distinction between mainframe developers and any other software developers. We are on the way to achieving this goal — and the open-source model is one of the major forces propelling us forward.

Dana Boudreau directs Broadcom’s Mainframe Application Development solution portfolio, including Endevor, InterTest, File Master Plus, SymDump and Mainframe Application Tuner solutions. He has vast experience in leading mainframe as well as distributed teams, joining Broadcom after over 20 years at IBM. He works closely with Broadcom’s mainframe customers to improve software delivery and developer productivity. Email: dana.boudreau@broadcom.com

Tag(s): DevOps