THE LINUX FOUNDATION PROJECTS
Blog | Mainframe Modernization | Mentorship

Summer Mentorships 2026: Bridging Legacy and Modern Databases: My Midterm Journey in the Open Mainframe Project

By | September 21, 2026

Written by Vijaya lakshmi M, Open Mainframe Project Summer Mentorship 2026, mentee researcher, guided by mentor Vinu Viswasadhas

Picking Up Where We Left Off

In my midterm blog, I wrote about the research behind understanding VSAM datasets and the different mainframe artifacts that hold pieces of that information. I had spent a lot of time with COBOL programs, copybooks, JCL, IDCAMS, catalog metadata and figuring out how all of them fit together. Thus the foundation had been built and now comes the main part – making it actually work.

fig1. Overall Architecture

fig1. Overall Architecture

fig2. Repository Discovery

fig2. Repository Discovery

fig3. Execution Logs

fig3. Execution Logs

The Easy Part Was Over

Finding a copybook and reading its fields is one thing while turning that structure into a relational schema without losing its meaning is a completely different problem. That was the main focus of the second half of my mentorship. I worked on connecting the different stages of the system which includes repository discovery, artifact classification, parsing, metadata normalization, relationship analysis and schema generation. 

fig4. Artifacts Classification

fig4. Artifacts Classification

fig5. COBOL Program Structure

fig5. COBOL Program Structure

fig6. Copybook Structure

fig6. Copybook Structure

REDEFINES, OCCURS And Everything In Between

But here is the catch.

REDEFINES was one of the first major challenges which I faced. The same physical storage can have multiple logical representations, which means simply converting every field into a database column can produce duplicate or misleading schemas. Instead of treating every REDEFINES  the same way, We worked on a resolution logic that examines the structure and decides how an alternate representation should be handled.

fig7. REDEFINES handling

fig7. REDEFINES handling

Then came OCCURS. It brought the challenge of handling repeated data. Instead of treating every occurrence as an array, We built a resolution logic that distinguishes between repairing scalar fields, repeating groups and variable length occurrences mapping them appropriately to arrays or child tables while preserving the original COBOL structure.

fig8. OCCURS Handling

fig8. OCCURS Handling

Finally Some PostgreSQL

Once the structures were being resolved properly, I moved on to generating the relational side of the story. The pipeline now maps COBOL structures to PostgreSQL, creating tables and child tables wherever needed and generates the corresponding SQL scripts

fig9. Generating scripts

fig9. Generating scripts

Seeing It All Come Together

By the end of the mentorship, all the individual units fell into a single system. A repository can be explored, its artifacts identified and parsed, their structures inspected and relational representations generated. More importantly, the results remain connected to the artifacts and evidence which fulfills one of the core objectives of this project – Explainability and Traceability.

fig10. Explainability & Traceability

fig10. Explainability & Traceability

That’s A Wrap!

My biggest takeaway from this journey is that mainframe modernization isn’t really about converting old syntax into new syntax, it’s about understanding the legacy systems which carry years of business knowledge in their programs, layouts, jobs and metadata. And with this my LFX mentorship journey comes to an end. What started as research into VSAM to relational modernization grew into a working prototype, a lot of debugging, plenty of restarts and a whitepaper capturing the journey along the way. A huge thank you to my mentor Vinu, the Open Mainframe Project and the LFX Mentorship Program for giving me the opportunity to work on this problem and learn so much throughout the process.

 

Stay tuned for more mentee blogs as our Summer Mentorship Program continues!

Share