Migrations · 04

Legacy migrations

From COBOL and terminal screens to Java, PostgreSQL and a web UI, with a management UI on top. Step by step, no big bang.

Your business rules stay. The platform underneath changes.

Your COBOL system has done its job for decades. The problem is everything around it: fewer and fewer people can maintain it, the platform is expensive and every new integration is a project. We move the logic to Java, the data to PostgreSQL and the terminal screens to a web UI, and add what the old system never had: one management UI for jobs, users, parameters and audit.

From legacy to Java, layer by layer

Diagram
Diagram: what runs today in each layer, how we migrate it and what it becomes.
LayerToday · legacyMigrationAfter · Java platform
Screens 3270/5250 terminal screens, BMS maps, function keys Every screen and flow mapped, redesigned per task Web UI in the browser: search, tables, forms, keyboard shortcuts
Business logic COBOL programs, copybooks, CICS transactions Converted per module, traceable to the source, equivalence tested Java services on Spring Boot with a REST API
Batch JCL jobs, overnight processing, scheduler Jobs, steps and dependencies carried over one to one Scheduled Java jobs: restartable, with logging per step
Data VSAM, DB2, IMS, sequential files in EBCDIC and COMP-3 Schema mapping, trial migrations and reconciliation per run PostgreSQL with keys, constraints, indexes and history
Integrations MQ, file exchange, FTP Interfaces kept or replaced one at a time REST APIs and events, next to the file flows that have to stay
Management + New Operator console, spool and knowledge held by a few people Added on top of the migrated system Management UI: batch jobs, users and roles, parameters, audit, monitoring
Platform Mainframe or IBM i, proprietary tooling and licences Moved wave by wave, the old system keeps running until the new one is proven Linux containers on your own servers or in the cloud

Four tracks

Separately or together
01
COBOL to Java
COBOL → Java
COBOL programs, copybooks and batch jobs converted to maintainable Java on Spring Boot, module by module, with tests that prove the behaviour stays the same.
→
02
Replacing the terminal UI
Terminal → Web
3270 and 5250 screens replaced by a web UI built around the task: search instead of memorised codes, keyboard shortcuts for fast users, no emulator.
→
03
Data migration to PostgreSQL
Data
VSAM files, DB2 and IMS databases and sequential files to PostgreSQL, in repeatable trial migrations with a reconciliation report per run.
→
04
Management UI
Management
A management UI on top of the migrated system: batch jobs, users and roles, parameters, audit and monitoring in one web interface.
→

The programme in eight phases

Every phase delivers something
  1. 01
    Inventory
    All programs, copybooks, jobs, screens and files counted and linked to each other. Dead code flagged.
    Deliverable: Inventory and dependency map
  2. 02
    Target architecture
    Java structure, data model, UI concept and the order of the migration waves defined.
    Deliverable: Blueprint and plan per wave
  3. 03
    Safety net
    Test cases derived from the behaviour of the existing system: same input, same output.
    Deliverable: Regression suite
  4. 04
    Conversion
    COBOL to Java, module by module. AI-assisted, reviewed and reworked by our developers.
    Deliverable: Java code, traceable to the source
  5. 05
    Data
    VSAM, DB2 and files to PostgreSQL in repeatable trial migrations.
    Deliverable: Reconciliation report per run
  6. 06
    Screens
    Terminal screens replaced by a web UI, designed with the people who use it every day.
    Deliverable: Web UI per department
  7. 07
    Parallel run
    Old and new side by side, every difference explained. Cutover per wave, with a fallback plan.
    Deliverable: Production on Java
  8. 08
    Operate & extend
    Management UI in use, aftercare with an SLA. Then new features that were out of reach on the old platform.
    Deliverable: Management UI and SLA

How we keep the risk small

01
No big bang
We migrate in waves. The existing system stays in production until the new wave is proven.
02
Proven, not promised
The same input has to give the same output. We test that per module and again during the parallel run.
03
Knowledge written down
Business rules that lived only in code and in people’s heads end up in readable Java and in documentation.
04
One partner
Analysis, conversion, data, screens, management UI and aftercare by the same team.

What becomes possible afterwards

Beyond the migration

Curious what is inside your COBOL?

We start with an inventory.Start the conversation →