Front Cover Developing Web Services Using CICS, WMQ, And

2y ago
10 Views
2 Downloads
2.65 MB
254 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Luis Waller
Transcription

Front coverDeveloping WebServices Using CICS,WMQ, and WMBBottom-up application design andre-use of traditional codeExposing applications as WebservicesModern toolingtechniquesChris RaynsDavid CareyAndrew GardnerJenny NottAdrian Simcockibm.com/redbooks

International Technical Support OrganizationDeveloping Web Services Using CICS, WMQ, andWMBSeptember 2007SG24-7425-00

Note: Before using this information and the product it supports, read the information in“Notices” on page vii.First Edition (September 2007)This edition applies to Version 3, Release 1, CICS Transaction Server. Copyright International Business Machines Corporation 2007. All rights reserved.Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADPSchedule Contract with IBM Corp.

ContentsNotices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiTrademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiiPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixThe team that wrote this Redbooks publication . . . . . . . . . . . . . . . . . . . . . . . . . ixBecome a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xComments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiChapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Why we wrote this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Why use CICS Web services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Application Development in CICS TS3.1. . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.1 Access to CICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.2 Application transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4 WebSphere Message Broker and WMQ . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4.1 WebSphere MQ (WMQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4.2 WebSphere Message Broker (WMB) . . . . . . . . . . . . . . . . . . . . . . . . . 81.5 The Change of Address application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Chapter 2. Service-oriented architecture and CICS . . . . . . . . . . . . . . . . . . 112.1 An introduction to SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Basic components of an SOA solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3 Web services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.1 Properties of a Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.2 Web service standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.3 WS standards in CICS TS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.3.4 Implementing Web services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4 Implementing SOA on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Realizing that CICS assets can be SOA solutions . . . . . . . . . . . . . . . . . . 212.6 Access to COMMAREA programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.6.1 Access to terminal-oriented programs . . . . . . . . . . . . . . . . . . . . . . . 242.7 Channels and containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.7.1 Advantages over COMMAREAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.7.2 Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.7.3 Containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.7.4 Data conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.7.5 Migrating COMMAREA to channels and containers . . . . . . . . . . . . . 332.8 Web services support in CICS TS V3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 352.8.1 Web services assistant utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Copyright IBM Corp. 2007. All rights reserved.iii

2.8.22.8.32.8.42.8.5Deploying CICS applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36PIPELINE for message handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Message handlers for SOAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Web services resource definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 37Chapter 3. CICS as a service provider and requester . . . . . . . . . . . . . . . . 393.1 Overview of CICS as a service provider . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2 Inbound request processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3 Overview of CICS as a service requester . . . . . . . . . . . . . . . . . . . . . . . . . 423.4 Processing the outbound service request . . . . . . . . . . . . . . . . . . . . . . . . . 433.4.1 Local optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.5 CICS resources for Web services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.5.1 URIMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.5.2 PIPELINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.5.3 WEBSERVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5.4 TCPIPSERVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.5.5 Resources checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Chapter 4. Modern Web services development tools . . . . . . . . . . . . . . . . 574.1 Web services assistant in CICS TS 3.1. . . . . . . . . . . . . . . . . . . . . . . . . . . 584.1.1 Web services assistant utility programs . . . . . . . . . . . . . . . . . . . . . . 594.2 WebSphere Developer for System z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.2.1 Introducing WebSphere Developer for System z . . . . . . . . . . . . . . . 624.2.2 The Eclipse platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.2.3 The WebSphere Developer for System z Workbench . . . . . . . . . . . 644.2.4 z/OS application development tools in WD/z . . . . . . . . . . . . . . . . . . 674.2.5 Web services development scenarios. . . . . . . . . . . . . . . . . . . . . . . . 684.2.6 Enterprise Service Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.2.7 Web Services Enablement wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 70Chapter 5. Development of the Change of Address CICS application . . . 735.1 Breakdown of the CICS application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.1.1 Overview of the approach to CICS application development . . . . . . 745.1.2 Separation of presentation, business, and data logic . . . . . . . . . . . . 765.1.3 Overview of the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.1.4 Database schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.1.5 Application schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.1.6 Application functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.2 Developing the presentation logic using the BMS Editor in WD/z . . . . . . . 925.2.1 Create a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2.2 Create a new map set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.2.3 Designing the BMS map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.2.4 Creating additional maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995.3 Creating the BMS map set JCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102ivDeveloping Web Services Using CICS, WMQ, and WMB

5.3.15.3.25.3.35.3.45.3.55.3.6Establish a connection to the host . . . . . . . . . . . . . . . . . . . . . . . . . 103Filtering and data set mapping tasks . . . . . . . . . . . . . . . . . . . . . . . 104Create a z/OS Project for the map set . . . . . . . . . . . . . . . . . . . . . . 109Import map sets into the z/OS Project . . . . . . . . . . . . . . . . . . . . . . 111Create the JCL for the map set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Submit the JCL and test in CICS . . . . . . . . . . . . . . . . . . . . . . . . . . 113Chapter 6. Exposing our application as a Web service . . . . . . . . . . . . . . 1156.1 Configuration for Web service enablement . . . . . . . . . . . . . . . . . . . . . . . 1166.1.1 Creating the HFS directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166.1.2 Creating the CICS Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.1.3 Generating the WSBind and WSDL files. . . . . . . . . . . . . . . . . . . . . 1196.1.4 Installing the PIPELINE resource definitions. . . . . . . . . . . . . . . . . . 1216.1.5 Performing a scan on the PIPELINE . . . . . . . . . . . . . . . . . . . . . . . . 1226.1.6 Verifying the HFS structure just created . . . . . . . . . . . . . . . . . . . . . 1226.2 Using WD/z to generate WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236.2.1 Importing the COBOL copy book . . . . . . . . . . . . . . . . . . . . . . . . . . 1246.2.2 Running the Web Services for CICS wizard . . . . . . . . . . . . . . . . . . 1246.2.3 Creating the CICS resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306.3 Testing the Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Chapter 7. Configuring publication/subscription. . . . . . . . . . . . . . . . . . . 1597.1 Introduction to WebSphere Message Broker . . . . . . . . . . . . . . . . . . . . . 1607.1.1 Capabilities of WebSphere Message Broker . . . . . . . . . . . . . . . . . 1607.1.2 Components of WebSphere Message Broker. . . . . . . . . . . . . . . . . 1627.2 Establishing the pub/sub environment . . . . . . . . . . . . . . . . . . . . . . . . . . 1657.3 Creating the Hash Notification Message Set. . . . . . . . . . . . . . . . . . . . . . 1707.4 Creating the Publication Message Flow . . . . . . . . . . . . . . . . . . . . . . . . . 1757.5 Testing the Publication Notification Message Flow . . . . . . . . . . . . . . . . . 1787.6 Porting the Publication Notification Message Flow to System z Broker . 178Chapter 8. Developing Web service clients . . . . . . . . . . . . . . . . . . . . . . . 1818.1 Using VB Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1828.1.1 VBScript Retrieve Address Query . . . . . . . . . . . . . . . . . . . . . . . . . . 1828.1.2 VBScript code overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1838.1.3 VBScript Corporate Acknowledgement Query . . . . . . . . . . . . . . . . 1888.2 Generating a Java Client using WAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 1908.3 A client developed in WebSphere Message Broker . . . . . . . . . . . . . . . . 1968.3.1 Creating the RetrieveAddressWeb Message Flow . . . . . . . . . . . . . 196Chapter 9. Tracing the Change of Address scenario . . . . . . . . . . . . . . . . 2139.1 Collecting the traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2149.1.1 Tracing the Web service on CICS. . . . . . . . . . . . . . . . . . . . . . . . . . 2149.1.2 Tracing the Message Broker flow on distributed platforms . . . . . . . 216Contentsv

9.1.3 Tracing the Message Broker flow on System z . . . . . . . . . . . . . . . . 2179.2 The annotated trace of the scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2199.2.1 The trace through CICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2209.2.2 Tracing the Broker on System z . . . . . . . . . . . . . . . . . . . . . . . . . . . 2279.2.3 Tracing the Broker on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299.2.4 Tracing the CICS Web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339.2.5 Return to the Client Broker on Windows . . . . . . . . . . . . . . . . . . . . . 243Appendix A. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Locating the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Using the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250How to use the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261IBM Redbooks Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263viDeveloping Web Services Using CICS, WMQ, and WMB

NoticesThis information was developed for products and services offered in the U.S.A.IBM may not offer the products, services, or features discussed in this document in other countries. Consultyour local IBM representative for information on the products and services currently available in your area.Any reference to an IBM product, program, or service is not intended to state or imply that only that IBMproduct, program, or service may be used. Any functionally equivalent product, program, or service thatdoes not infringe any IBM intellectual property right may be used instead. However, it is the user'sresponsibility to evaluate and verify the operation of any non-IBM product, program, or service.IBM may have patents or pending patent applications covering subject matter described in this document.The furnishing of this document does not give you any license to these patents. You can send licenseinquiries, in writing, to:IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A.The following paragraph does not apply to the United Kingdom or any other country where suchprovisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATIONPROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS ORIMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimerof express or implied warranties in certain transactions, therefore, this statement may not apply to you.This information could include technical inaccuracies or typographical errors. Changes are periodically madeto the information herein; these changes will be incorporated in new editions of the publication. IBM maymake improvements and/or changes in the product(s) and/or the program(s) described in this publication atany time without notice.Any references in this information to non-IBM Web sites are provided for convenience only and do not in anymanner serve as an endorsement of those Web sites. The materials at those Web sites are not part of thematerials for this IBM product and use of those Web sites is at your own risk.IBM may use or distribute any of the information you supply in any way it believes appropriate withoutincurring any obligation to you.Information concerning non-IBM products was obtained from the suppliers of those products, their publishedannouncements or other publicly available sources. IBM has not tested those products and cannot confirmthe accuracy of performance, compatibility or any other claims related to non-IBM products. Questions onthe capabilities of non-IBM products should be addressed to the suppliers of those products.This information contains examples of data and reports used in daily business operations. To illustrate themas completely as possible, the examples include the names of individuals, companies, brands, and products.All of these names are fictitious and any similarity to the names and addresses used by an actual businessenterprise is entirely coincidental.COPYRIGHT LICENSE:This information contains sample application programs in source language, which illustrate programmingtechniques on various operating platforms. You may copy, modify, and distribute these sample programs inany form without payment to IBM, for the purposes of developing, using, marketing or distributing applicationprograms conforming to the application programming interface for the operating platform for which thesample programs are written. These examples have not been thoroughly tested under all conditions. IBM,therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. Copyright IBM Corp. 2007. All rights reserved.vii

TrademarksThe following terms are trademarks of the International Business Machines Corporation in the United States,other countries, or both:AIX C/370 CICS CICSPlex DB2 IBM IMS Language Environment MQSeries MVS Rational Redbooks Redbooks (logo) REXX SupportPac System z TXSeries WebSphere z/OS zSeries The following terms are trademarks of other companies:Enterprise JavaBeans, EJB, Java, JavaBeans, J2EE, and all Java-based trademarks are trademarks of SunMicrosystems, Inc. in the United States, other countries, or both.Microsoft, Visual Basic, Windows, and the Windows logo are trademarks of Microsoft Corporation in theUnited States, other countries, or both.UNIX is a registered trademark of The Open Group in the United States and other countries.Other company, product, or service names may be trademarks or service marks of others.viiiDeveloping Web Services Using CICS, WMQ, and WMB

PrefaceThis IBM Redbooks publication provides a practical demonstration of how todevelop applications that take advantage of CICS Web services facilities. Thisbook can be viewed as a follow-on from the IBM Redbooks publicationApplication Development for CICS Web Services, SG24-7126-00, with theaddition of using modern tooling techniques. Because we are creating a newapplication, we follow the bottom-up approach described in ApplicationDevelopment for CICS Web Services, SG24-7126-00. Although not arequirement, we highly recommend that you review that publication for a muchdeeper discussion of CICS Web services development topics and alternativeapproaches.The primary purpose of this book is to demonstrate that well structured CICSWeb services are easy to develop using the CICS Web services assistant. Wealso take a look at modern tooling such as WebSphere Developer for zSeries (WD/z), which the traditional mainframe developer may not have seen before. Astraditional developers we found the Eclipse-based interface to the mainframe anew and exciting way to both interact and use facilities on the mainframe.In the Redbooks publication Application Development for CICS Web Services,SG24-7126-00 we showed how to expose a CICS application, namely the CICSCatalog Manager sample application. We now take this process one step furtherby developing a CICS application from the ground up that will be CICS WebServices enabled. We initially develop this application that runs in CICS usingstandard BMS (3270) panels as an initial front-end. As the application anddisplay logic are separate, we are well placed to use the business functions asCICS Web Services creating the WSDL interface using the CICS Web servicesassistant.The team that wrote this Redbooks publicationThis book was produced by a team of specialists from around the world workingat the International Technical Support Organization, Poughkeepsie Center.David Carey is a Senior IT Advisory Specialist with the IBM Support Center inSydney, Australia, where he provides defect and non-defect support for CICS,CICSPlex/SM, the WebSphere MQ family of products, and z/OS . David hasworked in the IT industry for 27 years and has written extensively about CICSand zOS Diagnostic procedures for the ITSO. Copyright IBM Corp. 2007. All rights reserved.ix

Andrew Gardner is an IT Availability Specialist with the IBM Support Centre inCanberra Australia, where he provides specialist support in the WMQ, MessageBroker and related WBI products. Andrew holds a science degree from theUniversity of Sydney in Computer Science and Pure Mathematics. He hasworked for over 20 years in the IT industry, primarily on mainframe systems,specializing in CICS and WMQ.Jenny Nott is an IT Availability Specialist with the IBM Support Centre inSydney, Australia, where she provides defect and non-defect support for CICS,CICSPlex SM, MQSeries , and TXSeries . Jennifer has 16 years ofexperience in Information Technology, and holds an honors degree in AppliedScience from the University of NSW, majoring in Physical Geography.Adrian Simcock is a Software Engineer working at the IBM AustralianProgramming Centre in Perth, Australia. He has 20 years of experience workingwith CICS and related products for a variety of IBM internal and externalcustomer accounts. He is currently working as a developer for IBM FaultAnalyzer. He holds a degree in Electrical and Electronic Engineering fromPlymouth University.Thanks to the following people for their contributions to this project:Bob Haimowitz,Rich ConwayInternational Technical Support Organization, Poughkeepsie CenterLyn ElkinsIBM USand others who kindly reviewed this IBM Redbooks publication and offeredexcellent comments.Become a published authorJoin us for a two-to-six week residency program! Help write an IBM Redbookspublication dealing with specific products or solutions, while getting hands-onexperience with leading-edge technologies. You will have the opportunity to teamwith IBM technical professionals, Business Partners, and Clients.Your efforts will help increase product acceptance and customer satisfaction. Asa bonus, you will develop a network of contacts in IBM development labs andincrease your productivity and marketability.xDeveloping Web Services Using CICS, WMQ, and WMB

Find out more about the residency program, browse the residency index, andapply online at the following Web site:ibm.com/redbooks/residencies.htmlComments welcomeYour comments are important to us!We want our Redbooks to be as helpful as possible. Send us your commentsabout this or other Redbooks in one of the following ways: Use the online Contact us review Redbooks form found at:ibm.com/redbooks Send your comments in an email to:redbooks@us.ibm.com Mail your comments to:IBM Corporation, International Technical Support OrganizationDept. HYTD Mail Station P0992455 South RoadPoughkeepsie, NY 12601-5400Prefacexi

xiiDeveloping Web Services Using CICS, WMQ, and WMB

1Chapter 1.IntroductionIn this chapter we discuss the reasons why a large CICS site would considerusing CICS Web Services as an interface to their heritage application systems.We also give a brief overview of CICS Web Services and introduce theapplication we develop in this book. Copyright IBM Corp. 2007. All rights reserved.1

1.1 Why we wrote this bookThis book is intended to be of most use to the CICS Application Developer /Architect who needs to see a practical demonstration of how to developapplications that take advantage of CICS Web services facilities. This book canbe viewed as a follow-on from the IBM Redbooks publication ApplicationDevelopment for CICS Web Services, SG24-7126-00, with the addition of usingmodern tooling techniques. Because we are creating a new application, wefollow the bottom-up approach described in Application Development for CICSWeb Services, SG24-7126-00. Although not a requirement, we highlyrecommend that you review that publication for a much deeper discussion ofCICS Web services development topics and alternative approaches.The primary purpose of this book is to demonstrate that well structured CICSWeb Services are easy to develop using the CICS Web services assistant. Wealso take a look at modern tooling such as WebSphere Developer for zSeries(WD/z) which the traditional mainframe developer may not have seen before. Astraditional developers we found the Eclipse-based interface to the mainframe anew and exciting way to both interact and use facilities on the mainframe.In the Redbooks publication Application Development for CICS Web Services,SG24-7126-00 we showed how to expose a CICS application, namely the CICSCatalog Manager sample application. We now take this process one step furtherby developing a CICS application from the ground up that will be CICS WebServices enabled. We initially develop this application that runs in CICS usingstandard BMS (3270) panels as an initial front-end. As the application anddisplay logic are separate, we are well placed to use the business functions asCICS Web Services creating the WSDL interface using the CICS Web servicesassistant.The application we develop is a simple but new concept. It uses the publish /subscribe functionality of WebSphere Message Broker (WMB) and thereforeWMQ as a backbone. External subscribers, on receipt of a notification will invokea sequence of CICS Web Services. This application is described in 1.5, “TheChange of Address application” on page 8 and the technical implementationdetails are fully described in Chapter 5, “Development of the Change of AddressCICS application” on page 73.Above all else, we want to demonstrate that creating Web services from new andexisting CICS applications using the CICS Web services assistant is easy andworthwhile.Of course, one of the chief concerns when exposing CICS functions as Webservices is security. This is a topic that is covered at length in another Redbookspublication Securing Access to CICS Within an SOA, SG24-5756-01.2Developing Web Services Using CICS, WMQ, and WMB

1.2 Why use CICS Web servicesA great many large commercial institutions, particularly in the financial sectorhave been using CICS Transaction Server for decades now. The reasons aremany: robustness, performance, scalability, security, and so forth. The basictransaction processing heart of CICS is still the same at the API interface, butunder the covers, many new features and performance improvements areintroduced. The choice to use these new features is left entirely as a businessdecision.IBM introduced support for a number of new interfaces for technologies that didnot exist when CICS was developed. The CICS Web Interface with TCP/IPsupport is one such interface. More recently, support for CICS Web services hasbecome formally available with CICS TS V3.1. This is a very significantdevelopment for heritage CICS sites as it potentially puts their CICS applicationson an equal footing with the most recently developed and distributed Webapplications. This is because Web Services are a standard,platform-independent method of invoking a remote function. The caller has noneed to know the implementation details of the target service.However new facilities in CICS are not always keenly embraced by theselong-term CICS users. The basic CICS functionality remains the same. Indeedthere are many applications, typically CICS COBOL, that have been runninglargely unchanged for 20 years or more. As time moves on and applicationssupport skills move on, there is understandable apprehension to change workingcode to employ new functionality unless there are significant justifications to doso. With Web Services, there is ample justification to take the plunge and if theapplication is well designed, minimal changes are required to the heritage basecode.The following sections summarize the reasons that a long term CICS site shouldseriously consider adapting a large, working CICS application to enable CICSWeb Services.Competitive advantageBy having parts of existing corporate applications available outside the internalcompany intranet, clients and suppliers are enabled for electronic commerce.This is certainly not a new concept, but EDI solutions have always requiredintermediate bridging software to transform and route requests and responses.Such software was usually proprietary and required at both ends of theconnection as well as being expensive for smaller sites.Chapter 1. Introduction3

Using a standard interfaceBy using the Web services approach, a standard interface is published enablingclients and suppliers to develop their Web service clients in their own time, usingtheir own tooling, independently of the target software or platform. The quickerand easier it is for clients and suppliers to connect to the corporate Web service,the more likely they will use the Web service.Cost advantageThere are still a great many heritage applications running on mainframes notablyusing CICS (3270, Client-Server, Web, Bridge, and so on). The cost and scale ofredevelopment of these systems is overwhelming to many organizations.Enabling these established systems for Web services is highly desirable forthese sites.Employing a service oriented approach does not necessarily mean a huge outlayfor new hardware and

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corpo

Related Documents:

Taekwondo (Korean Translation): "The Art of the Hand & Feet" ALL PUNCHES- MIDDLE SECTION L FRONT R FRONT R FRONT R FRONT L FRONT L FRONT L FRONT L FRONT MIDDLE Ready Position R Foot Steps To. R Knifehand Strike R Single Inner Forearm Block L FRONT 1 2 3 R Side Kick L Outer Cresent Kick R Double Outer Forearm Block (KI BON) ONE-STEP #2 R .

Testing RESTful Web Services. Monitoring RESTful Web Services and Clients. About Monitoring RESTful Web Services7-1. Monitoring RESTful Web Services Using the Administration Console7-2. Monitoring RESTful Web Services Using WLST7-2. Enabling the Tracing Feature7-5. Disabling RESTful Web Service Application Monitoring7-6

D.Occluded Front - when a cold front overtakes a warm front. A developing cyclone typically has a preceding warm front (the leading edge of a warm moist air mass) and a faster moving cold front (the leading edge of a colder drier air mass wrapping around the storm). North of the warm front is a mass of cooler air that was in place

rear front base pairs rear front 1-pc multi-slot bases ext multi-slot bases rear front rear front anschutz . rear front base pairs rear front 1-pc multi-slot bases ext multi-slot bases rear front rear front} topper 30, 22 jet & mod 158 (pre 1973) 18 60a (48064)} handy rifle 82 (48082) herters} j9 45 (48045) 46 (48046) 402 (48108) s45 (48226 .

Occluded front: when the cold front catches the warm front As the fronts circle the low, the cold front generally moves faster If the cold front catches the warm front, we get an occluded front (or occlusion) where the two cold air masses meet schematic occluded front (purple)

Web service provisioning is the art of hosting and offering Web services from mobile devices, which actively contributes . REST-based: RESTful Web services gained much at-tention from the Web community due to their simplicity and scalability. Major Web services providers such as Google, Amazon, Yahoo, and eBay adopted the RESTful Web services .

This article explores security issues specific to Web services and illustrates the engineering and testing practices required to ensure security throughout the Web services development life cycle. Common Threats to Web Services and Web Sites A Web service is an application that can be described, published, located, and invoked over the Web. A

Providing RESTful Web Services MiServer 3.0 Page 1 of 8 A MiSite can be configured to provide RESTful web services. This document describes the steps necessary to do so. While we will cover some RESTful concepts, this is not tutorial on RESTful web services themselves - for a good overview of RESTful web services, please see