You might also like to refer to the CICS Transaction Server for z/OS V5.4 announcement letter (continuous delivery release) and the CICS TS for z/OS V5 Performance Report.
CICS asynchronous API
This release introduces four EXEC CICS API commands: RUN TRANSID, FETCH CHILD, FETCH ANY, and FREE CHILD. Using these commands, an application developer can run asynchronous transactions in CICS, pass and consume data, and reduce the challenges that are involved in the management and execution of programs.
The CICS asynchronous API uses a parent-child model, enabling application developers to use an asynchronous programming model that can improve the responsiveness of applications, especially those applications that make multiple calls to external services, or which spend a lot of time waiting for the responses of other transactions.
As part of the parent-child model, the asynchronous API flows the security context of the parent task to the child task, ensuring that the children of any given parent task have the correct security authorization to run. New statistics are also provided to monitor the activity of the asynchronous services domain.
IBM® z/OS Connect enables better and more manageable connectivity between mobile systems and back-end z/OS systems and applications. You can now use z/OS Connect in a CICS region. It provides a consistent interface for mobile systems using REST and JSON, shields back-end systems from having to understand those protocols and formats, and shields mobile application developers from having to understand CICS.
z/OS Connect Enterprise Edition
CICS TS 5.4 supports z/OS Connect Enterprise Edition, a separately orderable IBM product that builds on the capabilities of z/OS Connect for CICS 1.0. z/OS Connect Enterprise Edition enables API developers to construct JSON APIs from JSON services. The APIs are constructed and packaged with the Eclipse-based API Editor that is provided with z/OS Connect Enterprise Edition, then deployed to the z/OS Connect runtime. The API package includes Swagger 2.0 definitions to make it easier for developers to incorporate the APIs into their applications. Key z/OS Connect capabilities, such as authorization security checking for service invocation, creation of System Management Facility (SMF) records, and logging of RESTful service requests also apply to the APIs.
Support for Java EE 7 Full Platform
Java™ developers require access to the latest Java Standard Edition (Java SE) and Enterprise Edition (Java EE) APIs. In addition to the existing support for Java SE applications, CICS TS now supports Java applications that are written to the Java EE 7 Full Platform specification using the embedded version of WebSphere® Application Server Liberty (Liberty).
Java EE 7 provides a wealth of features that allow Java developers to quickly and easily write web applications, web service applications, enterprise applications, and Java batch applications. It also provides a number of standard connectors such as JDBC, JCA, and JMS that allow Java applications to operate with applications and data outside a Java runtime environment.
Java applications that are hosted in CICS TS are integrated with CICS tasks by default. This allows applications that are written in different programming languages to share core characteristics such as CICS security, transactionality, management, and monitoring. Using Java capabilities directly in CICS can provide a simple and powerful way to modernize CICS applications, without the requirement to unnecessarily distribute application components across multiple runtimes.
Additionally, a new standard-mode option is added to the Liberty JVM server. This mode is designed for applications that do not require tight integration with CICS by default, but benefit from the performance of Java on z/OS and proximity to data provided by IBM DB2® for z/OS and IBM MQ for z/OS.
Support for Java EE 7 Web Profile, a subset of Java EE 7 Full Platform, is also available on CICS TS 5.3 with APAR PI63877.
Support for standard-mode Liberty is also available on CICS TS 5.3 with APAR PI58375.
New web services commands
The EXEC CICS TRANSFORM command converts JSON data and a language structure. The following commands are now available:
- TRANSFORM DATATOJSON to convert application data to JSON.
- TRANSFORM JSONTODATA to convert JSON to application data.
This capability is also available on CICS TS 5.3 with APAR PI54841.
New parameters for DFHLS2WS
New optional parameters, PORT-NAME, BINDING-NAME, and SERVICE-NAME, are added to the high-level language to WSDL conversion (DFHLS2WS) procedure to prevent your program name from being shown in the port and portType name, the binding name, and the service name in the generated WSDL document.
If you specify the following optional parameters, the PGMNAME name is not included in the generated WSDL 1.1 document:
New MAPPING-OVERRIDES option for schema-to-PL/I conversion
A new MAPPING-OVERRIDES option, HYPHENS-AS-UNDERSCORES, is available in the DFHWS2LS, DFHJS2LS, and DFHSC2LS assistants. You can use this option to convert any hyphens in the schema to underscores, rather than the character X. Using this option can improve the readability of the generated PL/I language structures.
This capability is also available on CICS TS 5.3 with APAR PI57467.
New WIDE-COMP3 option for schema-to-COBOL or schema-to-PL/I conversion
A new WIDE-COMP3 option, FULL, is available in the DFHWS2LS, DFHJS2LS, and DFHSC2LS assistants. You can use this option to generate packed decimal fields that are large enough to hold all valid values. The maximum size is 31 digits.
This capability is also available on CICS TS 5.3 with APAR PI47466.
Support for mapping level 4.1 in the CICS assistants
Mapping level 4.1 is added to the web services assistants, XML assistants, and JSON assistants. This mapping level implements improved mappings for simple arrays generated bottom-up from existing copybooks. It also adds the ability for CICS to auto-detect uninitialized trailing storage in arrays, and to omit those records from the generated XML/JSON form.
This capability is also available on CICS TS 5.2 and 5.3 with APAR PI67641.
Enhancement of sockets domain (SO)
The sockets domain is enhanced to allow data that is received or sent over a TCP/IP socket to reside in any valid data location, which is normally either 31-bit (above-the-line) storage or 64-bit (above-the-bar) storage. This change relieves constraint on 31-bit storage, depending on the size of the HTTP body that is sent or received.
As a result, the following EXEC CICS WEB commands are changed:
For the WEB RECEIVE (Server) command, CICS receives the body of the server HTTP request into 64-bit storage if the HTTP request contains a Content-Length header or is sent as a chunked request. The body is copied into 31-bit storage only when CICS needs to provide a 31-bit version for the server application.
- If the body of the server HTTP request is held in a container before it is sent to the server, CICS keeps the body in, and sends it from, 64-bit storage.
- If the body of the server HTTP request is held in an application buffer and needs to be copied or converted before it is sent, CICS keeps the body in, and sends it from, 64-bit storage.
EXCI support for channels and containers
The external CICS interface (EXCI) can pass more than 32 K of data. EXCI now supports passing a CHANNEL with its set of containers, instead of passing a COMMAREA, when linking to a CICS program from a non-CICS address space.
EXCI supports issuing EXEC CICS PUT CONTAINER, GET CONTAINER, MOVE CONTAINER, DELETE CONTAINER, and DELETE CHANNEL commands in batch.
EXCI also provides the ability to do code page conversion in and out of containers.
A channel can be specified on both the EXEC API (EXEC CICS LINK) and the call level API (DPL_REQUEST).
Any CICS applications that are coded to the channels and containers API and invoked by CICS Distributed Program Link (DPL) can now also be invoked unchanged from an EXCI client, including CICS applications that run on previous releases of CICS TS that support channels and containers.
New execution diagnostic facility transactions
New transactions CEDG and CEDY, read-only forms of CEDF and CEDX, are now available. You can examine application programs by using CEDG and CEDY, but you cannot modify resources or alter the execution of commands.
Decision Server Insights Event format
The Decision Server Insights Event format is an XML representation of a CICS event that is recognized by the Decision Server Insights component of IBM Operational Decision Manager. This format can also be used by any consumer that can recognize the Decision Server Insights Event format.
This capability is also available on CICS TS 5.1 and 5.2 with APAR PI55133, and on CICS TS 5.3 with APAR PI55134.
Additional Event Processing (EP) enhancements
- Addition of new transient data queue (TDQ) EP adapter to emit events to any consumer that can read events from a TD queue.
- Custom EP adapters are passed capture data in a printable (character) form. A new set of containers (DFHEP.CHAR.nnnnn) is passed to custom EP adapters, which contain a printable version of the raw capture data that is passed in the DFHEP.DATA.nnnnn containers.
- Addition of the MESSAGE_TEXT capture item on a MESSAGE system event to allow the complete message text to be captured.
Support for Kerberos mutual authentication through the EXEC CICS VERIFY TOKEN command
New options OUTTOKEN and OUTTOKENLEN are added to VERIFY TOKEN to support Kerberos mutual authentication.
This capability is also available on CICS TS 5.3 with APAR PI56774.
NOSUSPEND option on EXEC CICS named counter server commands
- DEFINE COUNTER and DEFINE DCOUNTER
- DELETECOUNTER and DELETE DCOUNTER
- GET COUNTER and GET DCOUNTER
- QUERY COUNTER and QUERY DCOUNTER
- REWIND COUNTER and REWIND DCOUNTER
- UPDATE COUNTER and UPDATE DCOUNTER
New resource, MQMONITOR, provides a better mechanism for controlling MQ trigger and bridge monitors
A new RDO-defined resource, MQMONITOR, is provided to complement the existing MQCONN resource. You can use this new resource to configure an MQMONITOR, which can be a trigger monitor, an MQ bridge monitor, or a user-written monitor.
Configuration options include the ability to specify a transaction ID to be used by the MQ monitor, the user ID under which an MQ monitor task runs, and the user ID to be used by the MQ monitor to start the application tasks if an alternative user ID is not provided by the application. The AUTOSTART option automatically starts MQ monitors when the CICS-MQ connection is started. MQ monitors are automatically stopped when the CICS-MQ connection is stopped. Any number of MQMONITOR resources can be defined and installed. Using the MQMONITOR resource removes the need to use the CKQC transaction to start and stop monitors manually.
With the introduction of the MQMONITOR resource, CICS now differentiates between the user ID under which the transaction that is monitoring the MQ queue runs (the MONUSERID) and the user ID under which the initiated transactions run (for which, the USERID is used by default unless it is otherwise provided).
- The MQINI(DFHMQINI) resource dynamically created by CICS when an MQCONN resource definition with the INITQNAME parameter set to the name of an MQ queue is installed has been replaced with a dynamically created MQMONITOR resource DFHQMINI.
- As is mentioned earlier, CICS now differentiates between
the user ID under which the transaction monitoring the MQ queue runs and the user ID under which the
initiated transactions run. This has implications for any dynamically created resources.
CICS TS V5.3 or earlier CICS TS V5.4 or later Resource name: MQINI(DFHMQINI) Resource name: MQMONITOR(DFHQMINI) Transaction: CKTI Transaction: CKTI Default user ID for CKTI: Either of
- CICS region user ID
Default user ID for CKTI: Either of
The CKTI transaction runs under the authority of the transaction that initiated the CKTI instance.
The CKTI transaction uses the authority of the transaction that initiated the CKTI instance also for starting the transaction associated with the IBM MQ application queue (IBM MQ Process name).
The CKTI transaction runs under the authority of the DFHQMINI MONUSERID, which is either the CICS region user ID, or the PLTPI user ID if specified.
CKTI uses the DFHQMINI USERID, which is set to the CICS default user ID, for starting the required application transaction.
The user ID changes are required to remove a security exposure where potentially unauthorized user IDs could be used.
As you start using CICS TS V5.4 or later, you must review the use of MQCONN. Follow the advice in Review the use of MQCONN in Upgrading CICS regions.
Removal of TCB switch for Java applications that access MQ
CICS Java applications that run in an OSGi JVM can now use the MQ Classes for Java and the MQ Classes for JMS to access IBM MQ for z/OS from a T8 TCB instead of forcing a move to an L8 TCB.
The CICS-MQ task-related user exit changed to take advantage of an enhancement to the RMI that allows TRUEs to run on any key 8 TCB, not just an L8 TCB. The REQUIRED option on the ENABLE PROGRAM command is used to specify that a task-related user exit must run on an open TCB. If OPENAPI is specified with REQUIRED, an L8 TCB is used. If OPENAPI is not specified, any key 8 open TCB is used. Hence the CICS-MQ TRUE is enabled with the REQUIRED option but not the OPENAPI option.
The change in TCB switch behavior affects the results that you see in CICS monitoring and statistics. TCB usage for Java MQ applications is changed in that MQ CPU time is now accumulated against a T8 TCB. End of task syncpoint processing is still accumulated on an L8 TCB.
Improved management of JVM servers and associated CICS tasks
The ability to robustly manage workloads is critical to an application server. CICS can now remove disruptive tasks from the JVM server by using the PURGE option on the SET TASK command. (This command should be used with caution and with the understanding that objects that are modified by that application might be left in an inconsistent state.) In addition, when disabling the JVM server by using the SET JVMSERVER command, CICS can now remove associated threads and tasks in an orderly sequence in most situations.
Non-Java support for JSON web services
JSON messages can now be processed in CICS regions with no Java configuration. You don't have to configure and install a JVM server. Performance and throughput for many workloads will be better than when using a JVM server to process JSON messages.
To set up CICS as a non-Java JSON service provider, you must configure a provider pipeline that uses the CICS-supplied program DFHPIJT as the terminal handler. For detailed instructions, see Creating the CICS infrastructure for a non-Java JSON service provider.
System autoinstall of program definitions for Language Environment
CICS now uses system autoinstall to install program definitions for Language Environment® as required, removing the need to maintain definitions in the CEE CSD group. Only those programs that are used have their definitions installed.
This capability is also available on CICS TS 5.1 and 5.2 with APAR PI60388 and APAR PI73184, and on CICS TS 5.3 with APAR PI60389.
Changes to the CICS IPIC heartbeat function
The CICS IPIC heartbeat function is changed. IPIC heartbeat messages are sent out only if the connected CICS region is running in a different sysplex.
New system initialization parameter XPTKT to control whether CICS performs a RACF check before generating a PassTicket
You can use the XPTKT system initialization parameter to instruct CICS to perform a RACF® check before it generates a PassTicket. If you have applications that generate PassTickets by using the EXEC FEPI REQUEST PASSTICKET, EXEC CICS REQUEST PASSTICKET, or EXEC CICS REQUEST ENCRYPTPTKT commands, you must create RACF definitions to allow regions (and optionally userIDs or groups) to generate PassTickets.
Note that for CICS TS 4.2 through 5.3, the default is NO; for CICS TS 5.4, the default is changed to YES, which means that CICS performs a RACF check by default before generating a PassTicket.
3270 Intrusion Detection Service (IDS)
This service allows CICS to detect if 3270 emulators
invalidly modify protected fields, potentially compromising the security of an application. You can opt into this capability with a feature
toggle, as described in Specifying feature toggles. You configure this
service by using feature toggle
CICS BMS 3270 IDS works with the 3270 Intrusion Detection Service in z/OS Communications Server: SNA Network Implementation Guide to provide an IDS that handles all 3270 or BMS applications. The BMS only service was previously called BMS 3270 data stream validation and was configured using a user replaceable module (URM).
Support for ABSTIME format in EXTRACT STATISTICS command
The EXTRACT STATISTICS SPI command now can return the time at which the counters for the requested statistics were last reset in ABSTIME format, through the new LASTRESETABS option. ABSTIME specifies the absolute time, which can be transformed into any familiar format by using the FORMATTIME command. You can now handle time periods that cross a day boundary more easily.
New fields added to TCP/IP statistics
New fields are added to TCP/IP global statistics and TCP/IP services resource statistics to provide more information about TCP/IP performance.
- New fields in TCP/IP: Global statistics
- The new fields better illustrate how well connections are reused to give a view of connection persistence for a CICS region.
- New fields in TCP/IP services: Resource statistics
- Some new fields illustrate how well connections are reused to give a view of connection persistence for connections into a specific TCPIPSERVICE.
- Some new fields show the effects of performance tuning for HTTP connections on a TCPIPSERVICE.
- Some new fields show the socket backlog and details on connections that are dropped to help diagnostics when CICS is under stress.
New options to dump non-CICS address and data spaces
You can set JOBLIST and DSPLIST only through the SET SYSDUMPCODE SPI command or the CEMT SET SYDUMPCODE command. JOBLIST and DSPLIST are inquire-only for CICSPlex® SM SYSDUMP.
New system initialization parameter allows preset userid terminals to share a single ACEE
A new system initialization parameter, SNPRESET, allows userid terminals that are associated with the same user ID to share a single access control environment element (ACEE). You can save storage by specifying SNPRESET=SHARED.
New option to restart a CICS region after a normal shutdown
A new option, RESTART, is added to the PERFORM SHUTDOWN command to support the automatic restart of CICS regions even if they shut down normally.
If you specify the RESTART option on the PERFORM SHUTDOWN command for a CICS region, when the region shuts down normally, it is restarted by MVS™ Automatic Restart Manager (ARM) after the shutdown.
VSAM data set access control is extended for GDPS Continuous Availability
To enhance the IBM GDPS® Continuous Availability (GDPS AA) solution to support replication of VSAM data for active-standby and active-query configurations, you can now set VSAM data sets to allow only replication programs to have full access, and other programs to have read access only.
The AVAILABILITY option of the SET DSNAME and INQUIRE DSNAME commands has a new CVDA value, RREPL. If you specify AVAILABILITY(RREPL) for a VSAM data set, full access to the data set is restricted to REPLICATOR programs. Other programs only have read access. The new AVAILABILITY(RREPL) option allows you to set up a fence that is specific to a VSAM data set, rendering the data set accessible only for read and replication. To remove the fence, issue a SET DSNAME AVAILABILITY(AVAILABLE) command.
The SET PROGRAM and INQUIRE PROGRAM SPI commands have a new option, REPLICATION, which allows you to specify REPLICATOR programs. For a REPLICATOR program to update a VSAM data set in the AVAILABILITY state of RREPL, the program must be executed in the region that owns the data set.
New previous transaction association data
To enable more efficient use of the new CICS asynchronous API, association data identifies the local or parent task of a request to attach a task by an EXEC CICS RUN TRANSID command to allow the transaction tracking and monitoring of parent and child tasks. The new association data also works for EXEC CICS START commands that are not a new point of origin.
Support for the z/OS Workload Manager Health API
CICS now uses the z/OS Workload Manager Health (IWM4HLTH) API as a means of controlling the flow of work into a CICS region. This service is used to inform z/OS WLM of the health state of a server (in this context, a CICS region). This can allow a CICS region to have a warm-up process after the end of system initialization until the region is fully ready to receive work.
The WLMHEALTH system initialization parameter specifies the parameters to be used by CICS on z/OS WLM Health API (IWM4HLTH) calls, which CICS makes to inform WLM about the health state of a CICS address space. You can view the z/OS WLM health service settings for CICS regions through the INQUIRE WLMHEALTH SPI command or the CEMT INQUIRE WLMHEALTH command. You can also change the health service settings by using the SET WLMHEALTH SPI command or CEMT SET WLMHEALTH.
The primary user of CICS regions' health values is TCP/IP, but the values are also used by CICS and CICSPlex SM components. When TCP/IP is configured, the health value feeds into the WLM server recommendations to sysplex distributor, affecting when connections are established with a CICS region. In CICS, the health value affects when MQ trigger monitors, the MQ Bridge, and user-written MQ consumers that are using the MQMONITOR resource are started and stopped. In addition, CICSPlex SM workload management takes into account the health state of target AORs when deciding where to route work.
With APAR PI90147, the z/OS WLM health value of a region becomes a more effective factor in CICSPlex SM workload routing decisions. When determining the target region to route workload to, CICSPlex SM workload management assigns additional weights in the routing algorithm based on the actual health value of each region. The higher the health value, the lower the penalizing weight assigned, which makes a region with a greater health value more favorable as a target. In addition, a region with a health value of zero is deemed as ineligible to receive work.
New CMCI URI parameter OVERRIDEWARNINGCOUNT
- RESOURCELIMIT is set to WARNING.
- DEFAULTWARNCNT is non-zero (which means a non-zero default warning count limit).
OVERRIDEWARNINGCOUNT is applicable to DELETE, GET, and PUT requests, but accepted by POST with no effect.
Changes to defaults of resource definition attributes
- To avoid the inadvertent use of 24-bit storage, defaults of the following attributes are changed:
- DATALOCATION on program definitions
- TASKDATALOC on transaction definitions
- To allow better recovery from failure and stall scenarios, defaults of attributes that affect
transaction purgeability are changed:
- SPURGE and TPURGE on transaction definitions
Changes to the way that CICS handles unused HTTP persistent connections
If you are using a TCPIPSERVICE resource for CICS web support with the HTTP protocol, when a command is issued to close the TCPIPSERVICE and there are unused HTTP persistent connections, CICS now ensures that the TCPIPSERVICE closes within 30 seconds or within the time as specified in the TCPIPSERVICE SOCKETCLOSE attribute if this value is less than 30 seconds.
Support for IBM Health Checker for z/OS
IBM Health Checker for z/OS provides a foundation to help simplify and automate the identification of potential configuration problems. CICS TS now supports three health checker rules that define best practice for CICS TS security. If a CICS region becomes non-compliant with these security best practices, a warning message is issued so that you can take corrective actions.
This capability is also available on CICS TS 5.3, 5.2, and 5.1 with APAR PI76965, and on CICS TS V4.2 with APAR PI76963.
Support for system rules in CICS policies
If you want to monitor the state of system resources or the overall health of a CICS system, you can define system rules in CICS policies. System rules define an automated action to be performed (issue a message or emit a CICS event) when something of interest happens in a CICS system, such as a resource state change, a threshold that is crossed, or an unusual system state or action.
System rules provide equivalent function to system events, which are now deprecated. You should use system rules instead. Also following the introduction of system rules, policy threshold rules are renamed to policy task rules.
This capability is also available on CICS TS 5.1, 5.2, and 5.3 with APAR PI83667, and is further enhanced in CICS TS 5.4 by APAR PI92806, which adds support for the following new system rules:
- Bundle available status
- Use this rule to monitor and react to the change in available status of bundles that declare
application entry points.
This rule is not applicable to any bundles that do not declare application entry points.
- Bundle enable status
- Use this rule to monitor and react to the change in enable status of bundles.
- IPIC connection status
- Use this rule to monitor and react to the change in status of IPIC connections.
- MRO connection status
- Use this rule to monitor and react to the change in status of MRO connections.
- Program enable status
- Use this rule to monitor and react to the change in enable status of CICS programs.
Support for static data capture items and event names for policy events
Available with APAR PI88500. If you use CICS Explorer®® Version 184.108.40.206 or later and you use the policy definition editor to work with policy rules, you can now define items of static data to be emitted with policy events and specify a user-defined name for the event.
This capability is also available on CICS TS 5.1, 5.2, and 5.3 with APAR PI88500.
Ability to specify Transaction ID and User ID conditions for policy task rules
Available with APAR PH26145. When defining a policy task rule, you can now limit this rule to be triggered when status changes are made in relation to a specific transaction or a range of transactions, in relation to a specific user ID or a range of user IDs, or in relation to a combination of both, by setting Transaction ID and User ID filters in the Condition section in the Rules tab of the Policy definition editor.
CICSPlex SM tasks in a MAS changed to be system tasks
Tasks that are internally initiated by CICSPlex SM in a MAS and that have transaction IDs beginning with the characters CO are changed to run as CICS system tasks. As a result, these tasks are no longer displayed among active tasks in a MAS that is at CICS TS Version 5.4 or later. Web User Interface (WUI) tasks and CICSPlex SM utility transactions (for example COLM for starting the MAS agent initialization) continue to run as user tasks.
- A MAS can now have an initial user task count of zero tasks, even when the MAS agent is active.
- In a CICSPlex, where workload target regions are a mix of both CICS TS V5.4 and lower releases, the workload distribution favors target regions that run CICS TS V5.4 because those regions have a lower initial user task count. CICSPlex SM WLM continues as normal to select the target region with the lowest routing weight and the bias disappears as the CICS TS V5.4 target regions calculated routing weight starts to equal or exceed that of the lower CICS TS releases.
- It is no longer possible to purge CICSPlex SM internal system tasks, protecting the system from accidental damage.
New STALLASYCNT and STALLASYTSK system parameters for CICSPlex SM
Two new system parameters, STALLASYCNT and STALLASYTSK, are introduced to CICSPlex SM to enable the tracking and STALL detection of asynchronous tasks.
Change in TCB allocation for Liberty threads
To alleviate the potential impact of Liberty thread pooling on zIIP-eligibility of workloads, tasks that run as Liberty threads now invoke a TRUE on the T8 TCB that CICS provided to the Liberty ThreadPool. All other tasks continue to invoke it on the QR TCB.
This capability is also available on CICS TS 5.3 with APAR PI54263.
Support for new deployment tasks in DFHDPLOY
DFHDPLOY is enhanced to perform PIPELINE SCAN, PROGRAM NEWCOPY, and PROGRAM PHASEIN. This enables automation to be written to update these resources without requiring the direct use of the CICSPlex SM API.
This capability is also available on CICS TS 5.1, 5.2, and 5.3 with APAR PI72104.
Feature toggles to enable new features that are available to in-service or open beta CICS releases
CICS delivers features on a continual basis to enhance its capabilities. You can now enable new features that are made available to in-service or open beta CICS releases by configuring feature toggles. This mechanism gives you more control over the enablement of such features.
z/OS Provisioning Toolkit, a command-line utility to rapidly provision and deprovision CICS and other z/OS environments
IBM z/OS Provisioning Toolkit (z/OS PT) is a simple command-line utility that uses the IBM z/OS Management Facility (z/OSMF) REST API to rapidly provision and deprovision CICS and other z/OS development environments. System programmers can set up the environments, authorize access to individuals or teams, and set provisioning controls and limits. Then, using a command-line interface, application developers can quickly provision and deprovision environments, without needing mainframe administration skills or authority.
z/OS PT is also available for use with CICS TS 5.1, 5.2, and 5.3.
Changes to documentation
- Documentation for CICS Explorer in IBM Knowledge Center is published independently from the documentation for CICS Transaction Server. The CICS Explorer documentation is in CICS Explorer User Guide.
- The table of contents in IBM Knowledge Center is streamlined into fewer sections.
- There are a number of changes to the way that the PDF manuals are structured and delivered.
- IBM Knowledge Center V2.0 withdrew support for creating bespoke PDFs. As a consequence, the collections that were provided to support this facility are also withdrawn from the CICS documentation.
Secure CICS Explorer sign-in with Multi-Factor Authentication
Available with APAR PI87691. CICS TS now supports CICS Explorer sign-in with Multi-Factor Authentication for enhanced CICS Explorer sign-on security.
To implement this security capability in your CICS environment, you must configure the WUI region to use the CMCI JVM server. The CMCI JVM server runs in the WUI region and handles CMCI requests.
New system initialization parameter, KERBEROSUSER, specifies a user ID to be associated with the Kerberos service principal
You can use the new KERBEROSUSER system initialization parameter to specify a user ID other than the CICS region user ID, to be associated with the Kerberos service principal for the CICS region. This user ID must not be a protected user ID, because protected user IDs should not be used for Kerberos authentication and Kerberos authentication failures can result in user revocation.
Typically, the CICS region user ID is a protected user ID, so it is recommended to specify a non-protected user ID on KERBEROSUSER for the Kerberos service principal.
Support for mapping level 4.2 in the CICS assistants
Available with APAR PI86039. Mapping level 4.2 is added to the web services assistants, XML assistants, and JSON assistants. This mapping level is primarily for use with DFHJS2LS. It implements support for Additional Properties in JSON, and introduces the following three parameters to DFHJS2LS: ADDITIONAL-PROPERTIES-DEFAULT, ADDITIONAL-PROPERTIES-MAX, and ADDITIONAL-PROPERTIES-SIZE.
Support for mapping level 4.3 in the CICS assistants
Available with APAR PI88519. Mapping level 4.3 is added to the web services assistants, XML assistants, and JSON assistants. This mapping level implements support for multidimensional arrays in JSON.
VSAM dynamic buffer addition disabled for CICS LSR pools
Available with APAR PI92486. From z/OS V2.2, VSAM provides a dynamic buffer addition capability that allows for the addition of extra buffers for an LSR pool if no buffer is available for a given VSAM request. For CICS, it is preferable to retry the request rather than allow uncontrolled expansion of an LSR pool, so dynamic buffer addition is not enabled for CICS LSR pools.
Enhanced support for IBM SDK, Java Technology Edition Version 8
Available with APAR PI87181, CICS is changed to report the full heap and garbage collection
statistics for IBM SDK, Java Technology Edition Version 8 Service Refresh 5 and above. CICS has also been changed to
disable the new heap structure by specifying
-XX:+HeapManagementMXBeanCompatibility. You can override this setting by using
-XX:-HeapManagementMXBeanCompatibility in the JVM profile.
APAR PI87695 is required by the Liberty JVM server to support IBM SDK, Java Technology Edition Version 8.
Management of Db2 threads used by CICS tasks subject to purge or forcepurge requests
Available with APAR PI98569. The SET TASK command has been enhanced such that CICS processing of task purge or forcepurge requests will attempt to cancel active Db2® threads used by CICS tasks that are being purged or forcepurged.
If CICS detects that the task being purged or forcepurged has a thread active in Db2, it will issue a Db2 cancel thread command to cancel the request in Db2 before initiating the purging of the CICS task. This enhancement ensures that the purge does not cause problems for Db2 and that the Db2 updates are safely backed out.
To cancel the Db2 thread in Db2 used by the task being purged or forcepurged, CICS uses a Db2 IFI command to issue the cancel thread command. This IFI request uses a command thread defined as part of the DB2CONN. The ID passed to Db2 needs to have the relevant authority to issue cancel thread requests; therefore, you should review the COMAUTHTYPE or COMAUTHID settings of the DB2CONN. Processing of the purge or forcepurge request will continue even if the cancel thread request is unsuccessful.
Enhanced replication logging for VSAM files
Available with APAR PI97207. A new system transaction, called CFCT, and its associated program, DFHFCLJ1, are supplied to provide tie-up records for VSAM files (including non-recoverable VSAM files) to a replication log at specified intervals. You enable this capability by setting the INITPARM system initialization parameter.
Multiple Liberty JVM servers can run in one region without using JVM server option
Available with APAR PI98174. The JVM server option
is no longer needed to allow more than one Liberty JVM server to be started in the same region.
Multiple Liberty JVM servers can connect to a single angel process within individual regions.
Enhancement to JTA support of Db2 Type 2 Connectivity
Available with APAR PH07233, Db2 JDBC type 2 connectivity is supported for batch persistence.
REXX for CICS internal tracing, online help, and product documentation improvements
Available with APARS OA56111, OA56806 and OA56807. Support for REXX for CICS internal tracing and a new online help utility are now provided. To use the help utility, you must load the relevant data sets, as described in Create the help files. The REXX for CICS Transaction Server product documentation is provided in this Knowledge Centre, and in the online help.
New replication log record
Available with APAR PH09381. Replication logging in support of GDPS Continuous Availability is enhanced to log a REDO record when an application issues an UNLOCK command following a read-update command, or a series of write-massinsert commands. It allows replication products to cater more efficiently for non-RLS applications, which, in the absence of browse for update support, issue read-update requests against all records in a file, but update very few and unlock most records.
Build support for other toolchains
Available through continuous delivery. Build toolchains such as Maven and Gradle are extremely popular for developing, building, and testing applications. To provide an enhanced experience for Java developers who are using such tools, CICS now offers JCICS and related artifacts through Maven Central.
With this enhancement, you can manage Java dependencies more easily, develop the applications in an integrated development environment (IDE) of your choice, and integrate the application build smoothly with popular automation tools such as Jenkins and Travis CI during development.
New feature toggle to help you with RLS migration
Available with APAR PH07596. A new feature toggle
has been introduced to help you with RLS migration. When this feature is enabled, you can issue a
DELETE command with the RIDFLD option for a single record
without causing AFCG abends.
Improvement to CICS exception handling when a JVM server encounters a TCB failure
Available with APAR PH12280. CICS exception handling when a JVM server encounters a TCB failure has been changed to the following process to ensure that the JVM server is recycled.
- CICS disables the JVMSERVER resource with the PHASEOUT option to allow existing work in the JVM to complete where possible and prevent new work from using the JVM.
- If the PHASEOUT operation fails to disable the JVMSERVER within the interval specified by the PURGE_ESCALATION_TIMEOUT JVM server option, CICS escalates to the next disable action PURGE until the JVMSERVER is disabled.
- If the PURGE operation fails to disable the JVMSERVER within the interval, CICS escalates to the next disable action FORCEPURGE.
- If the FORCEPURGE operation fails to disable the JVMSERVER within the interval, CICS escalates to KILL.
- After the JVMSERVER is successfully disabled, message DFHSJ1008 is issued.
- CICS attempts to re-enable the resource to create a new JVM.
You can control the interval between the disable actions that CICS performs by setting the PURGE_ESCALATION_TIMEOUT JVM server option.
SNI now supported in CICS TS communications with an HTTP server over TLS connections
Available with APAR PH20063. CICS TS now supports the use of the Server Name Indication (SNI) extension as defined in Internet Engineering Task Force RFC 6066. With this enhancement, CICS TS, when acting as an HTTP client, can use a TLS connection to a virtual host where the server supports multiple virtual hosts using a single IP address.
No configuration change is required in CICS TS. CICS TS supports SNI if it is supported by the HTTP server.
CICS capability of exploiting IBM z/OS Workload Interaction Correlator
Available with APAR PH16392.
IBM z/OS Workload Interaction Correlator (Correlator) is a priced feature that provides infrastructure for z/OS software to generate synchronized, standardized, concise, content-rich data with common context for automated analysis by an analytics engine such as the IBM z/OS Workload Interaction Navigator. You can use Correlator to generate standardized SMF records for CICS, making it easier to identify and correlate workload across your mainframe environment.
CICS uses the WIC IFAWIC service to register CICS regions for collecting data about transaction activities, and provides a WIC exit routine that SMF calls for WIC processing. The WIC exit routine aggregates and summarizes transaction activities from all registered CICS regions and records exceptional CICS regions into SMF type 98 subtype 1024 records.
Available with APAR PH30291, CICS-supplied Assembler copybook DFHWICCD is updated to enable IBM z/OS Workload Interaction Navigator with PTF UJ04388 to analyze multiple SMF files collected from multiple systems respectively and display the correlated anomalies across multiple systems for a single interval in one screen.
Support for Spring Boot applications packaged as WAR files
The CICS Liberty JVM server supports Spring Boot applications using the Spring application programming model. Spring was originally designed to simplify Java Enterprise Edition (EE), using plain old Java objects (POJOs) and dependency injection. It has since grown to extend and encompass many aspects of Java EE development.
Spring Boot builds on Spring by adding components to avoid complex configuration, reduce development time, and offer a simpler startup experience. Spring Boot applications can run on CICS without modification. It also is possible to configure Spring Boot applications for integration with CICS transactions and security, and to call the CICS API using JCICS when built as a web application archive (WAR). A Spring Boot application can be deployed and managed using CICS bundles in the same way as can other CICS Liberty applications.
The LINK capability is available in CICS TS V5.5 for Spring Boot applications packaged as WAR or JAR files. It is not available in CICS TS v5.4 or v5.3
CICS-MQ trigger monitor and CICS-MQ bridge improvements
Available with APAR PH22136.
The CICS-MQ trigger monitor transaction CKTI now handles abends produced when starting user transactions. If an abend occurs when the CKTI transaction attempts to start the user transaction, rather than terminating, CKTI will now send the trigger message to the dead-letter queue, and trigger monitor processing continues.
Additionally, both the CICS-MQ trigger monitor transaction CKTI and the CICS-MQ bridge monitor transaction CKBR now handle temporary errors that occur when issuing MQOPEN and MQGET requests. Rather than terminating, CKTI and CKBR will retry every minute for up to an hour. If the error is not resolved after an hour, the monitor transactions will then terminate. This caters for errors caused by the loss of a coupling facility when the monitor transactions are processing shared queues. The IBM MQ queue manager can recover from a coupling facility failure, and when the connection is restored, bridge and trigger monitor processing will resume.
Improved usage of BAS data space storage for large CICSplex environments
Available with APAR PH19761. The CICSPlex SM BAS component is now able to use all available BAS data space storage by spreading
large resource deployment lists for BAS across multiple data spaces instead of being constrained to
a single data space. This feature is controlled by the feature toggle
This feature is disabled by default, but you can opt into this feature by setting the feature
Enhanced adapter tracking for CICS Db2 applications
Available with APAR PH30252. The CICS Db2 attachment facility is enhanced to pass adapter data to Db2. If a CICS task that is accessing Db2 has adapter data in the CICS origin data, the adapter ID is passed as appl-longname and the adapter data is passed as an accounting-string. Db2 writes the data in its SMF accounting records and the data is also available online through the Db2 special registers CURRENT CLIENT_APPLNAME and CURRENT CLIENT_ACCTNG. This capability also requires Db2 12 with APAR PH31447 or higher.