Chapter 20 Further Reading: Event-Driven Architecture with COBOL
IBM Official Documentation
IBM MQ: Publish/Subscribe Messaging
URL: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=messaging-publishsubscribe The definitive reference for MQ pub/sub on z/OS. Covers topic objects, subscriptions, topic trees, wildcard rules, and administrative vs. programmatic subscriptions. Section on "Planning for publish/subscribe" is essential for architects designing topic hierarchies.
IBM MQ: Triggering — Starting Programs Automatically
URL: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=triggering Comprehensive coverage of trigger types, process definitions, trigger messages, and trigger monitors. The z/OS-specific section covers CKTI configuration, initiation queue setup, and triggered batch programs. The troubleshooting section is invaluable when triggers stop firing.
CICS Event Processing Guide
IBM Documentation ID: SC34-7726 The complete reference for CICS EP: event bindings, capture specifications, EP adapters, deployment through bundles, and operational management. Chapter 3 (Defining event bindings) and Chapter 5 (EP adapters) are directly relevant to Section 20.3. The examples use Java, but the concepts and configuration apply identically to COBOL programs.
CICS TS for z/OS: Event Processing
URL: https://www.ibm.com/docs/en/cics-ts/5.6?topic=processing-event The CICS TS 5.6 documentation for EP. Covers the latest capture points, adapter types, and bundle deployment procedures. Includes a useful decision matrix for choosing between EP adapters (MQ, HTTP, TS Queue, custom).
Books
"Enterprise Integration Patterns" by Gregor Hohpe and Bobby Woolf
Publisher: Addison-Wesley, 2003 ISBN: 978-0321200686 The canonical reference for messaging patterns. Chapter 6 (Message Construction), Chapter 10 (Messaging Endpoints — including Event-Driven Consumer and Competing Consumers), and Chapter 11 (System Management — including Dead Letter Channel) map directly to this chapter's content. The patterns are technology-agnostic but everything applies to MQ on z/OS.
"Designing Data-Intensive Applications" by Martin Kleppmann
Publisher: O'Reilly Media, 2017 ISBN: 978-1449373320 Chapter 11 (Stream Processing) covers event sourcing, CQRS, and event-driven architectures from a distributed systems perspective. Chapter 9 (Consistency and Consensus) addresses the distributed transaction problems that sagas solve. Essential background for understanding how mainframe event patterns relate to modern distributed system patterns.
"Building Event-Driven Microservices" by Adam Bellemare
Publisher: O'Reilly Media, 2020 ISBN: 978-1492057895 Covers event-driven architecture patterns in depth: event sourcing, CQRS, event schema evolution, and event-driven microservice design. Written from a Kafka/cloud perspective, but the architectural patterns translate directly to MQ-based mainframe systems. Chapters 3 (Communication and Data Contracts) and 15 (Testing) are particularly relevant.
"Implementing Domain-Driven Design" by Vaughn Vernon
Publisher: Addison-Wesley, 2013 ISBN: 978-0321834577 Chapter 8 (Domain Events) provides the theoretical foundation for event design: what constitutes a meaningful domain event, how to name events, and how events relate to bounded contexts. Chapter 13 (Integrating Bounded Contexts) covers event-based integration between systems, which maps to the mainframe-to-mainframe integration patterns in this chapter.
IBM Redbooks and Technical Papers
"CICS Event Processing: Capturing Business Events" (SG24-7924)
An IBM Redbook dedicated to CICS EP. Covers the complete lifecycle: design, configuration, testing, deployment, and operational management. Includes worked examples with event bindings for common CICS patterns (file operations, LINK calls, transaction monitoring). The z/OS-specific content is more detailed than the standard documentation.
"IBM MQ V9.3 Features and Enhancements" (SG24-8449)
Covers MQ V9.3's pub/sub enhancements: streaming queues, improved topic performance, and enhanced subscription management. Streaming queues (new in 9.3.4) provide a Kafka-like append-only log model within MQ — relevant for event sourcing implementations.
"High Availability and Scalability with IBM MQ on z/OS" (REDP-5390)
Covers pub/sub with shared queues, topic host routing across queue managers, and Coupling Facility structures for high-availability event distribution. Directly relevant to Exercise 23's cross-LPAR event distribution design.
"Implementing an Event-Driven Architecture with CICS" — IBM DeveloperWorks
A practical guide to combining CICS EP with MQ pub/sub. Includes step-by-step configuration examples and performance benchmarks for EP overhead. Addresses the phantom event problem (Section 20.3) and provides the synchronous adapter alternative.
Conference Presentations and Technical Articles
"Event-Driven Architecture on z/OS" — IBM SHARE Conference
Presented at multiple SHARE conferences. Covers real-world implementations of MQ triggering, CICS EP, and pub/sub in banking and insurance environments. The case study examples are composites similar to this chapter's CNB and Pinnacle cases.
"Saga Pattern in COBOL: Managing Distributed Transactions" — Enterprise COBOL User Group
A practitioner presentation on implementing the saga pattern in COBOL. Covers saga state management in DB2, compensating action design, and timeout handling. Includes code examples for saga coordinators and a comparison of orchestration vs. choreography approaches.
"Event Schema Evolution in Legacy Systems" — IEEE Software
An academic paper addressing the challenge of evolving event schemas when producers and consumers are on different release cycles. Proposes a version-tolerant schema design methodology applicable to COBOL copybook-based event schemas.
Related Chapters in This Book
| Chapter | Relevance |
|---|---|
| Chapter 1: z/OS Ecosystem | MQ as a z/OS subsystem — address space model, recovery services (RRS) |
| Chapter 8: DB2 Locking | Saga state table locking, idempotency table concurrency, deadlock handling |
| Chapter 13: CICS Architecture | CICS regions, MRO, transaction management — prerequisite for understanding EP and CKTI |
| Chapter 19: IBM MQ Fundamentals | Queue managers, queues, MQI, transactional messaging — hard prerequisite for this chapter |
| Chapter 21: API-First COBOL | Exposing events through API gateways, webhooks, z/OS Connect |
| Chapter 22: Data Integration | Event-driven data feeds alongside file-based and API-based integration |
| Chapter 24: Checkpoint/Restart | Checkpoint/restart design for long-running event consumers |
| Chapter 28: Mainframe Security | RACF profiles for MQ topics and subscription queues, event encryption |
| Chapter 30: Disaster Recovery | DR implications for in-flight events, incomplete sagas, and subscription backlogs |
Standards and Specifications
CloudEvents Specification
URL: https://cloudevents.io/ An emerging standard for event metadata (type, source, subject, time, specversion). While designed for cloud-native systems, the metadata model is applicable to mainframe events. CNB's event header design (Section 20.5) follows similar principles. If your mainframe events will eventually flow to cloud consumers, aligning with CloudEvents now saves migration effort later.
AsyncAPI Specification
URL: https://www.asyncapi.com/ An OpenAPI-equivalent specification for event-driven APIs. Defines how to describe event channels, message schemas, and pub/sub patterns in a machine-readable format. Relevant for organizations that need to document their event-driven mainframe interfaces alongside their REST APIs.
ISO 20022 — Financial Messaging Standard
The standard for financial event formats. Wire transfer events, payment status events, and account balance events all have ISO 20022 message types. CNB's wire transfer events (Section 20.5) are internal representations, but when they cross organizational boundaries (to correspondent banks or the Federal Reserve), they must conform to ISO 20022 XML schemas.
Tools and Platforms
IBM MQ Explorer
The graphical administration tool for MQ. Provides visual management of queue managers, queues, topics, subscriptions, and channels. Essential for configuring pub/sub infrastructure and debugging subscription routing. Available as a standalone tool or as an Eclipse plugin.
CICS Explorer
The graphical administration tool for CICS. Includes an event binding editor for creating and deploying EP configurations. The visual editor is more practical than hand-editing XML for complex event bindings.
IBM zXplore (Free)
URL: https://www.ibm.com/it-infrastructure/z/education/zxplore IBM's free z/OS learning platform includes MQ and CICS exercises. If your shop doesn't have a development environment for experimenting with triggers and pub/sub, zXplore provides access to a real z/OS system.
Zowe CLI
URL: https://www.zowe.org/ Zowe's CLI provides scriptable access to z/OS resources, including MQ and CICS. Useful for automating subscription management and event binding deployment as part of a CI/CD pipeline (Chapter 36).
Community
IBM MQ Technical Community
URL: https://community.ibm.com/community/user/integration/communities/community-home?CommunityKey=183ec850-4947-49c8-9a2e-8e7f7fc1e9c4 The IBM community forum for MQ. Pub/sub configuration questions, trigger troubleshooting, and topic design discussions are well-represented.
CICS Development Community
URL: https://community.ibm.com/community/user/ibmz-and-linuxone/groups/community-home?CommunityKey=b0c0fa89-3c93-4e13-8354-6051cc2c609c The IBM community for CICS development. Event Processing discussions, bundle deployment questions, and EP adapter configuration topics.
SHARE Association
URL: https://www.share.org/ The user group for IBM mainframe technology. Annual conferences include sessions on event-driven architecture, MQ patterns, and CICS EP. The proceedings archive is a rich source of practitioner experience reports.