Legacy Code Conversion

VERANG is an industry leader in automated legacy code conversion.  We use parsers, code generators, and target runtime libraries, written completely in-house, to automate the conversion process from legacy code to more modern environments.  We primarily migrate to Java and C# but our in-house technology allows for quick adaptation to other target languages.  Our automated code parsers and target code generators grant a precise conversion of the original coding logic to a modern environment while retaining that original coding logic as comments in the generated code.

The migrated code is very scalable and one can add application or database server ad infinitum, limited only by the performance of the database. Other operations are equally scalable by virtue of the ability to add more servers.  We are quite comfortable deploying across multiple O/S types including LUW (Linux, Unix, Windows).

*All Languages in the table below, unless otherwise stated, are migrated with automated tools and processes 

Source Language (code being converted)

Target Language

Source Languages Migrated with  100% Automated Tools

  • COBOL
  • NATURAL
  • PL/1
  • JCL
  • EASYTRIEVE (Classic and PLUS)
  • Java (to C#)
  • Pathfinder
  • FORTRAN
  • Delphi

Source Languages Migrated Manually

  • Assembler *
  • CLIST

Target Languages

  • Java (JDK 1.8 or better)
  • C# (.Net 4.51 or better)
  • KSH (JCL target migration)
  • Windows Cmd (JCL target migration)
  • JSP 2.2 (UI migration)
  • ASPX 1.0 (UI migration)
  • HTML5 (browser support – IE/Chrome/Firefox/Safari etc.)
  • JavaScript 1.8.5 or better (UI support)
  • CSS3 (UI support)

1) Assembler – includes HLASM/370 and is only a partially automated migration
2) C# – migrated to Java
3) CLIST – migrated manually
4) Java – migrated only to C#
5) Pathfinder – includes extraction of BPMN (business flows in the code)
6) WinForms – migrated to JSP

Note: These tables show VERANG’s current source and target capabilities.  We are however constantly creating and developing new code parsers, generators, and also expanding our target capabilities repertoire.  If you do not see your source and/or target language, please contact us regarding your conversion because it is very likely that we find an automated, cost-effective solution for your project.

 

Converting Batch Jobs (JCL)

We have two ways to execute batch jobs:

1)     Migrate JCL to Linux KSH script or Windows bat script

  • We provide scripts that are executed before the job starts before and after each step and when the job ends. These scripts can be tailored to instrument the job execution – provide messages indicating status, logging, notification etc.

2)     JCL interpreter

  • We have a “shell processor” for JCL that provides a JES-like system of queues
  • We provide web-based monitoring of the execution of jobs

In both cases, the batch jobs can be executed anywhere in the network. For the JCL interpreter, an “agent” must be installed on each machine that will participate in execution.

For the script mechanism – the scripts are executable from command line, shell or any other mechanism such as Windows scheduler or 3rd party scheduler such as Control-M or CA7.

Our runtime for the migrated application includes the facility to convert JCL “on the fly” to Linux KSH script or Windows bat script. There has to be a daemon that picks up this script and executes it. We provide such a script.

 

Preserving ORIGINAL code STATEMENTS IN the target CODE

VERANG is able to show the original code statements alongside the target code.  This allows the user to better understand the target code and to verify the conversion logic.  The original source code statements are included in VERANG’s debugging capabilities.  In addition, the performance of the target application can be easily troubleshot since VERANG’s trace files include the performance of each statement and show the SQL of the underlying database access.

 

Converting From Thick to Thin Clients

As part of the C# to Java migration, VERANG can migrate .NET Windows Forms to Web JSP.  Instead of installing the application on each client computer, the client can deploy the application to a single Web Server and let an authorized employee access it with a browser.

Each Windows Form is converted to a JSP web page.  Controls on the Form are converted to HTML controls – with Javascript to equalize behavior to the original.  Events are communicated back to the server via AJAX.

 

Front-End Compiler

VERANG has the ability to install a front-end compiler of a modern coding language so that the end result runs on said coding language.  For example, if the rehosting project was Cobol to Cobol, VERANG is able to put a front-end Java compiler so that the end result runs as Java but the Cobol code is retained as the primary language of the application, allowing the client no change to their core system.  This front-end compiler is compatible with other target environments if the client decides to rehost again.

 

Testing

Types of Testing we recommend:

  • Pre-delivery Tests – these are tests performed by VERANG before delivery of migrated code. For these tests, we require some test cases and test data from the customer
  • System Tests – these are tests performed by the customer IT department and will encompass 100% core functionality tests. The procedure will vary from customer to customer but mostly will following existing testing practices for the legacy system
  • Regression Tests – tests performed after each delivery cycle to determine if any fixes have broken something else
  • User Acceptance Tests (UAT) – tests performed by the end users to verify and certify operation of the system
  • Parallel Testing – optional step that seeks to verify operation by requiring simultaneous operation of old and new systems and compares system state (databases etc.) at certain periods for verification. We are neutral on this because it requires a lot of resources from the customer