Unlocking the Future: The Role of AI in Application Modernization
The previous blog post explored Why You Need to Accelerate Your Modernization Journey to the Cloud. In this post, we share key points discussed on the role of artificial intelligence (AI) within mainframe and COBOL modernization to help automate the modernization journey.
AI can play an important role in application modernization by automating various aspects of the modernization journey. With advanced capabilities built into processes and tools, Rocket Software leverages data analysis and AI for application and mainframe modernization in several ways.
COBOL and AI
AI-assisted coding is emerging across all programming languages, COBOL included. However, substantial evidence demonstrates that rewriting COBOL applications often falls short of meeting budget and timeline expectations. For instance, even with the assistance of AI, a one-to-one rewrite of COBOL to Java may not yield additional business value; the result remains essentially the same but in a different language, offering minimal net new functionality or end-user value.
COBOL as a language is often seen as the problem in application modernization, despite being relatively easy to learn. The real challenges often revolve around understanding the application, optimizing productivity, and adapting to modern practices and capabilities. These challenges aren’t unique to COBOL; they apply to many mature applications where subject matter experts may be scarce.
An integral part of the Rocket Software solution to address this is Rocket® Enterprise Analyzer (formerly part of Micro Focus), used in our Rapid Assessment for new applications and ongoing application development processes. Using automated tools and reports, Enterprise Analyzer not only helps engineers understand application logic and dependencies, but also provides ‘what if’ analysis to identify impact and scope for changes. For example, to change a field in a database, Enterprise Analyzer can identify how that field is used across the whole application, not just a text search but a semantical analysis of the data flow and changes across the application.
Moreover, Rocket Software leverages modern Integrated Development Environments (IDEs) like Visual Studio, Eclipse, or VS Code, integrated with Enterprise Analyzer, allowing engineers to visualize program flows and get real-time feedback.
As the engineer starts modifying the code, the changes are processed in real-time providing feedback and using capabilities like Intellisense and Content Assist, suggesting the syntax or variable to expedite the process. These capabilities significantly enhance engineer productivity through automation and in-depth application analysis.
Automated Development and Testing
As well as modernizing the application, Rocket Software supports process modernization, enabling the integration of COBOL and PL/I applications into a continuous integration environment – a DevSecOps toolchain that automates the development process and testing. All this can be done on and off cloud and takes advantage of containers for simplified replication and scale. Additionally, the platform’s ability to dynamically scale during development and deployment phases, across a variety of environments, is a major component of infrastructure modernization.
In terms of code generation, Large Language Models (LLMs) have a high degree of hallucination so even if they had access to enterprise COBOL applications to train the models, it is not quite ready to produce production-ready applications. For many of our customers, their focus is on incremental application changes, enhancements, and addressing legislative updates – and therefore our attention has been to support these use cases.
Automated and Assisted Code Refactoring
Automated and assisted code refactoring, as well as the reuse of critical business logic, have been ongoing focal points for several years. These are integrated into the IDEs and supported by Enterprise Analyzer to identify application and program dependencies.
Extending the language and associated tools ensures COBOL remains a first-class citizen in application development, ensuring we continue to deliver value for our customers. A major innovation we recently released is new COBOL syntax, which better supports these modernization initiatives. Now, being able to support COBOL local variables and parameterized sections it’s easier to maintain, re-factor and API enable applications. Our ability to generate Java Byte Code and Microsoft Intermediate Language (MSIL) directly from our COBOL applications makes it easier to integrate with the other applications and systems within an enterprise application landscape.
As part of the modernization process, the data can then be unlocked and leveraged in an AI and machine learning (ML) environment, providing customers with valuable insights. Once the application is deployed on a modern platform like the cloud, AI-based operations and monitoring techniques for security and system availability and performance can be used to modernize the end-to-end experience.