Function Shipping
Function Shipping is a CICS intercommunication facility that allows an application program in one CICS region to access resources (such as files, temporary storage queues, or transient data queues) located in a *remote* CICS region as if they were local. CICS transparently handles the communication and routing of the request to the remote system, enabling distributed access to data and services.
Key Characteristics
-
- Transparency: The application program does not need to be aware that the resource it is accessing is located on a remote CICS region; CICS manages the inter-region communication.
- Resource Scope: Primarily used for accessing remote
FILEs (VSAM, BDAM),TDQUEUEs (Transient Data Queues), andTSQUEUEs (Temporary Storage Queues). - Intercommunication Foundation: Relies on underlying CICS intercommunication mechanisms such as MRO (Multi-Region Operation) for regions on the same z/OS system, or ISC (Inter-System Communication) for regions on different z/OS systems or other platforms.
- Synchronous Operation: Typically operates synchronously, meaning the requesting transaction waits for the remote operation (e.g., file read/write) to complete before proceeding.
- Configuration-Driven: Requires specific CICS resource definitions (e.g.,
FILE,TSMODEL,TDQUEUE) to specify theREMOTESYSTEMwhere the resource resides. - Performance Impact: Involves network latency and overhead associated with inter-region communication, which can impact transaction response times if not managed effectively.
Use Cases
-
- Shared Data Access: Multiple CICS regions can access a single instance of a critical VSAM file or DB2 table (via CICS DB2 attachment) without duplicating the data, ensuring data consistency.
- Application Decoupling: Allows applications in different CICS regions to interact with specific data services or queues without requiring complex DTP (Distributed Transaction Processing) or DPL (Distributed Program Link) logic.
- Workload Distribution: Distributing access to specific resources across different CICS regions to balance transaction load or isolate specific functions.
- System Isolation: Separating data-intensive services into dedicated CICS regions for better resource management, security, or operational control.
- Data Center Consolidation: Facilitating access to resources across logically separated CICS environments within a consolidated mainframe infrastructure.
Related Concepts
Function Shipping is one of the core CICS intercommunication facilities, alongside Distributed Program Link (DPL) and Distributed Transaction Processing (DTP). While DPL allows a program in one region to call a program in another, and DTP involves complex two-way conversational communication, Function Shipping specifically focuses on transparently accessing *resources*. It relies heavily on the underlying MRO or ISC definitions to establish the communication paths between CICS regions and requires the REMOTESYSTEM attribute in resource definitions to direct requests.
- Minimize Remote Calls: Design applications to minimize the number of individual function shipping requests due to the inherent network latency and overhead. Consider batching operations where feasible.
- Optimize Network Configuration: Ensure high-speed, reliable network connections (e.g., HiperSockets for MRO, dedicated network links for ISC) between CICS regions involved in function shipping.
- Robust Error Handling: Implement comprehensive error handling in application programs to gracefully manage potential network failures, remote system outages, or resource unavailability.
- Security Implementation: Secure intercommunication links and remote resources using CICS security features (e.g.,
RACFor equivalent external security manager, CICS transaction and resource security definitions) to control access. - Performance Monitoring: Actively monitor the performance of function shipped requests using CICS monitoring tools (e.g., CICS Explorer, OMEGAMON) to identify and address bottlenecks or performance degradation.
- Careful Resource Definition: Meticulously define
REMOTESYSTEMattributes inFILE,TSMODEL, andTDQUEUEdefinitions to ensure requests are routed to the correct remote CICS regions and resources.