Migrating from JSON web services to z/OS Connect

JSON Services can be re-deployed to z/OS® Connect from older JSON web services technology in CICS, and also from the even older Feature Pack for Mobile Extensions. Such re-deployment requires z/OS Connect to be configured in compatibility mode. This mode is available in both z/OS Connect for CICS® 1.0 and z/OS Connect Enterprise Edition.

About this task

In this task, z/OS Connect refers to both z/OS Connect for CICS 1.0 and z/OS Connect Enterprise Edition.

Redeploying a JSON web service from a Java™ Pipelines for JSON (as used with the CICS Transaction Server Feature Pack for Mobile Extensions V1.0) to z/OS Connect is a straightforward process. The WSBind files that are used for the Java Pipelines for JSON and for z/OS Connect are produced by using the same tools (DFHLS2JS and DFHJS2LS), and are fully compatible with each other. If you are exploring this capability in CICS, you can find examples of JSON web services in the IBM Redbooks: Implementing IBM CICS JSON Web Services for Mobile Applications.

The z/OS Connect environment encourages the use of SSL between the client application and CICS. If your existing Java Pipelines for JSON environment does not use SSL, the conversion to z/OS Connect involves an extra step.

Procedure

  1. Create the necessary z/OS Connect infrastructure by using the instructions from Configuring z/OS Connect for CICS. For part of this configuration, you select an SSL TCP/IP port number at which the Liberty JVM server listens for incoming connections. You have two options to consider:
    1. Select a different port number from the port number that is used by the TCPIPSERVICE for the Java Pipelines for JSON. This option has the advantage of ensuring that both environments can be installed concurrently on different TCP/IP ports. It means that client programs need updating to target the new JSON Service. If the old environment didn't use SSL, the conversion to z/OS Connect requires changes to the URI, so this option is more suitable.
    2. Select the same port number as that used by the TCPIPSERVICE for the Java Pipelines for JSON. The port numbers in the URIs used by the client programs do not need to be changed, but the two environments cannot be installed concurrently. The URI might need changing for other reasons, such as switching from HTTP to HTTPS when you enable SSL.
  2. Deploy the WSBind files to z/OS Connect. Your existing WSBind files are entirely compatible with z/OS Connect. Follow the steps to deploy a new JSON web service to z/OS Connect as described in Configuring z/OS Connect for a CICS JSON web service. CICS does not allow two WEBSERVICE resources with the same name to both be installed. You therefore have two options:
    1. Discard the original WEBSERVICE to allow the new one to install with the same name as was previously used.
    2. Rename the new WEBSERVICE to avoid a clash.
  3. If you customized the processing of the Java Pipelines for JSON through use of PIPELINE Handler programs, consider whether that customization is still needed. If it is needed, create z/OS Connect Interceptor programs with equivalent functions, and deploy them as global interceptors. For more information about z/OS Connect interceptors, see Defining z/OS Connect interceptors.

Results

You are now ready to test your new z/OS Connect JSON web services. If you deployed the services by using the same port number as used in the Java Pipelines for JSON, no changes are needed in the client (unless the security configuration has changed, such as when enabling SSL). If you changed the port number or URI for the service, the client needs changing.