Customer Story · Insurance

A 35-year-old reinsurance COBOL platform moves to native Java, one module at a time.

Industry Insurance Cloud Multi-Cloud Outcome Speed
~4 days
From start to tested Java on the first module of a 35-year-old COBOL estate. Six modules later, 29,847 COBOL lines are native Java 17 with 313/313 automated tests passing and no COBOL runtime left.
At a glance
Challenge
A 35-year-old reinsurance accounting platform: 1,076 COBOL programs, 700+ copybooks, Oracle Pro*C data access and a C terminal UI. The target was native Java, with proof it behaves the same.
Approach
CHAI™ scanned the whole tree, picked modules on a scored rubric, caught two mis-sized modules before any code was written, then migrated six modules over three rounds behind review gates.
COBOLUNIXOracle Pro*CCJava 17
Result
~4 days first module to tested Java

Want the full success story?

The full success story — architecture details and measurable outcomes.

CHAI by CloudHedge — Agent View
/success-stories/reinsurance-cobol-to-java/
# Insurance Customer Story — ~4 days first module to tested Java

**Industry:** Insurance
**Cloud:** Multi-Cloud
**Outcome:** ~4 days first module to tested Java

## Summary
A reinsurer's 35-year-old COBOL accounting platform, moved module by module to native Java 17 with no COBOL runtime and parity proven by tests.

## The Challenge
A reinsurer runs its accounting on a platform built up over about 35 years: 1,076 COBOL programs and more than 700 copybooks on UNIX. Data access goes through Oracle Pro*C modules, and the screens run on a C terminal library.The goal was demanding on purpose. The business wanted native Java — no COBOL runtime, no wrapper, no emulation — and it wanted proof that the new code behaves the same as the old. A rewrite that only looked right was not enough. On an estate this size, the method also had to repeat: whatever worked on the first module had to work on the next thousand.

## The Solution
CHAI ran the same four steps on every module, and each step ended at a review gate before the next one began.Understand. CHAI scanned the whole source tree and picked the first module on a scored rubric. Its generated documentation showed that the first pick's key operation was an empty stub, so the team switched to a module with real logic within the same phase.Plan. Two modules described as simple “DB SELECT” programs turned out to be orchestrators calling 14–30 other modules. CHAI showed this from the code, and the plan was resized before any code was written.Migrate. Six modules moved over three rounds, including the batch orchestrator (10,921 COBOL lines) and the contract workflow (16,170 lines, all 12 contract operations). CHAI built the database layer from 886 Oracle Pro*C files (17 modules, 40+ tables). For the 64.5K-line terminal layer it took a hybrid route: Java calls the existing C routines, so nothing is rewritten that doesn't need to be.Validate. Every COBOL section is mapped to Java and checked for parity, and nothing moves on until the review gate passes.

## The Outcome
29,847 lines of COBOL became 7,652 lines of native Java 17 — a 3.9:1 reduction — with 313/313 automated tests passing and zero COBOL runtime dependencies. The first module went from start to tested Java in about four days.Six modules were migrated and handed over, including the two largest pieces of business logic in scope: the batch orchestrator and the full contract workflow.Just as important, the method is now proven on this estate. The same understand, plan, migrate and validate steps, with the same gates, repeat across the remaining ~1,070 modules, and the risks that would have surfaced mid-migration — a stub posing as a key module, two “simple” programs that were really orchestrators — were caught while they were still cheap to fix.


## Stack
- COBOL
- UNIX
- Oracle Pro*C
- C
- Java 17
- Maven
- JUnit 5
- CHAI



## Contact
Book a demo: /contact/
Email: hello@cloudhedge.io