COBOL to Maintainable Java & C#


SoftwareMining's Business Rule Extraction Has been merged into COBOL to Java Translation Toolkit

Typical COBOL applications handle a large set of operations such as Transaction Processing, Database Access, exception and screen handling. Due to sheer size and complexity of legacy applications, it is often difficult to separate out the Business and Non-Business related code to regenerate documentation.

Business Rule Extraction (BRE) is the process of isolating the code segments which are directly related to business processes.
In this page we investigate the pros/cons of BRE as a modernization approach for two of the most popular requirements:

Finally we propose a new approach:

Use of Rules for Documentation

Lets say we are interested in documenting how "discounts" are calculated on a "Customer" transaction. In a typical system, the extraction of such a rule from a single program of 5000 lines may identify 500 lines of COBOL code which are associated with the "discount" calculations. The problem is, many of these lines will be concerned with secondary and non-functional issues and not directly related to "discount" and how   it is calculated. I.e. the extracted 500 lines rule would contain far too much information to be useful for documentation purposes.
SoftwareMining's next logical step was to apply complex heuristic algorithms to remove some of the secondary issues in reduce the size of the rules. But such heuristics may mistakenly remove important pieces of information from the rule. The rule would hence require an expensive manual/visual validation process - which itself is also very error prone.

Our conclusion was the BRE path is too risky and requires an expensive and lengthly manual verification process for it to be useful. We found producing "legible" translations have a bigger benefit to our clients. A good translation leads to "self-documented" and "maintainable" application, which allows selected parts (e.g. the screens) to be manually re-implemented over time - whilst all other parts remain functional.

Changing to Rule-Based Architecture

Large COBOL system perform many tasks such as generating reports, data-entry screens, printing, ... , and sometimes they invoke procedural implementation of rules (e.g. Eligibility rules in an insurance application).

Realistically, a rule-based system is not appropriate for most programs focusing on printing, reporting, data-entry and etc. A better approach would be to translate the application to a maintainable and functional Java (or C#) system. Once the entire application is up and running, then selected programs may be manually re-implemented as a rule-based system.

Addressing BRE requirements through a Translation Approach

Most of the features required for "Documentation" is available free of charge in development tools such as ECLIPSE IDE or Microsoft's Visual Studio IDE. For example, one of such IDE features is to "Find References" to a variable across the entire application: see where it is used, which modules, which methods, impact analysis, ... . This feature can basically satisfy most of the BRE-For-Documentation requirements. Additionally, the end-developers will be very comfortable with the Java (or C#) as the language used for documentation, much easier for them than using COBOL statements.
To facilitate this path - SoftwareMining provides a Translation to Java (or C#) for documentation-purposes. The translated java code can be used initially for documentation only (no runtime licenses), and additional run time licenses can be purchased if/when you want to take the generated java code into production.


For further information please see SoftwareMining's COBOL to java / C#




Share this page







  © 2019, SoftwareMining Technologies. All Rights Reserved. "SoftwareMining Technologies" is a trademark of Software Modernization Technologies Ltd (UK). Software Modernization Technologies Ltd. Registered in England company no: 7300248. Reg Offices: 8b Accommodation Road, London NW11 8ED, United Kingdom.