James Allman | JA Technology Solutions LLC
Modernization that builds on what you have
Modernization does not mean starting over. It means making existing systems more maintainable, more capable, and better connected, without the risk of a wholesale replacement.
Approach
I approach modernization selectively. Not every part of a legacy system needs to change. The goal is to identify where modernization delivers real business value (better maintainability, reduced risk, improved integration, or new capability) and focus effort there.
This often means modernizing interfaces while preserving reliable back-end logic, or wrapping existing business rules in modern APIs rather than rewriting them from scratch.
The problem modernization solves
The system still runs the business, but it can no longer keep up with it. The RPG is fixed-format and thinly documented, so even small changes are risky. A .NET Framework app is stuck on an unsupported runtime because the upgrade was always next quarter. A Red Hat 6 server is years past end-of-life because the migration kept getting deferred.
None of these need a wholesale rewrite. They need the parts that hurt modernized (free-format RPGLE on IBM i, a .NET Framework to .NET 8 upgrade on Windows, a supported Linux distribution and containerized deployment) while the business logic that already works stays in place. That is the difference between modernization and replacement.
What modernization involves
- Free-format conversion of legacy RPG code on IBM i, and RPG-to-Java migration where it genuinely fits: targeted rewrites of specific programs rather than wholesale replacement, with Java and Kotlin services running alongside existing IBM i applications where coexistence is the better call
- .NET Framework to .NET 8 upgrades on Windows, and bringing VB6, classic ASP, and Access/VBA applications onto a supported, maintainable stack
- Linux distribution migrations (RHEL 6 and 7 to current), containerization of long-running services, and build and deployment automation
- Web front ends using React, Vue, and modern frameworks connected to existing business logic, regardless of where that logic lives
- API development to expose legacy data and functions to modern consumers, and replacement of green-screen interfaces with browser-based alternatives
- Vendor lock-in reduction through open-source JDKs, Linux-based deployment, and open database platforms
- Consolidation of spreadsheet-based workflows into database-backed applications, and modernization of reporting from static printouts to interactive, visual formats
A real merchandising workflow, before and after: item maintenance, item attributes, and price and cost maintenance are on separate green-screen pages. The modern tabbed view that replaces them handles all three on one screen, with the business logic underneath preserved.
Before
After
When modernization makes sense
Modernization is most valuable when the existing system works but is difficult to maintain, extend, or connect to other systems. If the business logic is sound but the interface is outdated, the deployment is fragile, or the code is in a format that makes changes risky, that is a modernization conversation.
See the BI dashboard in action for an example of what happens when business data moves from a static spreadsheet into a modern, visual format.
Free modernization and legacy tools
Modernization starts with understanding what is already in place. These free browser-based tools make it easier to inspect legacy screens, record layouts, and numeric encodings before you decide what to replace and what to wrap.
- DDS Screen Explorer: render IBM i 5250 display files as browsable HTML
- BMS Screen Explorer: render CICS BMS screen definitions for mainframe modernization planning
- DDS ↔ SQL Converter: convert IBM i physical file definitions to SQL DDL and back
- COBOL Copybook Explorer: interpret legacy record layouts into readable structure
- EBCDIC to ASCII Converter: decode legacy text exports
- Packed Decimal Converter: decode legacy numeric fields
Related capabilities
Modernization often connects with migration, custom application development, cloud and hybrid architecture, and reporting modernization. See modernization in action for a side-by-side comparison of legacy and modern interfaces.
Further reading
RPG Modernization: Options Beyond Java Migration: in-place free-format RPGLE, API wrapping, hybrid front ends, and when a full RPG-to-Java migration genuinely makes sense.
RPG: The Language Behind Your Business Logic: what lives in your RPG code and how to modernize it without losing business logic.
IBM i: The Platform Decision-Makers Should Understand: modernization context for the platform that many legacy systems run on.