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
| Layer | Today · legacy | Migration | After · 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
- 01InventoryAll programs, copybooks, jobs, screens and files counted and linked to each other. Dead code flagged.Deliverable: Inventory and dependency map
- 02Target architectureJava structure, data model, UI concept and the order of the migration waves defined.Deliverable: Blueprint and plan per wave
- 03Safety netTest cases derived from the behaviour of the existing system: same input, same output.Deliverable: Regression suite
- 04ConversionCOBOL to Java, module by module. AI-assisted, reviewed and reworked by our developers.Deliverable: Java code, traceable to the source
- 05DataVSAM, DB2 and files to PostgreSQL in repeatable trial migrations.Deliverable: Reconciliation report per run
- 06ScreensTerminal screens replaced by a web UI, designed with the people who use it every day.Deliverable: Web UI per department
- 07Parallel runOld and new side by side, every difference explained. Cutover per wave, with a fallback plan.Deliverable: Production on Java
- 08Operate & extendManagement 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
- Dashboards on live dataReporting directly on PostgreSQL instead of on overnight extracts.
- AI agents on your processesOnce the logic has an API, agents can work with it, with approval and audit.
- Peppol e-invoicingSend and receive invoices from the migrated system directly over Peppol.
- Aftercare with an SLAMaintenance and further development by the team that did the migration.
Curious what is inside your COBOL?
We start with an inventory.Start the conversation →