The New York Times: Migrating COBOL to Java in AWS using Automated Refactoring
Developers who understand COBOL and mainframe technology are reaching retirement age and no one is trained to replace them, resulting in a steadily diminishing talent pool. As this shortage grows, the costs and risk of relying on COBOL will continue to rise.
Companies are rapidly moving to modern environments and practices such as DevOps and the Cloud. COBOL and the underlying systems that support it were not designed for modern IT, resulting in difficult integrations and limited flexibility.
Mainframes running COBOL cost as much as 4,500 per cent more to operate than equivalent Cloud counterparts. This figure is compounded by rising licensing and maintenance fees for ancillary mainframe applications and databases.
Our Automated COBOL Refactoring solution preserves the benefits of legacy systems while empowering organisations to leverage the advantages of newer platforms, especially the Cloud. This unlocks a whole new world of quality and scalability from automated testing to quality assurance, and the ability to leverage containerised deployments and orchestration with Docker and Kubernetes.
Many COBOL transformation solutions create structurally similar programs in the target language but require additional re-engineering efforts to yield desired results. Our Automated COBOL Refactoring solution, harnessing a powerful combination of proprietary software and an iterative transformation methodology, delivers a modern Java application based on fully maintainable open systems.
Our COBOL to Java Conversion solution was designed with the following requirements in mind:
Our Automated Refactoring software deconstructs the legacy codebase to isolate source code and classify down to the field level. It then refactors the assets using customised rules based on customer requirements and standards. Remarkably, this turnkey solution retains your valuable business logic without requiring code freezes or additional licensing.
The refactoring process includes flow normalisation, code restructuring, data layer extraction, data remodeling, and packaging for reconstruction. Cloned code is identified and common replacement objects created – simplifying maintenance and manageability, while complex data and control dependency analysis is used to locate and remove dead code. Upon reconstruction, new object-oriented code structures are generated and deployed into the target environment and enabled by our Java framework.
Once the COBOL applications and associated databases are refactored, Java developers can extend application functionality for Cloud optimisation using standard DevOps tools and CI/CD concepts that simply aren’t available for mainframe applications. Precious business logic from the legacy system is preserved, while levels of optimisation can be applied to deliver efficiencies and business benefits such as elasticity, granular service definition, and easy integration with Cloud-native services.
Automated Refactoring is available for most COBOL dialects and platforms, including z/OS, OpenVMS, and VME.
We begin every modernisation initiative with a discovery, free of charge. Our modernisation experts work with you to understand and document your business and technical goals and objectives. Together, we gather information about your mainframe estate. Everything from infrastructure to language and database types and quantities are accounted for. The discovery concludes with a workshop where we recommend optimal modernisation approaches based on information gathered, as well as rough order of magnitude (ROM) pricing, and estimated project durations and resource requirements.
The assess and design phase is performed using our automated tools to fully catalogue and develop a complete understanding of the application, infrastructure, and operational components of a mainframe environment. It exposes mainframe artifacts that organisations did not know they had, relationships they did not realise existed, and assets that are no longer in use. Assess and design activities provide stakeholders with valuable insight to inform application modernisation decisions such as disposition strategies and target environment architectures. It also mitigates cost and risk by highlighting potential challenges and how to overcome them. At the conclusion of the assess and design phase, all in-scope artifacts are accounted for, a detailed project plan is established, and the transformation process begins.
The transform phase includes the bulk of the automated COBOL refactoring activities, the database and data modernisation, and build-out of the target operating environment. During transform, we refactor pre-defined work packets, perform functional tests, and deliver them into the DevOps pipeline. While customer teams build, test, and deploy these work packets in the target environment, we refactor the next work packet, iterating until the entire mainframe estate has been transformed.
The test and deploy phase begins with the receipt of work packets through the DevOps toolchain as they are delivered from iterative refactoring activities in the transform phase. If issues arise, the work packet is passed back to us where we review the code, adjust our tooling, reprocess the work packet, and send it back into the DevOps pipeline to resume testing and deployment. This process repeats until the entire refactored estate has been deployed.
Prior to go-live, we refresh the target environment by transforming a final snapshot of the mainframe environment to account for changes that have taken place throughout the modernisation project as part of normal business operations. Fortunately, since all adjustments and optimisations have been made to the automated refactoring tools and not the refactored code, this final refresh can be delivered into production over a weekend, eliminating code freezes.
We work closely with you and your team to ensure a smooth transition into production. Part of this transition includes the cooperative construction and testing of a go-live production cutover plan to reduce the potential risks associated with application deployments. We also provide on-demand assistance during the warranty period following production deployment, as well as post-transformation support of the modernised application.
“COBOL resources are becoming increasingly hard to find. Advanced's automated refactoring solution put us in a position to be able to work with a global community of young talented developers.”
Thanos Kaponeridis, CEO
By joining this webinar you will learn about how COBOL modernisation delivers a modern application stack to enable you to maximise the value of your Cloud investment.Watch on demand
This ebook describes the Automated Refactoring process of their application - named CIS on the mainframe and rebranded to Aristo after the migration - including the overall project experience, strategic considerations, lessons learned, and business outcomes.Read case study