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.