COBOL Modernization: The way forward

Written By: Sudhanshu Dubey, Open Mainframe Project 2021 Summer Mentee for the COBOL Working Group

“It’s 2021 and you are still talking about COBOL? And what even is modernization?” Yes, I am talking about COBOL in 2021 because it’s high time that this conversation gets the central stage. And I am not saying this because this is my project for the Open Mainframe Project Mentorship. I am saying this because it’s the truth, the reality and the largely ignored issue with the current core business infrastructure.

The Legend of the Future

If you’re reading this blog, I assume that you are not the average joe who thinks COBOL was a technology that was used when computers were huge and that it died with those large computers. But, in case you do believe this, you can’t be more wrong. Those computers did not die.  They evolved into modern mainframes and so did COBOL.

In fact, COBOL does more ATM transactions in a day than you would in your whole life.  This statement probably applies for even the richest of the world. But in case you don’t trust me, sadly, have a read of my fellow mentee Josh’s blog. He goes into the numbers which I want to avoid here cause we are not here to be stuck in the past or live in the present, we are here to look towards the future.

COBOL powered the financial transformations of the past but it is also sustaining the digital economy of the present. In fact, if we are landing on Mars in the coming 10 years, then the first credit card swipe there will also execute some form of COBOL code.

But… immortality isn’t immune to aging. Even with all its glorious feats, COBOL is aging and so is the infrastructure running it. This aging is not because COBOL lacks something. This is happening because of the very nature of time. As philosophers put it, “the only constant thing is Change.”

With time, the customers’ demands are changing, the way they interact with technology is changing, the policy of enterprises are changing and how the underlying technology works is also changing. Like everything else, COBOL applications have to adapt to this change. Some of you might ask, “why not change COBOL? Why not take it out and put a new language into its place?”

Let me ask you this. When you are older and start having back problems, do you just replace your spine with a new one? No. You change your diet, start exercising and doing yoga to change your posture. Thus, when something is as essential and core to it as COBOL, you don’t replace it. You improve it.

Modernization is the Key

We have established that we need to improve the legacy applications written in COBOL, but how? Here, Micro Focus steps in with its Application Modernization model. Micro Focus is an Open Mainframe Project member company and  participant in COBOL Working Group and the Open Mainframe Project Mentorship Summer Program, which features my mentors Guy Sofer, Gary Evans and Misty Decker.

Application modernization is change but it has some specific properties:

  • It is gradual: If you are a student, you don’t want a sudden change in your syllabus. If you are the manager of a company, you don’t want sudden changes in company policy. If you are driver, you don’t want sudden changes in the roads you travel. If you are a living organism, you don’t want a sudden change in the global temperatures. Basically, no one wants a sudden change unless you are an agent of chaos.
  • It is carefully planned and precisely controlled: Again, you want to be in control of how your products evolve and that requires good planning.
  • It has low cost and very low risk: I don’t need to justify it, do I?

These properties make application modernization the ideal choice for improving core business applications. In fact, according to a 2020 CHAOS report, which is based on 50,000 responses, has shown that modernization is the better choice with high success rate and low failure rate:

Here, they use the “modern” definition of success; On budget, on time and customer satisfied.

The Process of Modernization

So, how we can modernize the legacy COBOL applications? Well, that is what my mentorship project is all about. During these 3 months, I will modernize a legacy banking application and generate all the documentation required to reproduce the process. By the end, I hope to give you the modernized application with a web based UI to access it, the architecture documents, blogs, demo videos and every other thing that would help you to understand and do the modernization yourself.

This is the first blog of a series where we will together go through my journey of this project and what I learned from it, so stay tuned. Or if you are more interested in the technical aspects, check out our GitHub repo from time to time.

For now, just to satisfy your curiosity, I will say that application modernization consists of these steps:

  1. Analyzing the COBOL Application.
  2. Identifying services candidates.
  3. Isolating and exposing them as services.
  4. Connecting them to a new, modern UI.

We will go into details of these steps as and when I do it.

Who am I?

I am Sudhanshu Dubey. I am in my final year of computer science engineering from Guru Nanak Dev Engineering College, Ludhiana, India.

“Why is a student attempting to modernize COBOL applications that run the economy?” Well, that’s because it’s a rather simple process to understand and it’s doable thanks to the tools provided by Micro Focus.

“How many years have you been studying COBOL?” Less than a year. COBOL isn’t taught in my college or in most of the engineering colleges in the world. I will write a separate blog telling how I got into the world of enterprise computing and landed a mentorship with Open Mainframe Project.

I’ll continue to share my progress – stay tuned here for more!