How ibm/bank-of-z works
Bank of Z is a hybrid banking application: users work in a browser UI, which calls the API gateway; requests are routed to CICS or IMS according to customer ID. The application also supports account and customer operations, transaction history, and money transfers through IBM MQ. The graph preserves these product branches and the sampled IMS history-storage layer. Backend routing is documented in the README; unsampled implementation details are represented only at existing source-directory paths, and no unverified internal calls are asserted.
Main entry points: api.js API client · openapi.yaml z/OS Connect API · TransactionService.java History service · lookup.js Customer lookup
Components 18
Browser experience
- Page shell
src/frontend/js/components/layout.js - Navigation
src/frontend/js/components/headers.js - Customer lookup
src/frontend/js/components/lookup.js - UI utilities
src/frontend/js/utils.js - API client
src/frontend/js/api.js - API configuration
src/frontend/config.js
API gateway
- z/OS Connect API
src/api/src/main/api/openapi.yaml
z/OS banking
- CICS banking
src/base/cics - IMS banking
src/base/ims - IMS history query
src/base/ims/java/src/main/java/nazare/jmp/controller/QueryTransaction.java - History service
src/base/ims/java/src/main/java/nazare/jmp/history/TransactionService.java - History record
src/base/ims/java/src/main/java/nazare/jmp/history/TransactionDetail.java
Messaging and storage
- Transfer dispatcher
src/base/mq/java/src/main/java/com/ibm/boq/TransferMoneyToBOZ.java - CICS transfer
src/base/mq/java/src/main/java/com/ibm/boq/TransferMoneyToBOZViaCICS.java - IMS transfer
src/base/mq/java/src/main/java/com/ibm/boq/TransferMoneyToBOZViaIMS.java - IBM MQ
- DB2 history
Other components
- Banking user
Connections 15
- Banking user → Page shell: uses
- Page shell → Navigation: renders
src/frontend/js/components/layout.js - Customer lookup → UI utilities: uses
src/frontend/js/components/lookup.js - Customer lookup → API client: requests
src/frontend/js/components/lookup.js - API client → API configuration: reads
src/frontend/js/api.js - API client → z/OS Connect API: calls
README.md - z/OS Connect API → CICS banking: routes
README.md - z/OS Connect API → IMS banking: routes
README.md - IMS history query → History service: queries
src/base/ims/java/src/main/java/nazare/jmp/controller/QueryTransaction.java - History service → History record: creates
src/base/ims/java/src/main/java/nazare/jmp/history/TransactionService.java - History service → DB2 history: reads and writes
src/base/ims/java/src/main/java/nazare/jmp/history/TransactionService.java - Transfer dispatcher → CICS transfer: dispatches
src/base/mq/java/src/main/java/com/ibm/boq/TransferMoneyToBOZ.java - Transfer dispatcher → IMS transfer: dispatches
src/base/mq/java/src/main/java/com/ibm/boq/TransferMoneyToBOZ.java - CICS transfer → IBM MQ: sends requests
src/base/mq/java/src/main/java/com/ibm/boq/TransferMoneyToBOZViaCICS.java - IMS transfer → IBM MQ: sends requests
src/base/mq/java/src/main/java/com/ibm/boq/TransferMoneyToBOZViaIMS.java