Repository Structure

The Bank of Z repository contains the application source, setup automation, build and deployment assets, configuration files, and supporting documentation required to develop, build, and deploy the application.

Top-level structure

Directory / File Description
src/ Application source code — COBOL, BMS, IMS, z/OS Connect APIs, and the web frontend
.setup/ All scripts and assets for provisioning, building, and deploying Bank of Z
.vscode/ Workspace task definitions for running setup and pipeline scripts
scripts/ Utility scripts for downloading and installing IDE extensions
docs/ Bank of Z documentation
zcodescan/ ZCodeScan configuration for static analysis
dbb-app.yaml DBB application descriptor
zapp.yaml z/OS application manifest

Application source (src/)

Directory Description
src/base/cics/ COBOL programs, BMS maps, and copybooks for the CICS transaction path
src/base/ims/ COBOL programs and copybooks for the IMS transaction path
src/base/mq/ MQ source code for Bank of Q
src/base/batch/ Batch application components
src/api/ z/OS Connect API project — Gradle-based build producing the API deployment artifact
src/frontend/ Browser-based frontend — HTML, CSS, JavaScript, and a Node.js dev server

Setup automation (.setup/)

Orchestration scripts

Script Runs on Description
setup-local.sh Local machine Creates the workspace on z/OS USS, clones the current Git branch, and invokes setup-remote.sh via Zowe CLI.
setup-remote.sh z/OS USS Chains the three setup stages in sequence. Used by both the Zowe CLI and GRUB workflows.
setup-common.sh z/OS USS Implements the three setup stages: validate-prereqs, environment, and install-bank-of-z.
pipeline-local.sh Local machine Uploads the required pipeline assets and invokes pipeline-remote.sh by using Zowe CLI. Used by the Zowe CLI workflow for incremental builds.
pipeline-remote.sh z/OS USS Runs the DBB build and Wazi Deploy on USS. Used by both workflows for incremental builds.

Configuration and assets

Directory Description
.setup/config/ config.yaml — environment configuration for all setup scripts
.setup/build/ DBB build configuration: datasets.yaml, dbb-build.yaml, language scripts, and zosattributes
.setup/deploy/ Wazi Deploy configuration and deployment method definitions
.setup/jcl/ JCL assets including Db2-grant.jcl
.setup/zconfig/ zconfig definitions for provisioning CICS, IMS and MQ
.setup/tasks/ Individual task scripts for DBB build, Wazi Deploy, and ZCodeScan
.setup/setup/ Individual setup stage scripts (Db2, CICS, IMS, MQ, z/OS Connect, frontend)
.setup/lib/ Shared shell library functions used by the orchestration scripts

IDE Extension scripts (scripts/)

Script Description
download-vsix.js Downloads the required IDE extension VSIX packages
install-bobide-vsix.js Installs downloaded VSIX packages into IBM Bob Premium Package for Z
install-vscode-vsix.js Installs downloaded VSIX packages into VS Code

See scripts/README.md for usage instructions.


Documentation (docs/)

Documentation is maintained alongside the application source. See the Architecture section for information about the Bank of Z solution design, and Installation and Setup for deployment instructions.