Enterprise architecture at Infosys works at the intersection of business and technology to deliver tangible business outcomes and value in a timely manner by leveraging architecture and technology innovatively, extensively, and at optimal costs. Stay up-to-date on the latest trends and discussions in architecture, business capabilities, digital, cloud, application programming interfaces (APIs), innovations, and more.

« Innovation and Design Thinking in Enterprise Architecture | Main | The Death of the Enterprise Architecture Framework? »

Legacy Modernization: A Recommended Approach for de-risking it

By Pierluca Riminucci, Infosys Account CTO

1.    Introduction

Often companies are facing difficult decisions as whether, when and how to modernize their legacy applications.  Even more so when the latter are mission critical.

The purpose of this short paper is to provide some considerations and insights to help readers to better contextualize the underlying problem and associated technical risks.

The paper will also illustrate a typical Infosys approach for performing an initial assessment focused at de-risking a particular type of modernization, i.e. an "AS400 re-hosting".

 The proposed approach, which will be illustrated in its key steps, is aimed at discovering and reporting on key risks and technical constraints and related best suitable remediation tailored at solving customer specific code construct issues.

By using the outcomes and deliverables of the Infosys 'pre-assessment' approach, decision makers will be better equipped to fully understand their modernization project risks and technical challenges. 

2.    Re-hosting AS400 applications

One of the most basic approach to legacy modernization is re-hosting.

Though re-hosting an AS400 application, i.e. recompiling its COBOL code to make it run in an emulator, can be considered the most straightforward way to perform a legacy code modernization, it is not free of risks and potential pitfalls.

Infosys, and in particular its Legacy Modernization practice, has built vast experience over the years and has developed an end-to-end effective multiphase approach, as depicted in the picture below.

In 'Application assessment' and 'Solution discussion' phases, Infosys assesses existing application inventory, conducts SME workshops, defines a target architecture, defines modernization map etc.

Once a full inventory is compiled and risk-assessed and once a target architecture is finalized, Infosys migrates the application in phases. This strategy is particularly suitable to reduce and properly manage risks associated with large application migration.

2.1    Re-hosting using Infinite

Infinite-I is a suite of compilers, utilities and operating system services that allow AS400 applications to be migrated at the source code level, recompiled and executed on target systems.

However, it is important to be aware that during this process, not all COBOL code constructs can be seamlessly compiled.

As mere title of example, in the table below, we have listed some components that might be "problematic" and have also associated some suggested remediations.

Non supported components and remediation


Risk in program

Infosys remediation

Programming language

(RPGII,RPGIII,RPG FREE, Assembler etc.)

Low, Can be remediated to Infinite compatible languages and then re-hosted to target environment.

Rewrite the non supported components to Infinite compatible COBOL or RPG IV programs.

·          Utilities to convert from RPGIII to RPG IV.

ILE - Activation group, service program, binding directory etc.

High, Direct conversion is not possible. Special remediation is required for all components.


AS400 components Like
(Data area, Data Queue etc.)

Medium, can be remediated in target environment.


Journaling and commitment control

High, Directly impacts system's ability to recover from failure.


3rd Party tools like

(X-analysis, TAATOOL etc.)

Medium to High, impact varies based on usage in system.

Early detection of third party tools and its usage in programs helps to measure the risk. Equivalent commands/keywords needs to create and need to change programs.

Upstream and downstream integration channels

Medium,  Equivalent integration channels are possible in target platform.

Equivalent integration channels in the target environment need to be identified and a POC needs to execute to demonstrate compatibility with Infinite.

3rd party tool generated cryptic code

Low, Can be remediated to Infinite compatible code and then re-hosted to target environment.

Decrypt the encrypted code and then rewrite  into Infinite compatible COBOL or RPG IV programs.

Job queues, Message queues



Change management tool



AS400 supplied APIs, CL Commands

Medium to High, impact varies based on usage in system.

Early detection of AS400 APIs & commands and its usage in programs helps to measure the risk. Equivalent commands/keywords needs to create and need to change programs.

Missing Interactive SQL


For Infinite DB - Use of work query and run query commands to build the SQL like queries.

For Oracle and SQL Server - Feature available.

Connection between the Spool and the JOB generating the spool.


Spools are there in the underlying Linux Directory.

Build customized Shell script to obtain the Job and details and the underlying spools.


JAVA calls in the programs

Medium to high, Based on usage.

Custom commands provided by Infinite to execute the Java calls. 

Missing features in CLP (SUBR, %BIN, ecc...)

Low to Medium, Based on usage.

