The CICS Bank Sample Application (CBSA) is an application which simulates the operation of a bank, from the point of view of the Bank Teller. CBSA has multiple uses here are a few examples:
- CBSA can be used as a teaching/learning aid, as all source code is provided. It demonstrates how various technologies can be integrated together; CICS, COBOL, BMS, Db2, SQL, Java, Liberty, Spring Boot etc.
- CBSA provides an example of a traditionally written CICS application that has been extended over time, and is structured in a way that is recognisable to most CICS TS customers - so it can be used a conversation piece for discussions around the application development lifecycle.
- CBSA can be used straight out of the box for testing purposes. For example: the testing of CICS interactions, or for testing verification/validation/interaction of IBM and vendor tool offerings.
- CBSA can be used as the building block for application modernisation conversations.
There are multiple different interfaces exploiting a range of different underlying technologies.
The first interface is the base COBOL (BMS) interface:
The second interface is the Carbon React UI interface:
The third interface is the Customer Services interface:
The fourth interface is the Payment interface:
There is also a RESTful API please refer to the CBSA RESTful API Guide for more detailed information.
The interfaces are designed to exploit the underlying banking functionality, which includes functions to:
- Pay money in
- Take money out
- Transfer funds
- Open new accounts etc. etc.
Please refer to the Architecture documentation for more detailed information.
- An existing CICS TS region running at V6.1 with APAR PH60795 applied, or later
- A Db2 subsystem (V12 or later)
- A Liberty JVM server in CICS (set up and configured during the installation process) for the Carbon React UI and Spring Boot interfaces
- Java 17
- Yarn to build the web front-end
- Various VSAM files (set up and configured during the installation process)
- A z/OS Connect server (if the RESTful API or the Customer Services or Payment interfaces are required)
- A Maven wrapper is used to build the Java components. This is included for your convenience.
- Clone the repository using your IDEs support, such as the Eclipse Git plugin
- or, download the sample as a [ZIP] from the release page and then follow the installation instructions (see Installing).
Tip: Eclipse Git provides an 'Import existing Projects' check-box when cloning a repository.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Installation instructions:
Installation of CBSA is split into 3 parts :
- The base COBOL(BMS) installation, this is mandatory and should be installed first. See the base COBOL installation documentation.
- The Carbon React UI installation, this is optional, requires a JVM server to be running in the CICS region (this gets set up as part of installation process). See the Carbon React UI installation documentation.
- The Customer Service and Payment interface installation (also optional). See deploying the Payment and Customer Services documentation.
Various user guides are provided:
- For the base/COBOL(BMS) interface please refer to the CBSA BMS User Guide.
- For the Carbon React UI please refer to the CBSA Carbon React UI User Guide.
- For the Customer Services interface please refer to the CBSA Customer Service User Interface User Guide.
- For the Payment interface please refer to the CBSA Payment Interface User Guide.
- For the RESTful API guide please refer to the CBSA RESTful Api Guide.
Jon Collett - JonCollettIBM
James O'Grady - JAMOGRAD
Tom Slattery - Tom-Slattery
Christopher Clash - ChristopherClash
This project is licensed under Eclipse Public License - v 2.0.