Application Development for IBM CICS Web Services

Download Application Development for IBM CICS Web Services

Post on 04-Jan-2017

235 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>ibm.com/redbooks</p><p>Application Development for IBM CICS Web Services</p><p>James OGradyIan Burnett</p><p>Jim HarrisonSan Yong Liu</p><p>Xue Yong Zhang</p><p>Overview of Web services in CICS updated for CICS TS 5.2</p><p>New Web service performance measurements for CICS TS 5.2</p><p>New SOA patterns for CICS TS 5.2</p><p>Front cover</p><p>http://www.redbooks.ibm.com/http://www.redbooks.ibm.com/</p></li><li><p>Application Development for IBM CICS Web Services</p><p>January 2015</p><p>International Technical Support Organization</p><p>SG24-7126-02</p></li><li><p> Copyright International Business Machines Corporation 2015. All rights reserved.Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADPSchedule Contract with IBM Corp.</p><p>Third Edition (January 2015)</p><p>This edition applies to Version 5, Release 2, of IBM CICS Transaction Server. </p><p>Note: Before using this information and the product it supports, read the information in Notices on page xiii.</p></li><li><p>Contents</p><p>Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiTrademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv</p><p>IBM Redbooks promotions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv</p><p>Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviiAuthors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviiNow you can become a published author, too! . . . . . . . . . . . . . . . . . . . . . . . . xixComments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxStay connected to IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx</p><p>Summary of changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiJanuary 2015, Third Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi</p><p>Part 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1</p><p>Chapter 1. Overview of Web services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Service-oriented architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4</p><p>1.2.1 Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.2 Web services versus SOAs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6</p><p>1.3 Web services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.1 Properties of a Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.2 Core standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.3 Web Services Interoperability group . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.4 Additional standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11</p><p>1.4 IBM WebSphere Service Registry and Repository . . . . . . . . . . . . . . . . . . 131.5 SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13</p><p>1.5.1 The envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.5.2 Communication styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.5.3 Encodings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.5.4 Messaging modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19</p><p>1.6 WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.6.1 WSDL Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.6.2 WSDL document anatomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.6.3 WSDL definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.6.4 WSDL bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31</p><p>Chapter 2. CICS TS implementation of Web services . . . . . . . . . . . . . . . . 35 Copyright IBM Corp. 2015. All rights reserved. iii</p></li><li><p>2.1 Support for Web services in CICS TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.1.1 Core aspects of Web services in CICS . . . . . . . . . . . . . . . . . . . . . . . 36</p><p>2.2 Tools for application deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.2.1 CICS Web Services Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.2.2 IBM Rational Developer for System z v9.1 . . . . . . . . . . . . . . . . . . . . 392.2.3 Other Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39</p><p>2.3 CICS as a service provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.3.1 Preparing to run a CICS application as a service provider . . . . . . . . 412.3.2 Processing the inbound service request . . . . . . . . . . . . . . . . . . . . . . 43</p><p>2.4 CICS as a service requester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442.4.1 Preparing to run a CICS application as a service requester . . . . . . . 452.4.2 Processing the outbound service request . . . . . . . . . . . . . . . . . . . . . 46</p><p>2.5 The CICS resource definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.5.1 URIMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482.5.2 PIPELINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.5.3 WEBSERVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.5.4 The Web service binding file (WSBind). . . . . . . . . . . . . . . . . . . . . . . 542.5.5 SOAPFAULT commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562.5.6 Mapping levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.5.7 Enhancements with CICS TS V3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . 592.5.8 Additional enhancements with CICS TS 4.1 . . . . . . . . . . . . . . . . . . . 612.5.9 Use of WS-Addressing in CICS TS V4.1 applications . . . . . . . . . . . 632.5.10 AXIS2 Provider PIPELINEs in CICS TS V4.2 . . . . . . . . . . . . . . . . . 632.5.11 CICS Transaction Server V5.1 makes CONTAINERs easier . . . . . 632.5.12 Further enhancements in CICS TS V5.2. . . . . . . . . . . . . . . . . . . . . 632.5.13 Comparing releases of CICS Transaction Server . . . . . . . . . . . . . . 64</p><p>Chapter 3. Development approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.2 Bottom-up approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.3 Top-down approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.4 Meet-in-the-middle approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.5 The advantages of using Rational Developer for System z . . . . . . . . . . . 743.6 Web services versus CICS TCP/IP connectivity . . . . . . . . . . . . . . . . . . . . 763.7 Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77</p><p>Chapter 4. CICS catalog manager example application . . . . . . . . . . . . . . 794.1 Samples for use with CICS Web Services . . . . . . . . . . . . . . . . . . . . . . . . 804.2 Introduction to the catalog manager application . . . . . . . . . . . . . . . . . . . . 804.3 Installation and setup of the base application . . . . . . . . . . . . . . . . . . . . . . 81</p><p>4.3.1 Creating the VSAM data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.3.2 Defining the base application to CICS . . . . . . . . . . . . . . . . . . . . . . . 824.3.3 Configuring the example application . . . . . . . . . . . . . . . . . . . . . . . . . 83iv Application Development for IBM CICS Web Services</p></li><li><p>4.3.4 Configuring code page support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.4 Web service support for the example application . . . . . . . . . . . . . . . . . . . 87</p><p>4.4.1 The Web client front end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.4.2 The CICS Web service client front end . . . . . . . . . . . . . . . . . . . . . . . 884.4.3 Order dispatch Web services endpoints . . . . . . . . . . . . . . . . . . . . . . 894.4.4 Alternative Web service provider configuration. . . . . . . . . . . . . . . . . 89</p><p>4.5 Web services setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.5.1 Creating the zFS directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.5.2 Creating the PIPELINE definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.5.3 Creating a TCPIPSERVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.5.4 Dynamically installing WEBSERVICE and URIMAP resources . . . . 944.5.5 Creating the WEBSERVICE resources with RDO . . . . . . . . . . . . . . 974.5.6 Creating the URIMAP resources with RDO . . . . . . . . . . . . . . . . . . . 984.5.7 Completing the installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99</p><p>4.6 Installing the client application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.6.1 FTP the client application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.6.2 Install the client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.6.3 Start the client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.6.4 Testing the client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105</p><p>Chapter 5. Rational Developer for System z . . . . . . . . . . . . . . . . . . . . . . . 1095.1 What is Rational Developer for System z? . . . . . . . . . . . . . . . . . . . . . . . 1105.2 RDz and CICS application development . . . . . . . . . . . . . . . . . . . . . . . . . 1105.3 Components of RDz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110</p><p>5.3.1 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115.3.2 Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115.3.3 Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125.3.4 View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135.3.5 Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115</p><p>5.4 Web services in Rational Developer for System z . . . . . . . . . . . . . . . . . 1165.5 Writing your first Java program with RDz . . . . . . . . . . . . . . . . . . . . . . . . 1175.6 Overview of Debugging with RDz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120</p><p>5.6.1 Supported languages and environments . . . . . . . . . . . . . . . . . . . . 1205.6.2 Local and remote debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215.6.3 Basic debugging features and tools . . . . . . . . . . . . . . . . . . . . . . . . 121</p><p>5.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123</p><p>Chapter 6. Exposing the Catalog Sample CICS application asa Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125</p><p>6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266.2 Install the provider mode resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286.3 Create the provider mode deployment artifacts . . . . . . . . . . . . . . . . . . . 129</p><p>6.3.1 Using the CICS Web Services Assistant. . . . . . . . . . . . . . . . . . . . . 130 Contents v</p></li><li><p>6.3.2 Use Rational Developer for System z . . . . . . . . . . . . . . . . . . . . . . . 1366.4 Testing the Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146</p><p>6.4.1 The Web Services Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476.4.2 Generate a client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151</p><p>6.5 Publishing WSDL to WebSphere Service Registry and Repository . . . . 1556.5.1 Use DFHLS2WS for WebSphere Service Registry and Repository in </p><p>CICS TS V5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1566.5.2 Use DFHWS2LS for WSRR in CICS TS V5.2. . . . . . . . . . . . . . . . . 1576.5.3 New parameters to support SSL encryption in CICS TS V4.1</p><p>and above . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1596.6 Writing applications that process the XML directly . . . . . . . . . . . . . . . . . 160</p><p>6.6.1 Creating a custom application handler . . . . . . . . . . . . . . . . . . . . . . 1606.6.2 Creating an XML-ONLY WEBSERVICE . . . . . . . . . . . . . . . . . . . . . 161</p><p>Chapter 7. Create a CICS Web service requester application using the catalog sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163</p><p>7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647.2 Create a Web service requester using the CICS </p><p>Web Services Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1677.2.1 Generate the required artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1677.2.2 Set up the CICS infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1707.2.3 Test the requester application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173</p><p>7.3 Creating and testing a Web service hosted in RDz. . . . . . . . . . . . . . . . . 1757.3.1 Create a Web service skeleton with Rational Application Developer for </p><p>WebSphere Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1767.3.2 Implement the WebSphere Application Server Web service . . . . . 1807.3.3 Test the Web service using Web Services Explorer . . . . . . . . . . . . 1827.3.4 Test the Web service using the CICS sample application . . . . . . . 184</p><p>7.4 Client mode URIMAPs . . . . . . . . . . . . . . . . . . . ....</p></li></ul>