Such gaps will be handled by doing manual code changes.

2.2    Pre-Assessment Phase: Critical factors for migration

The pre-assessment phase is important to better understand what the modernization program will imply end-to-end and how to de-risk its most critical bits before embarking into it.

Again, as a title of example, the table below reports a list of critical factors that are typically considered and specifically analyzed in the pre-assessment phase.

Critical factors for migration


Assessment Phase

Understanding existing application correctly (size, complexity, dependency, type etc.)


·         Analyse applications using tool to identify core inventory, inter dependency, dead/duplicate code, program complexity to determine final in scope inventory.

·         This baselined inventory will be used to calculate overall migration scope, cost and schedule.

Current state analysis.

Utilize the Appropriate Migration Tools

         Perform compatibility analysis with vendors to measure compatibility with current application. Identify all non-supported components.

·         Identify risk associated with each non supported components and Define the right solution to migrate these components in target.

·         If required, execute POC to prove the solution.

Compatibility analysis POC

Identify migration risk hot spots and its mitigation solution

·         In current state analysis phase identify all hot spots where migration could fail.  

·         Establish the right solution to address these hot spots and If required, execute POC to prove the solution.

Current state analysis, Functional understanding POC

Understanding target system requirement correctly

·         Based on fit-gap analysis identify business needs that may be met through technology, process, or solutions

·         Analyze and create solution options for desired business capabilities and Highlight pros, cons and implementation effort for all options.

·         Future state architecture and technology capabilities guided by the identified tools & frameworks.

Current state analysis, Functional understanding, compatibility analysis   Modernization roadmap.

Define appropriate KPIs and NFRs

·         Based on analysis and discussion define the right KPIs and NFRs to assess target system.

·         Pick one of the slowest application modules from inventory and benchmark the performance. Compare performance benchmark with the re-hosted application.

·         Define NFRs attached to Security.

·         Define NFRs attached to Integration systems.

Current state analysis, Functional understanding Modernization Roadmap

Ensure migrated application is functionally correct

·         Define testing strategy and testing option for migrated application.

·         Phase-wise testing to ensure integrity of migrated application.

·         Integration testing in the end of each phase to reduce risk of breakdown.

Functional understanding Modernization Roadmap

Module Prioritization of migration

·         Create inventory buckets which are based on functional and technical values.

·         Prioritize business capabilities for implementation to achieve early benefits.

·         A phased Implementation plan will be developed to achieve the target state. This will in turn reduce the risk of large application migration.

Current state analysis and Functional understanding.

Cutover and Rollback plan

·         Define cutover strategy and rollback plan for phase wise implementation approach.

Modernization roadmap

Data migration

Identify answers for following:

·         What tool needs to be used for Data migration between DB400 and target DB?

·         Is data transformation required?

·         If required, execute POC to prove the solution.

Current state analysis, Compatibility analysis POC

Source availability

·         Analyse application to identify objects without sources.

         As Infinite doesn't support objects without sources, need to define solution to generate source from compiled objects.

Current state analysis POC

List of tools, utilities and Peripherals not supported by Infinite I

·         As part of current state analysis, list out all tools, utilities or peripherals.

·         In compatibility analysis phase, list out all non-supported tools and peripherals.

·         Define solution for all non-supported tools & peripherals.

Current state analysis, Compatibility analysis

3rd Party tools and software

·         As part of current state analysis, list out all 3rd party tools and software.

·         Identify tools to replace 3rd party tools and software in target environment. 

Current state analysis

Data Sync between two system

Identify answer for following:

·         What level of data synching is required? File level, transaction level, database level etc.

·         What is frequency of data synching? Real time, hourly, daily etc.

·         What tool we use for Data synchronization between DB400 and target DB?

·         If required, execute POC to prove the solution.

Functional analysis Modernization Roadmap, POC

Disaster recovery or high availability of target

Identify answers for following:

·         What is current DR and HA mechanism?

·         Do we need DR and HA for re-hosted environment?

·         What will be Infinite solution for DR and HA?

·         If required, execute POC to prove the solution.

Functional analysis, compatibility analysis POC

2.3    Assessment phases in detail

To de-risk "AS400 re-hosting" projects, Infosys typically proposes, when applicable, to conduct a pre-assessment phase.

The main steps of the pre-assessment are illustrated in the diagram below.

The focus and key activities performed during each step is also listed in the diagram.


3.    Conclusion

This brief article illustrates the benefit of considering a pre-assessment phase before embarking into the full-blown modernization program. This is a safe option that customer should consider and evaluate in light of their specific situation and needs.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.