COBOL has more production lines of code than any other language in existence – as a matter of fact, it accounts for 80% of the world’s data.
Yet despite its broad-scale use, the reality is that there are nowhere near as many new COBOL programmers entering the market as there were 10 years ago. On top of this, COBOL developers are now retiring faster than the code itself is. To quote a 2018 article written by Glenn Fleishman for Increment, “it’s a slow-moving crisis with no crackling deadline, like Y2K, to focus the minds of Chief Information Officers”.
Dramatic increases in consumer demand have forced enterprises to implement drastic fundamental changes to the way they do business. In order to remain competitive and relevant in a world driven by efficient service, businesses require speedier development methodologies to bring products and services to market faster. They are finding that traditional waterfall approaches to software development and delivery are not sufficient to meet these ever-evolving needs, and more agile methodologies like DevOps are far more effective when they are practiced in a cloud environment using object-oriented languages.
So what is driving organisations like the Metropolitan Transit Authority and Siemens Healthineers to refactor their legacy COBOL applications to Java?
For 75 per cent of organizations utilising the mainframe, COBOL remains the most prominent language in their estate. Whilst the systems themselves are robust and reliable, they can also cause a lot of pain for an organization from several points of view, with common problems including:
- Rigidity and difficulty in accessing development and test systems
- Extreme sharing of environments, causing bottlenecks in development and test
- Using code that is difficult to establish dependencies within
- Unfamiliar or unknown build and deploy procedures
- Back-level software, with no idea how to upgrade or what impact that may have on the functionality of the systems
- Inability to make chances, sometimes due to inability to test
- Lack of integration / co-ordination with other platforms
- Lack of scalability, elasticity, and extensibility
- Exorbitant operating costs
Procedural codebases, non-relational databases, and mainframe infrastructure are incredibly unmalleable - even more so when you consider that the mainframe and COBOL talent pools continue to shrink. This was a major concern for The New York Times in particular prior to their conversion to Java - the inflexibility of their critical COBOL-based application was a major hinderance to data access and visibility. The mainframe their application was housed on was commanding a steadily-increasing share of the organisation’s operating budget, whilst an equivalent Cloud-based workload accounted for only 8 to 12 percent of the cost of the cost of the mainframe.
Automated Refactoring (also known as ‘Automated Conversion’) retains functional equivalence while refactoring core legacy COBOL applications to fully maintainable, object-oriented Java code. Once the application - and supporting database - have been converted, developers can directly increase application capabilities without having to navigate the original legacy code to do so. Whilst the legacy system's critical business logic is preserved, new Java workloads may be easily integrated and customised to meet evolving business needs.
It's best to begin any COBOL to Java refactoring project with a COBOL code assessment. This will allow you to understand exactly what’s in your environment – how much code, what it does and who in your ecosystem it affects – on top of mitigating the risks and complexities associated with tampering with legacy code. It can also significantly reduce the scope of a legacy modernisation - reducing the cost of the overall project as a result. In a survey of 21 Advanced customers from 2019, we saw an average footprint reduction of 50% after dead and/or unused code was identified in mainframe assessments, with several of our customers seeing a reduction of more than 75%.
Easing off the accelerator
Even if your organisation isn’t ready to rip the bandage off and refactor from COBOL to Java, there are options to enable replatforming - such as our COBOL Rehosting solution - that remove the infrastructure-based constraints that stand in the way of the intimate connection between development and operations. Additionally, our Portfolio Optimisation solutions can help you maximize your business value without the need for migration at all. Get in touch with us today if you want to discuss your needs with one of our legacy modernisation experts.