Here at CROZ, we have a new generation of mainframe developers. They quickly pick up PL/I and Cobol, but understanding the full development cycle in mainframe environments is a bit more complex. That’s why we decided to build a sandbox with a simple application that supports typical library business processes. CROZ Library Sandbox allows young developers to explore and experiment with mainframe technology in a dynamic environment powered by IBM zDevOps tools and GitOps principles. In this sandbox, legacy technologies like PL/I, z/OS, CICS, and Db2 blend seamlessly with modern tools like IDz, DBB, and Wazi Deploy, creating a smooth platform for learning and innovation.
The traditional foundation
The foundation of CROZ Library Sandbox is built on the traditional mainframe components and infrastructure, taking advantage of its unmatched reliability, scalability, and security. The application combines several key components:
PL/I for Business Logic:
PL/I is utilized to develop core business logic, enabling high-performance data processing. Programs and transactions are designed to handle essential library operations like cataloging, borrowing, and returning books, as well as reporting and analytics.
CICS for User Interface:
The user interface is powered by the CICS Transaction Server, using Basic Mapping Support (BMS) to provide an interactive experience for users on 3270 terminals. BMS screens offer a clean and efficient way to navigate the library system, delivering simplicity and speed for end-users.
IBM Db2 for Data Management:
The database layer is implemented with IBM Db2, ensuring reliable data storage and retrieval. Db2’s integration with PL/I and CICS allows seamless access to structured data, ensuring the application performs efficiently despite high transaction volumes.
Leveraging IBM zDevOps tools for Modern Development
To streamline the development and deployment of the system, we integrated a new generation of IBM zDevOps tools into CROZ’s existing GitOps operational framework:
- IBM Developer for z/OS:
This powerful IDE enabled our developers to write, test, and debug PL/I programs efficiently. Features like code analysis, syntax highlighting, and step-through debugging increased development cycles and helped us to produce high-quality code.
- IBM Dependency Based Build (DBB):
After development iterations, automated builds were achieved using IBM DBB, which managed the complex dependencies of the Library Data Processing System application architecture and ensured that only the necessary components were rebuilt, reducing build times and minimizing errors.
- IBM Wazi Deploy:
Deployment is automated with IBM Wazi Deploy, enabling rapid and reliable deployment of each part of application changes into the z/OS environment.
Integration with the GitOps framework allows deployment pipelines to trigger seamlessly upon code changes, supporting continuous delivery practices.
Benefits of the integration of zDevOps tools with GitOps Framework
Ultimately, by integrating the GitOps operational framework with the IBM zDevOps toolset in our application delivery cycles, we achieved significant improvements in the overall productivity of our development team, starting from the very process of developing application components.
In this process, a significant improvement came from using IDz (IBM Developer for z/OS) instead of the ISPF interface. IDz offers a modern, Eclipse-based integrated development environment (IDE) that provides a more user-friendly and intuitive experience. It includes features such as an integrated debug process for early error detection, which helps developers identify and resolve issues more efficiently. The graphical interface and advanced code editing capabilities make it easier for developers to navigate and manage complex codebases. Additionally, IDz supports modern development practices like version control integration, automated testing, and continuous integration/continuous deployment (CI/CD) pipelines. These features are much more familiar and appealing to younger generations of developers, leading to a smoother learning curve and increased productivity.
At the same time, we also implemented an alternative integrated development environment using VS Code, which is very popular among young developers. VS Code, with its extensible and user-friendly interface, provides a modern development experience that bridges the gap between traditional mainframe development and contemporary practices. By using the extension packs, VS Code transforms into a powerful mainframe development tool. This extension pack includes features like syntax highlighting, code completion, and debugging capabilities for mainframe languages such as COBOL and PL/I. Additionally, VS Code supports integration with Git and other source control tools, making it easier for developers to manage code and collaborate on projects. The ability to use VS Code for mainframe development has made the platform more accessible and appealing to younger developers, who are already familiar with this popular IDE.
Interestingly, some young developers, after using IDz (or VS code) during their initial learning period, stepped back to ISPF because of its efficiency. Now, they are going hybrid and using both tools at the same time.
The use of an existing Git-oriented source-code management system, as opposed to traditional tools for managing development code, has eliminated the differences between mainframe development and developing a Java application for a non-mainframe environment. Apart from the initial time invested in integrating the DevOps tools, we ultimately achieved improved code management practices and the ability for multiple developers to work on separate segments of an application simultaneously.
During this process, we added new members to CROZ’s internal DevOps team who brought valuable experience with mainframes and are also well-versed in modern CI/CD practices. They developed Groovy scripts for automated builds using IBM DBB, which has significantly reduced the manual errors that occurred in the old deployment process.
At the same time, they expanded their knowledge of mainframe principles to the rest of the DevOps team, who eagerly embraced working with the IBM Wazi Deployment tool. This tool is based on defining the target deployment environment within a YAML file and using Python scripts to automate the deployment workflow, thereby speeding up the application delivery process.
Conclusion
The combination of PL/I, z/OS, CICS, and Db2, supported by IBM zDevOps tools, provides a robust foundation for building scalable, enterprise-grade applications. The integration into our GitOps framework is a prime example of how mainframe systems can be swiftly modernized and made future-ready with cutting-edge tools and practices. CROZ Library Sandbox demonstrated the perfect blend of legacy robustness and modern DevOps agility, enabling organizations to stay competitive in the rapidly evolving digital landscape.
Even more important, the mainframe was no longer seen within our young developer community as an outdated platform with complicated interactions, nor was PL/I viewed as a language without a future. On the contrary, for our young developers, mainframe application development became a challenge they wanted to conquer.
Falls Sie Fragen haben, sind wir nur einen Klick entfernt.