Chapter 13 Exercises
Section 13.1 — CICS as a Platform
Exercise 1: Transaction Manager vs. Application Server
Explain in your own words the distinction between a transaction manager and an application server. Then list three specific consequences of this distinction for how you design a multi-region CICS topology. Reference the ATM transfer scenario from section 13.1 in your answer.
Exercise 2: Evolution Pressures
The chapter identifies three pressures that drove CICS from single-region to multi-region architectures: storage constraint, failure isolation, and scalability. For each pressure, describe a specific production scenario at a financial institution that would trigger it. Your scenarios should be concrete (include approximate numbers for transaction volumes, user counts, or storage sizes).
Exercise 3: Single Region Risk Assessment
You inherit a CICS environment at a mid-size insurance company that runs everything in a single region: 300 3270 terminals, 45 application programs, 60 VSAM files, and 1,200 transactions per second at peak. Write a risk assessment memo (one page) identifying the top three risks of this configuration and the business impact of each.
Section 13.2 — Region Topology
Exercise 4: TOR/AOR/FOR Role Identification
For each of the following CICS operations, identify which region type (TOR, AOR, or FOR) is responsible for performing it:
a) Receiving a TCP/IP connection from a mobile banking app b) Executing a COBOL program that validates an account number c) Processing a VSAM READ request shipped from another region d) Sending a BMS map to a 3270 terminal e) Routing a transaction to a workload-managed AOR group f) Coordinating a two-phase commit across DB2 and a VSAM file g) Hosting a Liberty JVM server for REST API endpoints
Exercise 5: Naming Convention Design
Design a CICS region naming convention for Pinnacle Health Insurance, which has: - 2 LPARs (PROD1, PROD2) - Channels: 3270 claims processing, web portal, HL7 partner interface - 3 AOR groups: claims processing, member services, provider services
Your convention must encode: enterprise prefix, region type, LPAR, channel or workload group, and instance number — all within CICS's 8-character region name limit.
Exercise 6: CNB Topology Analysis
Examine CNB's 16-region topology diagram from section 13.2. Answer the following:
a) If LPAR SYSA suffers a hardware failure, which channels are affected and which survive? b) Why does CNB place CICSPlex SM on SYSC rather than SYSA? c) If mobile API traffic triples, which regions need to change and which are unaffected? d) What is the maximum number of AOR failures the core banking channel can sustain while remaining operational?
Exercise 7: Hybrid Region Trade-offs
The chapter mentions that production environments often include hybrid AOR/FOR regions as a pragmatic compromise. Describe two specific scenarios where combining AOR and FOR roles in a single region is justified, and two scenarios where it is not. For each, explain your reasoning in terms of performance, failure isolation, and operational complexity.
Section 13.3 — Transaction Routing
Exercise 8: Static vs. Dynamic Routing
You manage a CICS topology with 2 TORs and 4 AORs. Currently, static routing maps transactions to specific AORs: - TOR1 → AOR1 (transactions A–M) and AOR2 (transactions N–Z) - TOR2 → AOR3 (transactions A–M) and AOR4 (transactions N–Z)
Explain three specific failure scenarios that this static routing cannot handle, and describe how CICSPlex SM workload management would handle each.
Exercise 9: Routing Program Performance
A dynamic routing program performs a DB2 query to look up the target AOR based on the customer's account type. The query takes 2ms. The TOR processes 3,000 transactions per second.
a) Calculate the total CPU time consumed by the routing program per second. b) Explain why this is problematic. c) Propose an alternative that achieves the same routing logic without DB2 access in the routing program.
Exercise 10: Affinity Analysis
Review the following pseudo-conversational transaction flow:
Transaction MENU → displays main menu, stores user preferences in TS queue "USRxxxxx"
Transaction INQY → reads TS queue "USRxxxxx", displays account inquiry
Transaction XFER → reads TS queue "USRxxxxx", processes funds transfer
Transaction CONF → reads TS queue "USRxxxxx", displays confirmation, deletes TS queue
a) What type of affinity does this flow create? b) What is the affinity lifetime? c) Propose a redesign that eliminates the affinity while preserving the functionality. d) What is the performance trade-off of your redesign?
Exercise 11: Workload Definition
Write CICSPlex SM workload definitions (in pseudo-configuration format) for CNB's three workload groups:
- Core banking (XFER, INQY, DPST, WDRL, STMT, PMNT) — goal: 95% under 200ms
- Web portal (WEBM, WEBI, WEBX, WEBS) — goal: 95% under 500ms
- Mobile API (APIM, APII, APIX, APIS) — goal: 95% under 300ms
For each, specify the target AOR scope, routing algorithm, and affinity rules.
Section 13.4 — MRO and ISC
Exercise 12: MRO Connection Configuration
Write the CEDA DEFINE commands (CONNECTION and SESSIONS) to establish MRO communication between CNBTORA1 (TOR on SYSA) and CNBAORA2 (AOR on SYSA). The connection should support up to 100 concurrent sessions, split evenly between send and receive. Enable automatic connection at CICS startup.
Exercise 13: IPIC Configuration
Write the CEDA DEFINE commands (TCPIPSERVICE and IPCONN) to establish IPIC communication between CNBAORA1 (SYSA, IP 10.1.1.100) and CNBAORB1 (SYSB, IP 10.1.2.100). Use port 1435. Enable SSL/TLS. Support 50 concurrent sessions.
Exercise 14: Function Shipping Cost Analysis
An AOR program processes a customer inquiry by reading 5 different VSAM files, each owned by a remote FOR. Each MRO round-trip takes 0.08ms. The local processing between file reads takes 0.5ms total.
a) Calculate the total elapsed time attributable to function shipping. b) If this transaction is invoked 2,000 times per second, calculate the total MRO overhead per second. c) Propose two architectural alternatives that would reduce this overhead, and estimate the improvement for each.
Exercise 15: MRO vs. ISC Decision Matrix
For each of the following scenarios, state whether you would use MRO, ISC (IPIC), or both, and explain why:
a) TOR and AOR on the same LPAR b) AOR on LPAR1 needs to invoke a program on an AOR on LPAR2 c) CICS region needs to communicate with a CICS region on a different physical machine in a DR site d) FOR on LPAR1 needs to be accessible from AORs on both LPAR1 and LPAR2 e) A partner organization's CICS system needs to invoke transactions in your CICSplex
Section 13.5 — CICSPlex SM
Exercise 16: CMAS High Availability
CNB runs two CMASs. Describe in detail what happens during the following scenario:
- CNBSMGR (primary CMAS on SYSC) fails
- A new application deployment is requested 5 minutes later
- CNBSMG2 (secondary CMAS on SYSD) takes over
Specifically address: What happens to transaction routing during step 1? Can the deployment in step 2 proceed? What data does CNBSMG2 need to function, and where does it come from?
Exercise 17: BAS Deployment Design
Design a BAS deployment plan for updating the CNBXFER0 program (funds transfer) across CNB's 4 core banking AORs (CNBAORA1, CNBAORA2, CNBAORB1, CNBAORB2). The update must achieve zero downtime. Describe:
a) The sequence of steps b) How you handle in-flight transactions using the old version c) How you verify the new version is working correctly before completing the rollout d) How you roll back if the new version has a defect
Exercise 18: System Group Design
Design the CICSPlex SM system group hierarchy for Pinnacle Health Insurance with the following regions:
- 2 TORs (claims entry, provider portal)
- 6 AORs (2 claims processing, 2 member services, 2 provider services)
- 2 FORs (claims files, member files)
- 2 CMASs (HA pair)
Define system groups that support: workload-specific routing, monitoring by function, and administrative grouping for deployment.
Section 13.6 — Sysplex-Aware CICS
Exercise 19: Shared TS Migration
You have 25 pseudo-conversational transactions that store inter-transaction state in region-local TS queues. 15 of these create transaction affinities that prevent effective workload balancing. Design a migration plan to move these to shared temporary storage. Address:
a) Which TS queues should move to shared (and which should stay local)? b) The TSMODEL definitions needed c) Testing strategy to verify correct behavior after migration d) Performance impact assessment (what metrics to measure before and after)
Exercise 20: Coupling Facility Sizing
CNB uses coupling facility data tables for exchange rate data (5,000 records, 200 bytes each, updated once per day, read 50,000 times per second across all AORs). Calculate:
a) The minimum CF cache structure size needed b) The expected CF access rate per second c) Whether the CF link speed (12 GB/s InfiniBand) is a bottleneck d) What happens if the CF structure fails — how does the CFDT behave?
Exercise 21: HA Pattern Selection
For each of the following availability requirements, select the appropriate HA pattern from section 13.6 and explain your choice:
a) 99.9% availability (8.7 hours downtime per year) b) 99.99% availability (52 minutes downtime per year) c) 99.999% availability (5 minutes downtime per year) d) Zero data loss during any single component failure
Section 13.7 — Topology Design
Exercise 22: Topology Design — Federal Benefits Administration
Design a CICS topology for Federal Benefits Administration (Sandra Chen's organization), which has:
- 1,000 3270 terminals across 200 federal offices
- A web portal for citizen self-service (growing 25% per year)
- A batch interface for nightly processing from state systems
- A 40-year-old COBOL codebase with significant VSAM dependencies
- 2 LPARs in the primary data center, 1 LPAR in a DR site
- Requirement: FISMA High compliance
Use the five-question decision framework from section 13.7. Produce a topology diagram, AOR sizing rationale, and security architecture summary.
Exercise 23: MAXTASK Sizing
Calculate the MAXTASK setting for an AOR with the following characteristics:
- Peak transaction rate: 1,200 TPS (allocated to this AOR after routing)
- Average response time: 0.12 seconds
- Maximum acceptable response time degradation: 20%
- Safety factor: 2.0
Then explain what happens if you set MAXTASK too low (50% of calculated value) and too high (300% of calculated value).
Exercise 24: Growth Planning
SecureFirst's mobile API is growing at 40% per year. Current mobile volume is 500 TPS. The API AOR group (2 AORs) is sized for 1,500 TPS total.
a) In how many months will the current topology be insufficient? b) Design a three-horizon growth plan (0–12 months, 1–3 years, 3–5 years) c) At what point should SecureFirst consider adding a second LPAR, and why?
Exercise 25: Topology Anti-Pattern Remediation
You are called in to assess a CICS topology with the following problems:
- One AOR runs all 200 transactions (mega-AOR)
- Static routing from both TORs to this single AOR
- No CICSPlex SM
- All VSAM files are local to the AOR (no FOR separation)
- No monitoring beyond CICS shutdown alerts
The system processes 800 TPS at peak. Design a remediation plan that: 1. Can be implemented in phases (no big-bang migration) 2. Achieves channel isolation, failure isolation, and workload balancing 3. Introduces CICSPlex SM for management 4. Minimizes application code changes
For each phase, describe what changes, what risk is mitigated, and what testing is required.
Synthesis Exercises
Exercise 26: Architecture Review Board Presentation
Prepare a 10-slide outline for presenting a CICS topology redesign to an Architecture Review Board. The audience includes: the CIO (non-technical), the CISO (security-focused), the VP of Operations (availability-focused), and the development director (change-management-focused). For each slide, list the key point and which audience member it primarily addresses.
Exercise 27: Cross-Chapter Integration
Explain how the following components from earlier chapters integrate with CICS multi-region topology:
a) z/OS Parallel Sysplex (Chapter 1) — How does Sysplex enable cross-LPAR CICS HA? b) WLM service classes (Chapter 5) — How do WLM definitions feed CPSM routing decisions? c) DB2 data sharing (Chapter 1) — How does data sharing change whether you need FORs?
For each, provide a specific example from CNB's environment.