Skip to content

MoniBankCore banking across generations

An educational banking system connecting a modern Java and Vite application with MVS, KICKS, COBOL, VSAM and JES.

One project, two eras of mainframe computing

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.

Legacy BankIN DEVELOPMENT

MVS 3.8J laboratory

  • Hercules emulator and TK5 environment
  • automated TN3270 and TSO session
  • KICKS online transactions
  • COBOL business programs and keyed VSAM
  • JES virtual-printer result transport
  • Java/Spring API and Vite operator panel

The first complete online flow, GET CUSTOMER, works end to end. The wider banking application is still being built.

Explore the Legacy Bank architecture →

Modern BankPLANNED

Future IBM Z branch

  • intended for an IBM Z environment
  • contemporary online transaction processing
  • modern mainframe integration interfaces
  • equivalent banking use cases
  • direct comparison with Legacy Bank

The architecture will be defined after the Legacy Bank foundation is sufficiently complete.

Current development status

MoniBank is an active portfolio and learning project. Completed flows are demonstrated with real code and logs, while unfinished parts are clearly marked.

AreaStatusCurrent scope
Legacy environmentIn developmentMVS 3.8J running under Hercules
Java integrationIn developmentSpring Boot, persistent terminal worker and TCP listener
GET CUSTOMERWorking end to endJSON → 3270/KICKS → COBOL/VSAM → JES → JSON
Banking operationsIn developmentcustomers, accounts, cards, deposits, withdrawals and statements
Operator interfaceIn developmentVite dashboard and live mainframe visibility
First technical articleUnder reviewbeing verified today against the completed endpoint
Modern BankPlannedfuture IBM Z branch

Why MoniBank exists

  1. Learn mainframe engineering through a complete system, rather than isolated COBOL exercises.
  2. Show the boundary between generations of technology, including the awkward details polished diagrams often omit.
  3. Build a transparent technical portfolio, where decisions, failures and fixes can be examined in code, articles and video.

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.

Have a question about MoniBank?

Spotted a technical inconsistency, have a question or want to discuss the project architecture?

Find me on LinkedIn → · View the MoniBank repository →

Core Banking · Mainframe Engineering