Benefits of using the asynchronous API

Asynchronous request processing has been possible prior to CICS® TS 5.4, but the new asynchronous API commands can simplify designing and implementing asynchronous processing.

Using the EXEC CICS RUN TRANSID and EXEC CICS FETCH commands, applications can process the requests, responses, and exceptions involved in asynchronous processing, and still make use of standard CICS commands and coordination, minimizing complexity in both management and execution of programs.

There are three key challenges involved in asynchronous processing, all of which have been addressed as part of the new asynchronous API commands:
  • Executing work independently following an asynchronous request.
  • Tracking the completion status of processes and services running asynchronously.
  • Communicating data between asynchronous processes.

Previously, these challenges have been addressed using a combination of other CICS functions, services, or supporting products, which weren't designed to support asynchronous processing on a large, integrated scale. Using the EXEC CICS START and EXEC CICS DELAY commands, Business Transaction Services (BTS), Event Control Blocks (ECB), or WebSphere MQ, it has been possible to create a functioning asynchronous model, but in an unsupported and typically complex manner.

BTS, for example, works better for long-term units of work, or those that require human intervention to provide meaningful results, whilst using external products such as WebSphere MQ relieves pressure on CICS system programmers and application programmers, but increases the burden of managing supporting infrastructure.

The EXEC CICS RUN TRANSID and EXEC CICS FETCH commands have been designed to integrate seamlessly with programs and applications that use normal CICS logic – and in conjunction with the EXEC CICS PUT CONTAINER and EXEC CICS GET CONTAINER, to simplify data management between asynchronously running processes.