May 16, 2026
Explained: RACF
A bank teller logs into the mainframe every morning. She can view account balances and initiate transfers. She cannot access the payroll database. She cannot modify account interest rates. She cannot run the overnight batch jobs. She does not know any of this is being enforced. She just sees the transactions she is permitted to run and nothing else. That enforcement is RACF. Every access attempt, by every user, by every batch job, by every starte… Read More
by Phee Jay
May 16, 2026
Explained: JCL
You want to run a COBOL program on a mainframe. You know which program to run. You know which files it needs to read. You know where you want the output to go. But the operating system does not know any of this until you tell it explicitly, in a specific language, before execution begins. That language is JCL : Job Control Language. It is the script you write to tell z/OS what to run, what data to use, where to put the results, and what to do if s… Read More
by Phee Jay
May 16, 2026
Architecture: JES and Batch Processing
Every night, while the bank's tellers have gone home and the CICS transaction load has dropped to near zero, a different kind of work begins. Millions of account records are updated with interest. Every transaction from the trading day is reconciled. Customer statements are generated. Risk models are recalculated. None of this work has a user waiting for a response. None of it runs in real time. It runs in batch. Batch processing is the other… Read More
by Phee Jay
May 15, 2026
Architecture: DB2 for z/OS
A payment transaction hits the mainframe. It needs to check an account balance, verify a credit limit, write an audit record, and update three tables atomically. All of this happens under a single unit of work, coordinated by a database that has been running at that bank since the 1980s. If any part fails, every change rolls back. If two transactions try to update the same row simultaneously, one waits. If the system crashes mid-transaction, the… Read More
by Phee Jay