Source-derived document; review findings and open questions with the application owner.
Current-State Design
In this document
Scope and confidence
The supplied evidence describes a partially reconstructed CardDemo mainframe system using COBOL, CICS, BMS, VSAM, DB2, IMS, MQ, JCL, REXX, and utilities. It establishes artifacts and intended behavior, but not successful execution, complete topology, compiler semantics, sequencing, or production behavior. Inference: the strongest current-state description is a configured architecture expressing system intent rather than a semantically complete behavioral model. E0001 E0010 E0017 E0020 E0021 E0023 E0037 E0045
Architectural shape
CARDDEMO is described as deployed within a CICS region, although deployment is unverified. Its online surface includes CICS transactions, BMS maps, commareas, `XCTL` routing, and account, customer, card, payment, security, authorization, fraud, reporting, statement, interest, fee, and rejection functions. Batch and utility processing includes JCL, VSAM operations, DB2 and IMS processing, MQ flows, reporting, migration, compilation, backups, indexing, date conversion, and file transfer. E0002 E0003 E0005 E0006 E0018 E0022 E0024 E0027 E0035 E0039 E0040 E0041 E0042 E0043
The Transaction Type Management module is an optional CardDemo extension and is described as maintaining data in both DB2 and VSAM. Its identified relationships include category data referencing transaction-type data with `ON DELETE RESTRICT`. CICS account components include account update and account view transactions; security management centers on `USRSEC`, with separate add, update, and delete flows. E0010 E0011 E0001 E0002 E0016 E0017
Actors and access
Regular users, administrators, operators, and a Control-M scheduler environment on UNIX at `MY-HOST` are identified. Login transaction `CC00` invokes `COSGN00C`; validated `ADMIN` credentials route to `COADM01C`, while validated non-`ADMIN` credentials route to `COMEN01C` through `XCTL`. Ownership, role definitions, permissions, and enforcement are not established. E0026 E0028 E0034 E0035 E0036 E0038 E0044 E0047
Authentication and security-related artifacts include `USRSEC`, RACF, and `DUSRSECJ`. Literal or example credentials and sensitive-looking fields occur in the evidence, but encryption, masking, authorization enforcement, auditing, queue permissions, and network boundaries are unknown. E0001 E0009 E0016 E0032 E0033 E0036 E0040
Information and persistence
Observed information includes accounts, customers, cards, users, transactions, authorization and fraud records, classifications, cross-references, reports, statements, and import or export data. Named persistence includes VSAM KSDSs and indexes, DB2, IMS segments, sequential files, and GDGs. `CBCUS01C` reads the customer VSAM KSDS, `CBACT03C` reads the card cross-reference KSDS, and `COACCT01` extracts from `ACCTDAT`. E0004 E0009 E0020 E0021 E0022 E0043 E0045
The payment program uses `ACCTDAT` for lookup and balance validation. `COTRN02C.cbl` writes validated transactions to the `TRANSACT` file, while failed validations are written to `DALYREJS`. `CBSTM03B.CBL` performs open, read, and close operations on `TRNXFILE`. Layouts, encoding, timestamps, index offsets, naming conventions, and a six-byte unload discrepancy remain unresolved. E0029 E0007 E0008 E0024 E0037 E0043
Current processing journeys
Online journeys include sign-on and routing, account inquiry, account maintenance, payment with confirmation, administrative dispatch, paging, acceptance, rejection, approval, decline, and fraud insert or duplicate-key update decisions. Batch journeys include posting, reporting, VSAM loading and indexing, compilation, backup, unload, and `REPRO` from `FILEIN` to `FILEOUT`. `CORPT00C` submits batch jobs through an extra-partition TDQ; `WAITSTEP` triggers `OPENFIL`; and `TRANREPT.prc` invokes `REPROC.prc`. E0015 E0018 E0025 E0029 E0030 E0031 E0034 E0042 E0046
Compilation paths are represented by JCL invoking `BUILDBAT`, `BUILDONL`, `BLDCIDB2`, and `BUILDBMS`; `NEWCOPY` is stated for BMS processing but disputed for online compilation. `CBPAUP0J` executes `CBPAUP0C`, and `UNLDPADB.JCL` invokes `PAUDBUNL`. Date conversion calls the CEEDAYS API, while `MVSWAIT` executes `ASMWAIT` with `BINLBL` as a control block. E0026 E0027 E0035 E0041 E0005 E0006
Rules and states
Evidence describes credential, input, date, balance, expiry, limit, duplicate, referential-integrity, paging, retention, return-code, interest, fee, and deletion rules. Validation appears intended to separate normal processing from rejection, but fraud criteria, rates, checksums, filtering, and complete return-code semantics are unknown. The meaning of `COND=(4,LT)` is disputed under ordinary JCL interpretation. E0011 E0013 E0017 E0026 E0027 E0041 E0042
Observed lifecycle states include validation, confirmation, routing, acceptance, rejection, approval, decline, end-of-file, concurrent update, backup, error, abend, deployment, and generation increment. Inference: these states suggest separate online decision points and batch or operational outcomes, but the complete lifecycle, transaction boundaries, restart behavior, and recovery transitions are not established. E0015 E0017 E0018 E0045
Interfaces and operations
Interfaces include CICS, BMS, `XCTL`, commareas, VSAM, MQ, IMS, DB2, JCL, TDQs, REXX, FTP, sorting, and reporting tools. External dependencies include RACF, JES/TSO, SDSF, IDCAMS, UNIX, Control-M, CEEDAYS, and an Ensono-hosted mainframe. Contracts, keys, transformations, queue behavior, compatibility, topology, ownership, availability, and the distinction between z/OS and AWS interpretations remain unresolved. E0001 E0003 E0035 E0038 E0039 E0042 E0046
Operations include scheduling, waits, reruns, backups, GDGs, indexing, logging, rollback, abends, SQL handling, and internal-reader submission. Monitoring, alerting, restart, disaster recovery, ownership, atomicity, completion guarantees, and the disputed two-phase-commit behavior are unknown. Potential hazards include destructive replacement or recreation, partial updates, malformed input, unstable paging, duplicate IDs, inconsistent indexes, exposed credentials, FTP failure, critical VSAM errors, and abends; no incident is established. E0014 E0015 E0028 E0031 E0039 E0044 E0045 E0018 E0026 E0037 E0040 E0042
Design limitations
Evidence conflicts over whether all artifacts execute together, and duplicate, malformed, stale, contradictory, or incomplete artifacts are identified as risks rather than confirmed defects. The data-model file contains pages named `ER Diagram` and `IMS`, but its visuals were not parsed and their meaning is unknown. Complete schemas, mappings, sequencing, deployment, configuration, version alignment, production suitability, retention, external contracts, and recovery design are not established. E0002 E0003 E0006 E0019 E0047 E0009 E0011 E0014 E0020 E0021 E0025 E0036 E0039
Harten analysis of AWS Samples CardDemo, a public demonstration application. The retained source content matches AWS revision 59cc6c2fd7ebd7ef7925cad552a01a4b8b6e4d5e. The documents describe source analysis and a proposed modernisation plan, not an implemented migration. No AWS endorsement is implied.
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Apache 2.0 source licence · Amazon notice. Read the case study and source measurement.