Mobile devices and CICS TS Java
This chapter describes hosting Java-based web services in an IBM CICS Transaction Server (TS) Java virtual machine (JVM) server without using CICS Liberty JVM server. These web services run in a Java-based pipeline in CICS and use the CICS supplied data transformation service to interact with CICS programs.
This chapter builds on the information in Chapter 5, “Connecting mobile devices to CICS Transaction Server” on page 47, and covers the following topics:
7.1 Hosting transformation services in CICS TS Java
CICS has had the ability to automatically transform XML into application data as part of a web service since CICS Transaction Server V3.1. The ability to host this transformation service within a JVM server resource was introduced in CICS Transaction Server V4.2. This Java-based transformation service was extended to support JSON as part of the CICS Transaction Server Feature Pack for Mobile Extensions, V1.0. The Feature Pack is available for CICS Transaction Server V4.2 and V5.1. The capability is integrated into CICS from CICS Transaction Server V5.2.
The JVM server-based environment for CICS web services is referred to as a Java-based pipeline. A Java-based pipeline that exposes an existing program to mobile devices is a candidate for approval for hosting in IBM CICS Transaction Server for z/OS Value Unit Edition.
Figure 7-1 illustrates a Java-based pipeline being used to expose an existing CICS program as an XML or JSON web service.
Figure 7-1 Hosting the CICS supplied transformation service in a Java pipeline
7.2 Characteristics of CICS data transformation
The Java-based CICS data transformation service facilitates the conversion of XML or JSON into structured application data and back again. It does this by using pregenerated metadata (a WSBind file) that instructs CICS in how to transform the data. The metadata is prepared in advance, using tools.
The application development aspects of how this works are described in the IBM Redbooks publication titled Application Development for CICS Web Services, SG24-7126:
The JSON-specific characteristics of this process are described in the IBM Redbooks publication titled Implementing IBM CICS JSON Web Services for Mobile Applications, SG24-8161:
The CICS supplied data mapping service is popular, because most existing CICS programs can be exposed as web services (either JSON or XML) without application changes and without the need for a new wrapper program to be written. The technology involved has also been adapted for other IBM products, including IBM Rational Developer for System z (which provides application development support for CICS web services), CICS Transaction Gateway (which supports hosting CICS WSBind files for JSON from version 9.1), and WebSphere Application Server Liberty profile (which supports hosting WSBind files for JSON).
The CICS data mapping technology can be used for both bottom-up development scenarios, and top-down scenarios, and it can be used in both Provider mode and Requester mode. For more informaiton about these development scenarios, see 5.4, “CICS TS web service development strategies” on page 53.
The CICS data mapping tools and the regular non-Java data transformation service have been proven in many CICS web service customer deployments since CICS Transaction Server V3.1.
7.3 The Java-based pipeline
A Java-based pipeline in CICS is very similar to a regular CICS pipeline resource (of the type that has been available for hosting web services from CICS Transaction Server V3.1). Its main differentiating characteristic is that it is implemented in Java, and is therefore eligible to be considered for approval for IBM CICS Transaction Server for z/OS Value Unit Edition.
Converting a traditional CICS pipeline to a Java-based pipeline involves:
the configuration of a suitable JVM server in CICS
minor changes to the pipeline configuration file
(optionally) changing any pipeline handler programs to use Java
This can be a convenient mechanism for adapting an existing CICS web services infrastructure, though it is unlikely to perform as well as the native CICS implementation. If a JSON interface is required, consider using the capabilities of IBM z/OS Connect, see 6.2, “z/OS Connect and CICS Liberty JVM server” on page 63.
The Java-based pipeline takes XML or JSON data, and automatically converts it to structured application data, using instructions found within the WSBind file. It then LINKs to the target application program passing the transformed data as input, and finally converts the response back to XML or JSON to return to the remote caller. This can provide a significant amount of value for relatively little effort.
7.4 Security considerations
Security of web services (both JSON and SOAP) is a broad topic, encompassing many considerations. As with the CICS Liberty JVM server scenario in 6.4, “Security considerations” on page 64, both IBM MobileFirst and IBM DataPower can be used to provide additional capabilities beyond those natively available through CICS.
CICS supports a wide range of Security protocols for XML-based web services, including WS-Security, and WS-Trust, and in CICS Transaction Server Version 5.2 this is extended to include aspects of the SAML and Kerberos protocols. CICS also supports the z/OS identity propagation protocol.
General security considerations are described further in IBM Redbooks publication SG24-7658-00 Securing CICS Web Services. It is available here:
The Identity Propagation protocol is described in IBM Redbooks publication SG24-7850-00 z/OS Identity Propagation. It is available here:
Many deployments of CICS web services include the use of an IBM DataPower appliance for authentication and as an XML firewall. A trust relationship is configured between CICS and the appliance by using a client-certified transport connection, and the user ID associated with the appliance is granted surrogate authority to assert the identity of the user. The identity of this user is passed to CICS from the appliance using WS-Security. This is probably the single most common configuration for authentication with XML-based web services for CICS: DataPower is responsible for authentication, and CICS is configured to trust DataPower to supply the identity of the user.
7.5 Other considerations
There are many ways to call an existing CICS TS program from a mobile device. Hosting a transformation service in a Java-based pipeline offers the advantage that the associated transformation work is a candidate for approval for use with IBM CICS Transaction Server for z/OS Value Unit Edition. However, other options are available, including the use of CICS Liberty JVM server as described in Chapter 6, “Mobile devices and CICS Liberty JVM server” on page 59.
One of the limitations of the Java-based pipeline is that the associated JVM server will not be suitable for hosting OSGi applications or CICS Liberty JVM server. It requires a special JVM server of its own.
The transformation service for JSON web services may be better hosted in the IBM CICS Transaction Gateway V9.1 or in WebSphere Application Server Liberty profile.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.184.66