COBOLSTACK.COM
//CS525  EXEC PGM=COURSE,PARM='CS525'

Modernization track · Advanced · self-paced ~35h with labs (6 days as a cohort) · prerequisite: CS510 (or Spring Boot experience), CS530 Sessions 1–3 (or equivalent testing literacy) and CS100

Rewrite & Re-architecture: From Business Rules to Services, Proven by Behaviour

The rewrite done honestly: read CardDemo’s COBOL as a specification, extract its business rules into a register, design bounded contexts and a domain model with invariants, build Spring services and a rethought batch and event spine, prove behaviour parity through a scenario-driven contract suite run against SteelFrame with every difference declared by design and owned, and strangle one function with the mainframe still the system of record — using an assistant where it helps and the oracle to judge. 44 short videos (about 5h30m). Every lesson refers back to the AWS CardDemo application running live on SteelFrame — its COBOL source, batch jobs, CICS screens and VSAM/DB2 data — and every lab starts on the mainframe side: you run the legacy program under your own user to produce the golden, then make the Java match it.

Self-paced available Cohort

Open for enrollment now. The lesson videos for this course are in production — release order across the track: CS510 → CS520 → CS530 → CS521 → CS535 → CS500 → CS550 → CS525 → CS540 → CS545 — and every session below is published as its lessons and lab now and marked Coming soon until its videos are released.

Plans: Free individual at no cost, or Paid individual at $349 per course, one-time — code review, extra exercises, grading and priority support.

//SYLLABUS DD DISP=SHR

Syllabus

Every session ends in a lab on your own environment. Labs are machine-checked against expected outputs — you and your L&D team always know exactly where you stand.

Rewrite as a style

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. When rewrite wins and when it kills — Commonwealth Bank against TSB, Co-op/Finacle and Queensland Health — opening on CardDemo live on 3270; behaviour parity vs byte parity, the same transaction judged by equiv and by contract, and who owns a difference; the method — extract, model, build, prove, strangle — mapped onto the real chain in SDSF; the tooling market (ADDI, CAST, SMART TS XL, Google MAT, AWS reimagine) and what analysis_graph finds and cannot.

LAB Checkpoint 0: run CT02 through twenty inputs on 3270 and list every observable behaviour of COTRN02C — messages, outcomes, side effects, cursor — as the register’s raw material.

Rule extraction

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. Reading COBOL as a specification — conditions, computations, edits, side effects, ordering — with COTRN02C’s validations becoming rules R01–R11 in EDIT; the analyst’s tools — analysis_impact and search_source following ACCT-CURR-BAL across five programs; the rule register as data the grader reads, every entry’s source lines opened in BROWSE; the rule hidden in a copybook VALUE clause and in a JCL PARM.

LAB Checkpoint 1: 25 rules of the posting programs, copybooks and JCL registered with SteelFrame-run examples; coverage against the harness’s rule list at least 90%.

Capturing behaviour as tests

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. Scenario files from captured transactions — cics_run_script, run_capture, export_state — one scenario end to end; contract tests with per-field tolerance and an owner, a passing and a failing case read; property tests from rules with the credit-limit rule exercised on SteelFrame first; the declared-difference register — wording, layout, ordering, timing — with one declaration refused.

LAB Checkpoint 2: forty scenario tests across the account and transaction rules, wired into mvn verify, all red against the empty domain.

Domain modelling

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. Bounded contexts — accounts, cards, transactions, users — drawn from the call graph and corrected by the register; entities, value objects and invariants with Money’s scale read off the packed field in hex; aggregates, transactions and idempotency keys against a double submit observed on 3270; ArchUnit rules that encode the model, mirroring the program boundary in the COBOL.

LAB Checkpoint 3: the domain model green on unit tests seeded with the captured scenarios’ values; ArchUnit green.

Services and APIs

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. Application services, REST contracts and OpenAPI designed from the rules with the COMMAREA and screen fields as the inventory; validation ladders rewritten — same outcomes, new wording, declared; the security model that replaces USRSEC beside RACF; persistence from the model with the migrated data reconciled against decode_records.

LAB Checkpoint 4: account and card services pass the online scenario suite under contract; every declaration owned.

Batch rethought

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. Which batch survives (interest, statements, backups) and which becomes event-driven (posting), classified on the real chain in SDSF; Spring Batch for the survivors and the CA-7/Control-M definitions as an Airflow-class DAG; events and the outbox with the MQ trigger as precedent; the nightly total that no longer matched because posting moved to real time — declared difference or defect, decided by the reconciliation.

LAB Checkpoint 5: real-time posting plus the interest job produce category and account totals equal to the COBOL cycle’s for the same day.

Strangler and coexistence

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. Routing by function with SteelFrame as system of record; reading through the cics_link façade while writes stay on CICS; the flip per function and the overlap reconciliation against read_records; the rollback drill under 3270 traffic.

LAB Checkpoint 6: card list served by Java, writes still on CICS, hourly reconciliation green for the simulated day, rollback proven.

AI in the loop, honestly

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Four videos. Assistants for rule extraction and test generation with the review checklist, an extraction run over MCP beside the source; the generated requirement that was wrong — "rounded half-up" against a COBOL that truncates — caught by the contract test seeded from a SteelFrame run; the evidence trail an auditor wants from an AI-assisted rewrite.

LAB Checkpoint 7: the COBIL00C bill-pay rules extracted with your assistant, reviewed, registered and proven by contract scenarios captured on SteelFrame, with the evidence trail.

Capstone

Coming soon The videos for this session are being produced; its lessons and lab are published here now.

Five videos. Reading an unseen domain service beside the CardDemo program it came from; the hidden variant with three seeded behaviour changes found by the contract suite and reproduced; the parity report — rules covered, contracts green, differences declared and owned; portfolio and interview with live frames; the certificate.

LAB Checkpoint 8 and capstone: three behaviour changes found by the suite before any COBOL is read, reproduced, suite green; the parity report; the 30-question reading check (80%).

//SKILLS  DD DSN=AFTER.THIS.COURSE

After this course, you can

//CERT    DD DSN=CS525.CERTIFICATE,DISP=(NEW,CATLG)

How the certificate is earned

CobolStack Certificate — Rewrite & Re-architecture (CS525) is issued from the lab harness’s own record of your runs — not from attendance. To earn it you must clear every gate below:

The certificate attests that you can rewrite a mainframe application from extracted business rules into a Spring domain and prove behaviour parity against the legacy running beside it — the honest version of what "reimagine" programmes promise — with every difference by design, owned and evidenced.

The environment

Your seat is a private, full z/OS-compatible environment with the AWS CardDemo estate (COBOL, JCL, CICS/BMS, VSAM, DB2) and the SteelFrame oracle tools (run_capture, export_state, cics_run_script), beside your own Java 21 + Maven + PostgreSQL toolchain; Spring Boot 3, Flyway, ArchUnit, the course contract grader in the browser — nothing to install, snapshot and reset per exercise. By the end of the course the lab harness will have verified: eight checkpoints — every observable behaviour of COTRN02C listed, 25 posting rules registered with run examples, forty contract scenarios captured, a domain model with invariants and ArchUnit rules, account and card services passing the scenario suite, posting and interest matching the COBOL cycle’s totals, card list strangled with rollback, a rule set extracted with an assistant and verified — and the capstone on a hidden CardDemo variant whose three seeded behaviour changes your contract suite must find.