AS400 Migration to Java or .NET

AS400 migration to Java or .NET is one of the most effective ways to modernize legacy business applications while preserving critical business logic and improving long-term maintainability. IBM i (commonly referred to as AS/400) platforms have earned a reputation for stability, predictable batch processing, and durable business logic. Many organizations still run critical order management, finance, manufacturing, and claims systems on IBM i because the systems work and the risk of change feels high. 

Why AS/400 Modernization Is More Complex Than It Looks

Modernizing an IBM i application isn’t simply about rewriting code—it’s about preserving decades of business knowledge while adapting to modern technologies and development practices.

The Modernization Challenge

The challenge is that the surrounding ecosystem has shifted. Integration expectations are now API-first, UI expectations are browser and mobile, and operational expectations include CI/CD, automated testing, observability, and rapid change. Meanwhile, IBM i estates often rely on tightly coupled application logic, unique data structures, and platform-specific artifacts that make modernization appear more complex than it needs to be. 

Legacy Strengths

Expectations

CORE'S Engineering Philosophy

At Core, we approach AS400 migration to Java or .NET as a design preservation and forward engineering exercise. We capture the legacy intent, separate concerns cleanly, and rebuild the system into a modern stack, typically Java (Spring BootMyBatis, Angular/React) or .NET (C#/.NET 8, Dapper/EF where appropriate, React/Angular). The end state is a cloud-ready, supportable application with a modern data platform and a testable codebase.

CORE Modernization Principles

What makes AS/400 migration different

AS400 migration to Java or .NET is not only about converting RPG or COBOL syntax. It is about migrating a set of platform-specific concepts that are often intertwined: 

Programs & Service Programs

(RPG, COBOL, CL) and their call structures

Display & Printer Files

DDS based UI and reporting artifacts

DB2 Physical & Logical Files

Including multi-member files.

Data Areas & Queues

Messaging and inter-process coordination.

Commitment Control

Transaction and journaling semantics.

Jobs & Subsystems

Batch, interactive, spooling and scheduling.

Security Model

Profiles, authorities
and adopted authority.

A successful migration preserves the business rules and behavior while translating these concepts into modern equivalents such as REST services, message queues, schedulers, relational schemas, and role-based security. 

Typical drivers for modernizing IBM i

Organizations usually modernize for one or more of these reasons: 

Skills Risk

Diminishing availability of RPG and CL developers 

API Integration

expose functionality via APIs and integrate with SaaS platforms 

User Experience

Green-screen UX limitations and training overhead

DevOps & Delivery

Difficulty scaling change delivery without automated builds and tests

Reporting & Analytics

Data access constraints, reporting demands, and analytics modernization

Infrastructure Strategy

Cloud, hybrid, standardization on Windows or Linux platforms.

Core’s migration philosophy

Every modernization project follows three core engineering principles that reduce risk while preserving business value.

01

Preserve Design & Intent

Capture business rules, validations, and workflow that matter. 

02

Separate Concerns

Isolate data access, business logic, and presentation, then rebuild each cleanly. 

03

Automate Delivery

Repository-driven automation reduces risk and improves consistency.

This is especially important for IBM i where logic, data structure, and UI artifacts are often co-dependent. 

Target architectures: Java and .NET

CORE modernizes IBM i applications using proven Java or .NET architectures, depending on client standards, existing technology investments, and long-term business goals.

  • .NET 10 APIs and services 
  • Background services or Hangfire/Quartz for batch equivalents 
  • Dapper for high performance SQL access, EF where it adds value
  • React or Angular front end
  • SQL Server or Oracle as the RDBMS

The technologies may differ, but every migration follows the same engineering principles: preserve business intent, modernize architecture, and deliver a maintainable, cloud-ready application.

High-level migration approach

AS400 Diagram1

A typical end-to-end modernization workflow that transforms IBM i applications into cloud-ready Java or .NET architectures while preserving business intent.

Migrating AS/400 data structures and data formats

CORE modernizes IBM data structures by preserving business semantics while mapping legacy constructs to modern relational architectures and application frameworks.

01

DB2 for Physical & Logical Files

IBM i “files” often blend storage and access strategy: 

  • Physical files map closely to tables, but may include member concepts, record formats, and legacy constraints not explicitly declared.
  • Logical files can represent indexes, filtered views, joins, alternate keys, and access paths used directly by programs.

 Migration strategy: 

  • Convert physical files to relational tables with explicit keys, constraints, and normalized types. 
  • Convert logical files to a combination of indexes, views, and query patterns.
  • Identify program dependencies that rely on access-path behavior (read next, keyed reads, setll, reader) and preserve semantics in the DAO layer.
AS400 Diagram2

KEY MIGRATION CONSIDERATIONS

02

DDS Artifacts (Display Files & Printer Files)

 DDS artifacts usually represent two modernization opportunities: 

  • User interface modernization: translate green-screen workflows into a modern web UI. 
  • Reporting modernization: translate spool and printer files into modern report generation.
AS400 Diagram 3

APPROACH

03

DDS artifacts (Display files and Printer files 

IBM i applications frequently use: 

  • Packed decimal (COMP-3 in COBOL terms) 
  • Zoned decimal
  • Overpunch sign representations
  • Character numeric fields with implied decimals

OUR APPROACH

04

Data areas, Data Queues, and Message Handling 

Data areas and queues are frequently used for: 

  • Parameter passing between jobs 
  • Lightweight state storage
  • Batch coordination and integration

MODERN EQUIVALENTS

Database tables for durable state

Redis or distributed cache for ephemeral state (where appropriate)

Message queues (Azure Service Bus, RabbitMQ, Kafka) for asynchronous processing

Structured Logging and correlation IDs replacing message queues used as diagnostics.

05

Journaling and Commitment Control

IBM i journaling is often used for: 

  • Recovery 
  • Auditing
  • Synchronization patterns
  • Incremental extracts 

RDBMS transaction semantics

Change tracking (where required)

Audit columns and audit tables

CDC tooling when needed

We ensure transactional consistency, traceability, and recoverability in the modern environment.

06

Program Migration: RPG, COBOL, and CL

 The goal is to preserve business rules while improving maintainability: 

  • Extract program structure, files used, and call chains. 
  • Preserve the decision logic, validations, and computations.
  • Rebuild into service methods with explicit inputs and outputs. 

EXTRACT STRUCTURE

Analyze programs, files, and call relationships

PRESERVE BUSINESS LOGIC

Capture rules, validations, and calculations

REBUILD AS MODERN SERVICES

Service layer (Java/.NET) + DAO layer + Web UI / API endpoints

Every migration is driven by the same principle: preserve business intent, modernize architecture, and deliver a secure, reliable, and maintainable solution.

CL command language and job control

CL often encodes: 

  • Batch orchestration 
  • Environment setup
  • File overrides 
  • Subsystem job behavior and scheduling

We translate this into modern orchestration: 

  • Scheduler jobs (Quartz, Hangfire, Windows Task Scheduler, Kubernetes CronJobs) 
  • Parameterized batch runners 
  • Environment configuration and secrets management 
  • Repeatable deployment pipelines 
AS400 Diagram 5

There are several proven patterns, and selection depends on volume, downtime tolerance, and integration complexity.

OPTION A

One time extract and load (small to medium sized systems)

  • Extract DB2 for i data to flat files or staging tables
  • Transform and load into the target RDBMS
  • Validate with reconciliation and functional tests

OPTION B

Parallel run with incremental (small to medium sized systems)

  • Extract DB2 for i data to flat files or staging tables
  • Transform and load into the target RDBMS
  • Validate with reconciliation and functional tests

OPTION C

One time extract and load (small to medium sized systems)

  • Extract DB2 for i data to flat files or staging tables
  • Transform and load into the target RDBMS
  • Validate with reconciliation and functional tests

Testing and validation that reduces risk

IBM i migrations fail when testing is treated as an afterthought. We build validation into the migration lifecycle: 

Unit Tests

For conversion utilities (packed decimal, date formats, keyed reads) 

Golden Data Tests

using known input and expected outputs

Batch Reconciliation

Comparing totals, counts, and key financial metrics 

UI Workflow Tests

Replicating function-key behavior and navigation paths 

Performance benchmarking

for high-throughput batch windows  

A critical technique is comparing the legacy and modern system against the same input datasets, then proving equivalence in outputs and side effects. 

Security and operational modernization

A modern solution must match or exceed IBM i operational maturity: 

Role Based Security

Mapped from profiles and authorities

Centralized Identity

Azure AD, Okta, etc.

Auditing

Of key business events and data changes 

CI/CD Pipelines

Automated builds, tests, and repeatable deployments.

Observability

logs, metrics, traces, and alerting 

 

Production Support

Aligned to your DevOps processes 

A practical migration roadmap

Here is a typical sequence for an IBM i modernization project: 

This roadmap supports iterative delivery.

You can modernize one functional area at a time rather than waiting for a single big release. 

What you get at the end

A successful AS400 migration to Java or .NET produces: 

Modern Java or .NET Code

Clean separation of concerns

Relational Data Platform

With explicit schema, constraints, and indexes 

API Endpoints

For integration and future extensibility 

 

Modern UI

Replacing green-screen workflows 

CI/CD Pipelines

logs, metrics, traces, and alerting 

 

Testing Framework

Proves functional equivalence and supports change

How Core Helps

Core brings an automation-first approach that is built for legacy complexity. We preserve your existing design, extract and model the rules, and forward engineer into a modern stack with less risk than manual rewrites. If your IBM i estate includes RPG, COBOL, CL orchestration, DDS screens, and DB2 for i data structures, we can help you modernize to Java or .NET in a controlled, auditable way. 

Scroll to Top