The enterprise journey to decompose the COBOL banking core into Java — The developer perspective 2/5
Facing the challenge to translate code automatically and not to die in the attempt. Part 2 of 5. — Analyze and decompose
How can you analyze Cobol source files without understanding the syntax of the programming language?
Sounds difficult… and it is.
One of my manager’s initiatives was that we could start reading the cobol source files involved in each transaction and once we had understand the logic involved in that process then we could rewrite from scratch the transaction. That logic seems good and apparently the unique obstacle was the team didn’t know cobol but researching a bit the learning curve it’s not too extensive. With that premise on mind we started to read cobol.
My assignment was the ME21 a codename (it’s fake, don’t be worried) for a deposit transaction in the bank … big mistake thinking that it’ll be an easy task.
First of all, the transaction involves more than 125 source files and the each one can have an extension about 12K lines!, trying to read, understand and rewrite them wasn’t the way we were looking for. In the effort we created a “cross reference” XLS file which has the mapping for each variable and the tracking of the values that each variable have along the diverse performs or methods traversed in the execution of the transaction. It is a big effort tracking each variable and don’t fail, but as a developer it becomes a boring and unsuccessful duty.
With a lot of effort of my coworker and I finished that assignment but we reached the idea that with that information we still didn’t know exactly what the transaction it’s doing and we weren’t able to rewrite it in Java also the possibility that we had forgotten some variable or some change could lead to catastrophic consequences because we were dealing with banking transaction that involves the movement of money, the responsibility was high.
How we can reduce the average ratio of failure and ensure the business flow wouldn’t be infringed? I’ll be talking about that in the next story.