CICS as a service provider for JSON requests

For CICS® to provide a service to an external JSON client, it must receive the request and pass it through a pipeline to the target application program. The response from the application is returned to the JSON client through the same pipeline.

There are several ways of configuring CICS as a service provider for JSON requests:
  • Using z/OS® Connect for CICS.

    z/OS Connect for CICS is a technology for accessing z/OS assets, such as CICS programs, by using JSON. For more information about z/OS Connect for z/OS, and some of the differences between z/OS Connect for CICS and CICS Java™ pipelines, see CICS and z/OS Connect.

  • Using CICS Java pipelines.

    CICS Java pipelines are the technology that is provided in previous versions of CICS to allow access to CICS programs by using JSON. For more information about CICS Java pipelines, see Java-based SOAP pipelines.

  • Using the JAX-RS and JSON features of the CICS Liberty JVM server directly.
  • Using the CICS-supplied terminal handler DFHPIJT.

    You can configure a provider pipeline with terminal handler DFHPIJT. This enables the pipeline to process JSON requests without the necessity of installing a JVM server. The following restrictions apply:

    Restriction:
    • RESTful JSON web services are not supported.
    • Context switch in the pipeline is not supported.
    • It is not possible to use SOAP and JSON web services in a JSON pipeline. DFHPIJT only handles JSON messages. Receipt of a SOAP message results in an error response.
CICS receives JSON data and transforms it into structured application data that is understood by the CICS application program. The responses from the CICS application are transformed into a JSON payload for the outbound response. The transformations require parsing of the messages. If you use z/OS Connect for CICS, you have the option of using a Java-based JSON parser or a non-Java equivalent. The configuration option is specified in the z/OS Connect for CICS pipeline configuration file. For more information about configuring z/OS Connect for CICS, see Configuring z/OS Connect for CICS. If you use CICS Java pipelines, the parsing is only ever performed by using Java within the JVM server. The implications of the different configuration decisions are:
  • If you parse JSON by using Java, the processing is eligible for offloading to a zEnterprise® Application Assist Processor (zAAP) if it is available. Offloading the processing might have cost benefits.
  • If you use the z/OS Connect for CICS non-Java parser, some workloads might get performance and throughput benefits. For more information about which workloads might benefit, see the performance material that is made available with this release. Even if you use the non-Java parser, most of the z/OS Connect for CICS infrastructure processing is eligible for offloading onto zAAP.
  • If you use the CICS-supplied terminal handler DFHPIJT, some workloads might get performance and throughput benefits. When you use this method of processing JSON requests, none of the processing is eligible for offloading onto zAAP.