COBOL to Java or C# .Net
Growing maintenance fees, scarcity of trained developers, expected end-of-life announcements, cumbersome deployment processes, platform dependencies – these are just a few reasons companies are migrating from legacy Mainframe COBOL applications to modern Java solutions. Whether migrating management support systems, operations infrastructure or reporting applications, the COBOL to Java migration process is usually highly complex, risky, expensive and time consuming.
VM (“VERANG Migrator”), is a software tool that automatically transforms Legacy Applications from COBOL to Java or C#, producing object-oriented Java or C# that can be easily maintained and efficiently integrated with other Java or C# applications.
VM supports the full environment of MF based COBOL and other languages applications, including databases (e.g.DB2, IDMS, IMS, VSAM), TP monitors (e.g. CICS, IMS), JCL, utilities (e.g. IDCAMS, IEBGENER, IEBCOPY, SORT).
VM is a 100% automated solution that captures the entire source base of the application and automatically migrates it to object-oriented Java or C# .NET. The resulting code has the exact functionality of the migrated application and is easily tested and implemented in production.
VM provides the following key benefits:
- Automated migration of legacy mainframe applications in their entirety
- Easy to use automated tool that can be used multiple times
- Resulting code is object oriented, understandable and is easily maintained and fully integrated with other Java or C# applications
VM provides significant cost savings in hardware and software (no need for emulation software solution) and positions the IT department for continued growth and success.
A First Look into Translation
Translating a procedural language like COBOL into object-oriented Java presents several challenges. The translation process was designed with the following requirements in mind:
The resulted application works exactly the same as the original application and produces exactly the same results.
The resulting application is maintainable and follows the object-oriented concepts and paradigms: encapsulation, abstraction, modularization, loose coupling, etc…
The resulting application performance is the same or better than the original one on the open systems platform.
The example on the next page shows how a simple COBOL application with sequential file processing is translated to Java. For each COBOL statement on the left, the corresponding Java statement is on the right. Usually we include the original COBOL code in the Java as comments, we have omitted this for clarity. The translated code is readable and maintainable, following Java standards and object-oriented concepts. COBOL business logic and comments are preserved and programmers familiar with the original legacy application easily understand the migrated programs and transition effortlessly to maintaining and enhancing in the new environment.
Object Oriented Translation
The automated code/data migration process re-architects the code into three layers:
- a Data Access Layer (files and database access),
- a Presentation Layer (screens), and
- Business Logic Layer (programs).
Online, CICS or IMS
The converted online application is a 3-tier application, running in an application server with a thin client in the browser. The general architecture is as follows:
Each COBOL program is converted to a Java or C# class providing the same functionality exposed as a service (Business Logic Layer). All database/files operations from the original COBOL code are managed by the Data Access Layer). The Presentation Layer is generated by converting the legacy screens to JSF (Java Server Faces), JSP or ASPX.
These layers can be deployed on a variety of platforms to provide the robustness necessary for high volume, high uptime applications. The typical overall high-level online architecture is depicted in the following diagram:
The user interface is migrated by converting BMS maps or IMS FMT items to web pages. Each Web Page represents one map in the original system. VM can generate JSP, JSF, ASPX or other UI formats. The generated page looks and behaves like the original “green screen” of the original application. The generated web pages are enhanced and maintained using standard Web Authoring tools such as Eclipse and Visual Studio.
Reviving Yesterday’s Systems for Tomorrow’s Business