Three years ago, I read this article, from which I had three big takeaways:
- Marc Andreessen’s quote “Software is eating this world.”
- We are still building n-tier applications and will continue to do in the future.
- There’s never been more choice for developers of all skill levels in languages, tools, services and platforms.
Circa, 2019 – all of the above are still true, and will be true for the foreseeable future, which is awesome news for *any* software developer and/or architect. On the surface that sounds like a no brainer, until my brain and years of experience reminded me of the fact that there is a whole different world (no, sorry, not Jurassic World) called the Mainframe application development.
Mainframe continues to be the backbone of retail, finance, insurance, healthcare, aviation, and payment processing industries just to name a few. Software applications running on the mainframe are a key part of that backbone and that software written 40 to 50 years ago has been running this world. Over time, with emerging technology and related business requirements, mainframe as a platform continued to evolve and n-tier applications became the bread and butter for the platform.
What is missing, however, is the ability for modern application developers to take advantage of or leverage the languages, tools, and services they are familiar with while working on the development, maintenance and modernization of mainframe applications. In recent years, mainframe has evolved to support Node.js, Spark, Go, Python, REST/JSON, Containerization and more. But a lack of flexible and comprehensive tools/frameworks that modern application developers are familiar with has been the Achilles heel in welcoming new blood to the mainframe platform.
Eclipse, with its plugin technology, took a stab at solving this problem. But the nature of the framework, which requires adding in plugins for required capability and functionality, created a compatibility and maintenance nightmare. Though products built on Eclipse IDE platform did blaze the trail for creating a development environment to enable mobile to mainframe application development, it locked mainframe developers into using a specific set of editors, runtimes, and user interfaces – thus imposing a learning curve. The rich client nature of Eclipse made it even less flexible for mainframe developers to do their job.
Like everything in technology, to solve the problems Eclipse IDE ran into, a new project named Eclipse Che was born under the Eclipse open source umbrella. Eclipse Che is the next generation Kubernetes native IDE and developer collaboration platform. Not to be confused with rich client IDEs, Eclipse Che has the following features:
- Includes Theia as the default zero-install browser-based IDE. Theia has a VS Code-like interface and supports all VS Code protocols/extensions.
- Has a workspace server that manages the workspaces that are not tightly coupled to the IDE. This allows workspace sharing for easy collaboration, as well as the flexibility to access that workspace from any IDE – be it via browser or a rich client IDE like Eclipse or VS Code.
- Supports Language Server Protocol (LSP) and Debug Adapter Protocol (DAP) – thus allowing the flexibility for editors and debuggers written conforming to those protocols to work in this environment.
- Works with any container or multi-container environment.
Broadcom Inc. is leading the way in transforming the mainframe application developer experience by leveraging, contributing and extending the open source projects. Broadcom is part of the consortium for the first ever mainframe open source project, Zowe. By extending Eclipse Che to add in z/OS resource access, LSP for COBOL, and donating Eclipse Che4z to open source as a sub project under Eclipse Che, Broadcom took another significant step in bringing mainframe application development modernization into the open. A modern application developer now can use a web IDE with Zowe CLI, z/OS Resource Explorer, COBOL intelligent editor and access to CA Endevor using Git front end with zero client-side install. The beauty is, the same IDE can be used to develop web, mobile, Java, and Node applications – so essentially the same, familiar user experience be it for distributed or mainframe or distributed to mainframe application development.
The Che-based solution, with its centralized nature and container support, makes the life of the often ignored IT team, responsible for installing, managing and maintaining the development environments, really simple. Yes, that is true – we are not only focusing on the developer experience and productivity, but we are also heavily focused on those who support mainframe developers to be more productive as well, while giving organizations more control on the IT infrastructure and ensuring the security of the same.
That is of course useful, but the flexibility and ease-of-use story does not end there. To cater to the developer community wanting to use VS Code as their IDE, Broadcom is making available mainframe resource access, LSP for COBOL, LSP for High Level Assembler (HLASM) and CA Endevor explorer as VS Code extensions in the VS Code marketplace. Why specifically VS Code, you may ask? VS Code is one of the most popular IDE’s based on the 2019 Stack overflow developer survey.
Can’t declare victory and claim to be flexible by supporting two IDEs, can we? The technology and architecture we are building on allow us to support IDEs like IntelliJ and Eclipse IDE. Zowe CLI and Git front end to Endevor enable access to mainframe resources and CA Endevor artifacts as well as handle CI/CD activities. The LSP editors and DAP enabled debuggers provide the editor and debugging capabilities to round up the IDE capabilities.
Broadcom is paving the path for next generation mainframe application development tooling while embracing, enhancing and extending open source technologies. Most importantly, Broadcom is providing true flexibility for modern mainframe developers and empowering them to be productive in the environment of their choice.
- Building a bridge between mainframe and the Next Developer Generation
- Mainframe DevOps Foundation – Modernize or Replace?
- Attracting the Next Generation of Talent to the Mainframe
- Simon Bisson’s Infoworld article, We are living in the Golden age of Software development