COBOL to Maintainable Java & C#


Mainframe COBOL to Cloud Migration Roadmap & Checklist

There are big financial incentives to migrate Mainframe applications to Cloud: from reduced operational costs to ability to increase/decrease processing power based on load.

There are different paths available to do the cloud including re-hosing (lift-and-shift). But whether the mainframe applications are re-hosted or translated to new languages, the migrated system will require testing - the single BIGGEST expense of the project. Given the cost and effort involved, it would make more sense to opt for a long term solution: Moving the application to a new language and architecture which can be maintained by new developers.

This paper focuses on a long term solution which involves changing the code-base from COBOL to a cloud-friendly language/framework such Java or C# (.NET). This approach offers the following benefits

A successful move from Mainframe COBOL to Cloud will require all the following issues to be all addressed:

Checklist Item

How can it be resolved

Conversion of COBOL code To Maintainable & Cloud-friendly languages : Java or C# The most cost efficient and low risk approach to Java / C# is using a high quality translator which can produce maintainable and functionally correct Java/C# code. SoftwareMining Translation tools achieve this by catering for 16 Features Essential for Successful COBOL to Java Conversion Projects

From CICS (and other Transaction Processors) to Application Servers Java and C# Application Servers (Weblogic, WebSphere, Tomcat, and IIS for Microsoft .NET) provide much of these functionality. The Translator must be able to generate code which will utilize such technologies.

Out of the remaining CICS functionality,
  • some can be handled by clever translations (e.g. CICS READ/WRITE statements to Object-Relational persistence Models), and
  • some needs to be provided in a libraries implemented in Java or C#.
SoftwareMining's Translation approach caters for all these scenarios. For more information about SoftwareMining's CICS libraries and modernization approach please see Approach to Migration of CICS Cobol to Java / C# .

Online BMS / MFS Applications - Support for migration of BMS operations to legible statements A full solution should cater for two aspects:
Access to Queue framework (E.g. MQ Series) Most Queue frameworks (including IBM MQ) are accessible from Java and C#.

Conversion of JCL to Unix or Windows Shell Scripts Most mainframe shops rely heavily on JCL scripts. A successful deployment on cloud requires the JCL solution to work hand-in-hand with the converted Java or C# application.

A viable JCL solution needs to address:
  • Language Translation from JCL to Unix or Windows scripts (legacy JCL scripts are particularly illegible to new developers)
  • A wide set of functions and utilities usually used by JCL scripts. E.g. EXEC PROC, SORT, IEBGENER, IEFBR14, ...
For more information see SoftwareMining's JCL solution.

Data-Files: KSDS Indexed Files to SQL Database Whilst many COBOL applications have already been moved to SQL Database, there are still many which use KSDS files to their data.

SoftwareMining conversion automatically addresses migration of VSAM / KSDS structures to SQL databases by catering for the following issues:
  • The translated code will redirect all KSDS API to a database (through use of an Object-Relational Model)
  • Generate SQL Schemas for the KSDS files
  • EBCDIC to ASCI character conversion
  • Provide data-population mechanism

COBOL / DB2 Applications This is one of the more simple cases.
The conversion of COBOL + EXEC SQL to Java / C# needs to change the dialect of SQL - from COBOL centric (using Host-Variables, Null-Indicators) to Java (using '?') or C# centric.

Additionally, for performance reasons, the converter will also need to try to reduce the amount data-base communication, as these may have a higher overhead on the Cloud.
There may also be performance issues when communicating between DB2 on mainframe and external Java/C# applications. For more information see dectecting cause of performance issues.

Data-Files: IMS and other Database to SQL Database In some cases, the database migration can be performed in same manner as KSDS approach. For other cases, such as IMS DB - the database migration needs to be performed in a separate stage by creating a "middle-data-access-layer". For further information please see COBOL Platforms.

Assembler or other variants (e.g. Algol code) Assembler type scripts are generally used to provide extensions to Operating-System functions.
They often do not contain "Business-Logic" which need to be translated. We recommend the assembler code to be reviewed case by case. In many cases they can be replaced simply by libraries provided in Java and C#. (The new language offer a much more rich framework and libraries than COBOL).




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.