AS400 Modernization Center

AS400 Application Modernization

Application modernization, refactoring RPG into free-format ILE code, modularizing monolithic programs, and introducing new languages alongside existing logic, is the broadest and highest-risk modernization category. It is also the one most often confused with a full migration, when the goal is almost always to extend the application's life, not replace it.

Application modernization covers the widest range of work of any AS400 modernization category, from cosmetic code cleanup to introducing entirely new languages into an existing environment. It is also the category most often mistaken for a full migration, since "modernize the application" and "replace the application" get used almost interchangeably in casual conversation, even though they describe very different projects.

Refactoring RPG III into Free-Format ILE RPG

Much AS400 code still in production was written in fixed-format RPG III or early RPG IV, using column-based syntax that predates the free-format, structured style RPG IV/ILE RPG has supported since the 1990s. Refactoring existing programs into free-format ILE RPG improves readability and maintainability without changing what the program does, making it easier to find developers willing to work on the code and reducing the risk of maintenance errors over time.

Modularization with Service Programs

Older AS400 applications frequently consist of large, monolithic programs where business logic, data access, and presentation are tightly intertwined. Modularization breaks these into discrete service programs and procedures with defined interfaces, which makes individual pieces of logic reusable, for example by both a green screen interface and a new API layer, without duplicating code. This modularization work is often a prerequisite for effective API integration, since a clean, callable interface is much easier to expose from modular code than from a monolithic program.

Introducing New Languages Alongside RPG

IBM i supports open-source languages, including Node.js, Python, and PHP, running alongside traditional RPG and COBOL on the same system, sharing access to DB2 for i. Organizations use this to build new functionality, particularly web and integration layers, in languages with a larger available talent pool, while leaving stable, well-tested RPG business logic in place rather than rewriting it just to use a newer language.

Scoping the Risk

Application modernization is the category most likely to be scoped too broadly. A project that starts as "clean up this one program" can expand into a much larger rewrite if boundaries are not set clearly. The lowest-risk approach treats modernization as incremental: refactor and modularize the specific programs that block a concrete goal, such as an API integration or a performance problem, rather than attempting a comprehensive rewrite of the entire application portfolio in one initiative.

Frequently Asked Questions

What is AS400 application modernization?
Application modernization covers refactoring older RPG code into free-format ILE RPG, modularizing monolithic programs into reusable service programs, and introducing new languages alongside existing RPG and COBOL logic.
Does application modernization mean rewriting everything?
No, and treating it that way is a common scoping mistake. Most successful application modernization work is incremental, targeting specific programs that block a concrete goal, rather than rewriting the entire application at once.
Can new programming languages run alongside RPG on IBM i?
Yes. IBM i supports Node.js, Python, PHP, and other open-source languages running alongside RPG and COBOL, sharing access to the same DB2 for i database.