A Modern Systems COBOL Conversion has four distinct phases. The first phase, "recover", is where we gather an inventory of the legacy application elements, analyze them to identify any specific areas that may need special handling, and prepare them for conversion. The "refactor" phase harnesses the COBOL conversion engine within COBOL-To-Universal to translate the legacy code to our proprietary intermediate language called OORules. During the "regenerate" phase, the intermediate language is converted to Java or C#. During the final phase, "refine", we leverage extensive pre-delivery testing to ensure the converted application meets all of the project goals.
The recover phase is a complete research and analysis project that outlines all conversion candidates along with other application and database components within scope.
At its core, the recover process results in a complete understanding of the current processing environment. This phase also includes discussing and reviewing the overall system test strategy and the division of the converted code into work packets.
We also define a set of topics during the recover phase that must be addressed prior to conversion. In order to speed the modernization process, these topics are typically addressed by those team members who are best suited to understand the topic, the solution options, and any changes or activities that are required to address the "Area of Concentration". Once these Areas of Concentration are identified, customer teams and Modern Systems address the areas about which they are most knowledgeable and for which they are best suited to implement a solution.
The goal of this stage is to ensure the target state works exactly like the source, performs the same or better than the original, and does so with maintainable object oriented code. We start by processing the legacy artifacts repository and transitioning the procedural language to object oriented code, producing our platform-independent language called OORules. Prior to generating the target code, the COBOL conversion engine goes through a number of processes to prepare the application structure for conversion into the final object-oriented target.
The intermediary OORules-based application is then used to generate the target Java or C#. The transformation is based on rules and code styles agreed upon in the recover phase, to a compiled state to be deployed on an application server supporting the new object-oriented code. No business logic or application functionality is changed as part of the transformation and there aren't any emulators or code containers to complicate things.
During the refine phase, we test the refactored code resulting from the COBOL conversion using a test plan with documented test scenarios provided by the customer. The tests run against the same data on the converted system, and we identify, investigate, and fix any discrepancies in the expected behavior of the modernized applications. Once testing is complete, we perform a code refresh to ensure that any changes that took place in the legacy application environment during the COBOL conversion are accounted for, transitioned into the target language and environment, and tested.
We work very closely with our customers throughout the process to ensure a smooth and error-free transition. Our teams also provide any required assistance during the warranty period following the deployment and offer post-application support of the modernized application.