Cics Container

download Cics Container

of 238

  • date post

    27-Nov-2014
  • Category

    Documents

  • view

    307
  • download

    2

Embed Size (px)

Transcript of Cics Container

Front cover

CICS Transaction Server V3R1 Channels and Containers RevealedConverting a COMMAREA based application to use channels and containers Configuring systems, including sample application Simplifying process for code page conversion

Chris Rayns Pietro De Angelis Steve Burghard David Carey Scott Clee Peter Klein Erhard Woerner

ibm.com/redbooks

International Technical Support Organization CICS Transaction Server V3 R1 Channels and Containers Revealed September 2006

SG24-7227-00

Note: Before using this information and the product it supports, read the information in Notices on page vii.

First Edition (September 2006) This edition applies to Version 3, Release 1 of CICS Transaction Server for z/OS, product number 5655-M15, and to all subsequent versions, releases, and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product. Copyright International Business Machines Corporation 2006. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

ContentsNotices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix The team that wrote this IBM Redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Chapter 1. Introduction to channels and containers . . . . . . . . . . . . . . . . . . 1 1.1 Communication area for data passing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 The requirement for change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Memory constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 Flexibility of the channels and containers approach . . . . . . . . . . . . . . 4 1.3 COMMAREA constraints and alternate solutions . . . . . . . . . . . . . . . . . . . . 5 1.3.1 COMMAREA size limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.2 Methods of passing COMMAREA data larger than 32 KB . . . . . . . . . 6 1.3.3 The evolution of the 32 KB COMMAREA . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Channels and containers concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4.1 General concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4.2 Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.3 Containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.4 Channels and business transaction services . . . . . . . . . . . . . . . . . . 16 1.4.5 Channels and CICS Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.6 Data conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.5 Benefits of using channels and containers . . . . . . . . . . . . . . . . . . . . . . . . 19 1.6 Migrating COMMAREA to channels and containers . . . . . . . . . . . . . . . . . 20 Chapter 2. Application design and implementation. . . . . . . . . . . . . . . . . . 23 2.1 Container usage as a replacement to COMMAREAs . . . . . . . . . . . . . . . . 24 2.1.1 Basic COMMAREA example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.2 Basic channel example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.1.3 Channel name character set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.1.4 Creating a channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.2 Flexible way to pass multiple pieces of data . . . . . . . . . . . . . . . . . . . . . . . 30 2.2.1 COMMAREA solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.2 Channel solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3 Overloaded COMMAREAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4 STARTBROWSE application programming interface . . . . . . . . . . . . . . . . 36 2.5 Channels and containers in called subroutines. . . . . . . . . . . . . . . . . . . . . 38

Copyright IBM Corp. 2006. All rights reserved.

iii

2.6 Data conversion and code page conversion . . . . . . . . . . . . . . . . . . . . . . . 39 2.6.1 Data conversion with channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.6.2 How to cause CICS to convert data automatically . . . . . . . . . . . . . . 40 2.6.3 Using containers to do code page conversion . . . . . . . . . . . . . . . . . 42 2.6.4 SOAP example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.6.5 File example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6.6 Command-level interpreter CICS-supplied transaction example . . . 45 2.7 Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.8 Dynamic routing application considerations . . . . . . . . . . . . . . . . . . . . . . . 48 2.8.1 COMMAREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.8.2 Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.9 Best practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.9.1 Designing a channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.9.2 Naming a channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.9.3 Migrating from COMMAREAs to channels . . . . . . . . . . . . . . . . . . . . 54 Chapter 3. Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.1 EXEC CICS application programming interface . . . . . . . . . . . . . . . . . . . . 60 3.1.1 Creating a channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.1.2 Placing data in a container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.1.3 Passing a channel to another program or task . . . . . . . . . . . . . . . . . 62 3.1.4 Receiving the current channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.1.5 Getting data from a container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.1.6 Browsing the current channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.1.7 Deleting a container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.1.8 Moving containers between channels . . . . . . . . . . . . . . . . . . . . . . . . 68 3.2 CICS Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.2.1 Creating channels and containers in JCICS . . . . . . . . . . . . . . . . . . . 69 3.2.2 Placing data in a container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.2.3 Passing a channel to another program or task . . . . . . . . . . . . . . . . . 70 3.2.4 Receiving the current channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2.5 Getting data from a container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2.6 Browsing the current channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.2.7 Browsing a name channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.2.8 Deleting a container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.2.9 Code page considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.3 Business transaction services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.3.1 Application components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.3.2 Channel and container options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.4 Web services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.4.1 Using channels and containers in CICS Web services . . . . . . . . . . . 86 3.4.2 APAR - PK15904 on CICS Transaction Server version 3.1 . . . . . . . 88 3.4.3 APAR - PK23547 on CICS Transaction Server version 3.1 . . . . . . . 88

iv

CICS Transaction Server V3 R1 Channels and Containers Revealed

Chapter 4. Systems management and configuration . . . . . . . . . . . . . . . . 89 4.1 Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.2 The DFHROUTE container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.3 Code page conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.3.1 Simple code page conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.3.2 z/OS Unicode conversion services . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.4 Performance considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.4.2 Performance data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.5 Monitoring and statistics . . . .