Legacy Bank
IN DEVELOPMENT · A banking environment built on MVS 3.8J, Hercules, KICKS, COBOL, VSAM and JES.
An educational banking system connecting a modern Java and Vite application with MVS, KICKS, COBOL, VSAM and JES.
MoniBank is an educational core banking project exploring how banking operations can cross the boundary between a modern web application and classic mainframe technology.
The project is not a screenshot-only simulation. Its Legacy Bank branch runs on MVS 3.8J under Hercules. Java controls a persistent 3270 session, KICKS dispatches online transactions, COBOL works with VSAM data, and JES returns structured results through a virtual printer connection.
Modern Bank is planned as a future implementation for IBM Z. It will allow the constraints and design choices of the legacy environment to be compared with contemporary mainframe integration patterns.
The first complete online flow, GET CUSTOMER, works end to end. The wider banking application is still being built.
The architecture will be defined after the Legacy Bank foundation is sufficiently complete.
MoniBank is an active portfolio and learning project. Completed flows are demonstrated with real code and logs, while unfinished parts are clearly marked.
| Area | Status | Current scope |
|---|---|---|
| Legacy environment | In development | MVS 3.8J running under Hercules |
| Java integration | In development | Spring Boot, persistent terminal worker and TCP listener |
| GET CUSTOMER | Working end to end | JSON → 3270/KICKS → COBOL/VSAM → JES → JSON |
| Banking operations | In development | customers, accounts, cards, deposits, withdrawals and statements |
| Operator interface | In development | Vite dashboard and live mainframe visibility |
| First technical article | Under review | being verified today against the completed endpoint |
| Modern Bank | Planned | future IBM Z branch |
The first technical article follows one real GET CUSTOMER request from Postman to MVS and back. Every class, program, record layout and log will be checked against the working implementation before publication.
Spotted a technical inconsistency, have a question or want to discuss the project architecture?