Source-derived document; review findings and open questions with the application owner.
System Context and Components
In this document
Scope and system context
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 evidence most strongly indicates a configured or reconstructed IBM mainframe architecture rather than a complete behavioral model. E0001 E0010 E0017 E0020 E0021 E0023 E0037 E0038 E0045 E0046
Observed business areas include accounts, customers, cards, transactions, security, authorization, fraud, reporting, migration, statements, interest, fees, and rejection handling. The artifacts do not establish that all of these functions execute together; the complete lifecycle, recovery model, and production suitability remain unknown. E0002 E0003 E0005 E0006 E0018 E0017 E0039
Identified actors and operating contexts include regular users, administrators, operators, and a Control-M scheduler environment on UNIX at `MY-HOST`. Ownership, role definitions, permissions, authorization enforcement, and the relationship between these environments are not established. E0026 E0028 E0035 E0036 E0044 E0047
Application and transaction components
The online application includes CICS programs and BMS maps for login, account inquiry, account maintenance, payment, administration, reporting, and related processing. `CC00` invokes `COSGN00C`; validated `ADMIN` credentials are routed by `XCTL` to `COADM01C`, while other validated credentials are routed to `COMEN01C`. `COACTUPC` handles account update, and `COACTVWC` retrieves and displays account and customer details for account view. E0001 E0002 E0034 E0038
Security-related components include the `USRSEC` store and user-maintenance programs. The add flow writes a record, the update flow reads and rewrites one, and the delete flow reads and deletes one. A CardDemo relationship to `USRSEC` is identified, but encryption, masking, audit, network boundaries, queue permissions, and effective authorization controls are unknown. E0016 E0017 E0032 E0033 E0036 E0040
Transaction processing includes `COTRN02C`, which writes validated input to the `TRANSACT` file, and `CBTRN02C`, which writes failed validations to `DALYREJS`. `COPAUS1C.cbl` links to `COPAUS2C.cbl`, and IMS evidence identifies `PAUTSUM0` with child segment `PAUTDTL1`. The evidence does not establish complete copybook, commarea, map, or IMS-to-application mappings. E0004 E0007 E0008 E0011
Transaction Type Management is explicitly described as an optional CardDemo extension maintaining data in both DB2 and VSAM. `CTTU` maps to `COTRTUPC`, `CTLI` maps to `COTRTLIC`, and `TRANSACTION_TYPE_CATEGORY` references `TRANSACTION_TYPE` with `ON DELETE RESTRICT`. Whether this extension is deployed and how its stores are synchronized are unknown. E0010 E0011
Data and batch components
VSAM components include customer and card-cross-reference KSDSs. `CBCUS01C` reads the customer KSDS, `CBACT03C` reads the card-cross-reference KSDS, and `COACCT01` extracts records from `ACCTDAT`. `CBSTM03B.CBL` opens, reads, and closes `TRNXFILE`. Layouts, encodings, keys, index offsets, naming conventions, and the reported six-byte unload discrepancy remain unresolved. E0020 E0021 E0022 E0024 E0037 E0043 E0045
Batch components include posting, deletion, reporting, loading, indexing, migration, backup, date conversion, and compilation utilities. `CBPAUP0J` executes `CBPAUP0C`; `UNLDPADB.JCL` invokes `PAUDBUNL`; and `CORPT00C` submits batch jobs by writing JCL records to an extra-partition TDQ. `WAITSTEP` triggers `OPENFIL` in a monthly flow, while `CSUTLDTC.cbl` calls the `CEEDAYS` API. E0005 E0006 E0025 E0031 E0035
Build and deployment artifacts include JCL that invokes `BUILDBAT`, `BUILDONL`, `BLDCIDB2`, and `BUILDBMS`. BMS processing and `NEWCOPY` are stated for the BMS job, while `NEWCOPY` is disputed for the online compilation job. Deployment within a CICS region is stated for CARDDEMO but remains unverified. E0018 E0026 E0027
Reporting and file-transfer components include `TRANREPT.prc`, which invokes `REPROC.prc`, and a `REPRO` command reading from `FILEIN` and writing to `FILEOUT`. REXX, FTP, sorting, reporting tools, GDGs, internal-reader submission, and backup processes are identified, but their contracts, return-code semantics, restart behavior, and completion guarantees are not established. E0042 E0046 E0039 E0044 E0045
Interfaces and external context
Interfaces include CICS, BMS, `XCTL`, commareas, VSAM, DB2, IMS, MQ, 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. Keys, transformations, queue contracts, topology, ownership, availability, and runtime compatibility are unknown; z/OS and AWS interpretations are inferences rather than established facts. E0001 E0003 E0026 E0035 E0038 E0039 E0042 E0046
The data model includes accounts, customers, cards, users, transactions, authorization and fraud records, classifications, cross-references, reports, statements, and import or export data. `CARDDEMO-DataModel.drawio` contains pages named `ER Diagram` and `IMS`, but the visuals were not parsed, so their meaning and completeness are unknown. E0004 E0009 E0047
Operational and security boundaries
Observed operational states include validation, confirmation, routing, acceptance, rejection, approval, decline, end-of-file, concurrent update, backup, error, abend, deployment, and generation increments. Potential hazards include destructive replacement or recreation, partial updates, ineffective conditions, malformed input, unstable paging, duplicate IDs, inconsistent indexes, exposed credentials, FTP failure, critical VSAM errors, and uncertain atomicity. No incident is established. E0014 E0015 E0018 E0019 E0026 E0037 E0040 E0042 E0045
Authentication and security artifacts include `USRSEC`, RACF, and `DUSRSECJ`, and the evidence contains literal or example credentials and sensitive-looking fields. Encryption, masking, audit, retention, monitoring, alerting, restart, disaster recovery, ownership, and enforcement boundaries are unknown. E0001 E0009 E0016 E0032 E0033 E0036 E0040 E0044
Inference: validation appears intended to separate accepted processing from rejection, while observed decisions include add, update, delete, view, list, cancel, page, submit, approve, decline, accept, reject, and fraud insertion versus duplicate-key update. Decision ownership, rationale, rate calculations, fraud criteria, checksums, filtering, and complete return-code semantics are unknown. E0003 E0010 E0011 E0013 E0017 E0022 E0025 E0027 E0028 E0038 E0041 E0042
Completeness boundary
Unknown: Complete schemas, mappings, sequencing, actor permissions, deployment topology, configuration, version alignment, external contracts, balance and interest calculations, retention, restart and recovery, rollback, and production behavior are not established by the supplied evidence. Conflicts concerning PF7, maps, copybooks, deployed artifacts, source coverage, diagram meaning, and `COND=(4,LT)` under ordinary JCL interpretation remain unresolved. E0009 E0011 E0014 E0017 E0020 E0021 E0025 E0036 E0039 E0041 E0047
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.