CICS Web Services (CWS) & Modern API Integration
Modern enterprise architectures frequently require mainframe transactional assets to participate in cloud-native and service-oriented architectures. Core COBOL business logic historically driven by 3270 terminal screens must be callable as standard web services (service provider role), while transactional programs must conversely be able to invoke external third-party HTTP endpoints (service requester role). [1]
Read the full briefing
1. Capability Overview
Modern enterprise architectures frequently require mainframe transactional assets to participate in cloud-native and service-oriented architectures. Core COBOL business logic historically driven by 3270 terminal screens must be callable as standard web services (service provider role), while transactional programs must conversely be able to invoke external third-party HTTP endpoints (service requester role).
Rocket Enterprise Server provides native CICS Web Services (CWS) within its Mainframe Subsystem Support (MSS) architecture. CWS enables CICS applications to act as both providers and requesters of JSON/REST and SOAP web services without requiring external proxy gateways, custom socket code, or modifications to core COBOL business logic (Active WebService - Rocket Software Documentation).
2. Architecture & The Four CWS Core Resources
Rocket Enterprise Server implements the mainframe-standard CWS architectural model using four interconnected resource types defined in the CICS System Definition (CSD) (CICS Resource Definitions - Rocket Software Documentation):
TCPIPSERVICE: Defines the network listener attributes (IP address, TCP port, and SSL/TLS certificates) that receive inbound HTTP/HTTPS traffic and routes requests to the enterprise server's internal HTTP dispatch engine (CICS Resource Definitions - Rocket Software Documentation).URIMAP: Parses the incoming request URL path (e.g.,/api/v1/customer/inquiry) and correlates it with a targetPIPELINEandWEBSERVICEdefinition or alias transaction ID, managing path-level routing into the region (Active WebService - Rocket Software Documentation).PIPELINE: Specifies the message handler processing chain invoked when a request arrives or a response departs (DEFINE PIPELINE - Rocket Software Documentation). It identifies:- A pipeline XML configuration file containing the sequence of message handlers (e.g., security tokens, message validation, and payload transformation).
- A dedicated "shelf" and "pickup" directory where service binding files (
.wsbindor.modsvi) and schema descriptions are staged.
WEBSERVICE: Represents the runtime deployment of a specific web service. It references the compiled Web Service Binding file (.wsbind/.modsvi) which provides bi-directional mapping between JSON/XML fields and COBOL data structures. It also records whether the target application expects data passed through a traditionalCOMMAREAor via modern CICSCHANNEL/CONTAINERmechanisms (Active WebService - Rocket Software Documentation).
3. Practical Configuration & Operational Tidbits
- Listener Conversation Types in ESCWA: When defining communications listeners for web services in ESCWA (Enterprise Server Common Web Administration), select the Web Services and J2EE conversation type. This handler supersedes the legacy SOAP/J2EE conversation type to efficiently multiplex HTTP, REST, JSON, and SOAP payloads across active Service Execution Processes (SEPs) (SOAP /J2EE (legacy) conversation type).
- Automating Deployment with Pipeline Scans: Rather than manually defining individual
WEBSERVICEresource records in ESMAC, administrators can place compiled.wsbindfiles and schemas into the pipeline pickup directory and trigger a scan using either ESCWA or the command: Enterprise Server automatically detects new bindings and dynamically installs the correspondingWEBSERVICEandURIMAPresources into the running region (DEFINE PIPELINE - Rocket Software Documentation).
EXEC CICS PERFORM PIPELINE(name) SCAN- Character Set Encoding & CCSID Mapping: External JSON requests arrive formatted in UTF-8 or ASCII, whereas legacy applications may expect EBCDIC records. Rocket documentation mandates verifying the CICS System Initialization Table (SIT) has standard conversion tables configured (such as
IBM-37,IBM-437, or002501B5) and that theMFCCSIDMAPmodule correctly translates local ASCII/EBCDIC identifiers (CCSID Conversion Tables - Rocket Software Documentation). - Handling Packed-Decimal and Binary Fields (
COMP): When application copybooks declare binary or packed numeric fields (USAGE COMPorCOMP-3), ensure the COMP processing checkbox is enabled on theWEBSERVICEresource definition (which consolidates the functionality formerly managed by theES_CWS_WSBIND_COMPenvironment variable) to ensure automatic conversion between JSON numeric literals and COBOL computational representations (Active WebService - Rocket Software Documentation).
4. Reference Citations (Rocket Enterprise Server 12.0 Manuals)
- Active WebService - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- CICS Resource Definitions - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- DEFINE PIPELINE - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- CCSID Conversion Tables - Rocket Software Documentation — Enterprise Server 12.0 for UNIX
- SOAP /J2EE (legacy) conversation type — Enterprise Server 12.0 for UNIX
- DEFINE TRANSACTION - Rocket Software Documentation — Enterprise Server 12.0 for UNIX