Front cover Revealed! Architecting e-business Access to CICS Provides all the information you need to design your CICS Web architecture Provides detailed technical guidance and customer scenarios Covers CICS TG, CICS Web support, SOAP for CICS feature, CICS EJB support, and Link3270 bridge Chris Rayns Pingze Gao Robert Herman Jim Hollingsworth Mark Pocock Phil Wakelin Nigel Williams ibm.com/redbooks International Technical Support Organization Revealed! Architecting e-business Access to CICS February 2005 SG24-5466-04 Note: Before using this information and the product it supports, read the information in “Notices” on pageix. Fifth Edition (February 2005) This edition applies to the following products: (cid:1) CICS Transaction Server for z/OS V2.2 and V2.3 (cid:1) CICS Transaction Gateway V5.0 © Copyright International Business Machines Corporation 1999, 2001, 2002, 2005. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Contents Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv Summary of changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Second Edition, March 2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Third Edition, July 2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Fifth Edition, February 2005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvi Fifth Edition, February 2005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Part 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. Introduction to CICS e-business. . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Transformation strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 What CICS assets can be transformed?. . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 e-business access to COMMAREA programs . . . . . . . . . . . . . . . . . . . . . . 6 1.4 e-business access to terminal-oriented programs. . . . . . . . . . . . . . . . . . . . 9 Chapter 2. Architectural choices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1 Which architecture should be used to access CICS?. . . . . . . . . . . . . . . . 12 2.2 Standard architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 J2EE Connector Architecture (JCA) . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.2 Web services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.3 Enterprise JavaBeans. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3 Standard transports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.1 WebSphere MQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.2 HTTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.3 TCP/IP Sockets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4 IBM Patterns for e-business . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Chapter 3. CICS e-business access technologies. . . . . . . . . . . . . . . . . . . 31 3.1 CICS e-business access technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.1 CICS Transaction Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.2 CICS Web support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 © Copyright IBM Corp. 1999, 2001, 2002, 2005. All rights reserved. iii 3.1.3 SOAP for CICS feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.1.4 CICS EJB support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.1.5 CICS Link3270 bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.2 Other solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2.1 WebSphere MQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2.2 WebSphere Host Integration solution. . . . . . . . . . . . . . . . . . . . . . . . 66 3.2.3 CICS sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.3 CICS e-business solution set table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Part 2. CICS Web technology decisions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Chapter 4. Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.1 Security concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2 Introduction to digital security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.1 Cryptography and digital signatures . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.2 Security technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.2.3 z990 and z890 hardware support for cryptography. . . . . . . . . . . . . . 86 4.3 CICS security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.3.1 Overview of CICS security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.3.2 Support for cipher suites in CICS . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.3.3 Building a key ring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.3.4 Activating SSL support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.4 LDAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.5 CICS Transaction Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.5.1 CICS security options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.5.2 JCA and security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.5.3 Topology decisions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.5.4 Security coordination between WebSphere and CICS. . . . . . . . . . 106 4.6 CICS Web support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.6.1 SSL support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.6.2 Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.6.3 Authorization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.6.4 Design issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.7 SOAP for CICS feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.7.1 Service provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.7.2 Service requester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.7.3 Web Services Security (WS-Security). . . . . . . . . . . . . . . . . . . . . . . 115 4.8 CICS EJB support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.8.1 SSL support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.2 Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.8.3 Authorization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.8.4 Design issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.9 Link3270 bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 iv Revealed! Architecting e-business Access to CICS Chapter 5. Transactional scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.1 Transactions: what are they? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.1.1 Transactions, tasks and syncpoints . . . . . . . . . . . . . . . . . . . . . . . . 134 5.1.2 Transactional building blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.2 CICS Transaction Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5.2.1 WebSphere Application Server transactional support. . . . . . . . . . . 142 5.2.2 Transactional coordination from WebSphere to CICS . . . . . . . . . . 149 5.3 CICS Web support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.4 SOAP for CICS feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.4.1 SOAP for CICS transactional support. . . . . . . . . . . . . . . . . . . . . . . 151 5.4.2 Web services transaction standard (WS-Transaction) . . . . . . . . . . 151 5.5 CICS EJB support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.5.1 Bean-managed transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 5.5.2 Container-managed transactions . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.6 Link3270 bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Chapter 6. Performance and scalability . . . . . . . . . . . . . . . . . . . . . . . . . . 161 6.1 The theory of performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.2 CICS Transaction Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.2.1 Application architectures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.2.2 Topology decisions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 6.3 CICS Web support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 6.3.1 Connection methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 6.4 SOAP for CICS feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 6.4.1 Throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 6.4.2 Workload balancing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 6.4.3 Transport considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 6.4.4 BTS considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 6.4.5 SSL considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 6.4.6 Design and architecture considerations . . . . . . . . . . . . . . . . . . . . . 196 6.4.7 Other performance considerations . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.5 CICS EJB support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.5.1 Improvements to support for Java in CICS TS V2.3. . . . . . . . . . . . 199 6.5.2 Recommendations for configuring to support a Java workload . . . 212 6.5.3 System limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 6.5.4 Workload balancing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 6.5.5 Network considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 6.5.6 SSL considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.6 Link3270 bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Chapter 7. Application development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.1 CICS Transaction Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.1.1 CCI application development with CICS JCA. . . . . . . . . . . . . . . . . 234 Contents v 7.1.2 WebSphere Studio Application Developer with CICS JCA. . . . . . . 237 7.1.3 Business Process Execution Language for Web Services. . . . . . . 244 7.1.4 Tool-generated versus hand-coded development. . . . . . . . . . . . . . 245 7.2 CICS Web support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 7.2.1 Web-aware/converter presentation logic. . . . . . . . . . . . . . . . . . . . . 246 7.3 SOAP for CICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 7.3.1 Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7.3.2 Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7.4 CICS EJB support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 7.4.1 Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 7.4.2 Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.4.3 Deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 7.5 CICS Link3270 bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 7.5.1 Link3270 bridge router, driver, and wrapper. . . . . . . . . . . . . . . . . . 272 7.5.2 Programming modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 7.5.3 Client design considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 7.5.4 Screen design considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 7.5.5 CICS application design considerations . . . . . . . . . . . . . . . . . . . . . 282 7.5.6 Link3270 bridge restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Chapter 8. Data conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 8.1 Data conversion basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 8.2 CICS Transaction Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 8.2.1 ECI requests: data conversion in CICS. . . . . . . . . . . . . . . . . . . . . . 298 8.2.2 ECI requests: data conversion within Java. . . . . . . . . . . . . . . . . . . 299 8.2.3 EPI applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 8.2.4 WebSphere Studio Application Developer Integration Edition . . . . 302 8.3 CICS Web support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 8.4 SOAP for CICS feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 8.4.1 Service provider: inbound pipeline . . . . . . . . . . . . . . . . . . . . . . . . . 306 8.4.2 Service requester - Outbound pipeline . . . . . . . . . . . . . . . . . . . . . . 307 8.5 CICS EJB support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 8.5.1 Data types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 8.5.2 Accessing CICS resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 8.6 Link3270 bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Part 3. Customer scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Chapter 9. Customer scenario: CICS Web support . . . . . . . . . . . . . . . . . 315 9.1 Business description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 9.2 Technology description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 9.3 Technical implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 9.4 Issues raised. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 9.5 Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 vi Revealed! Architecting e-business Access to CICS Chapter 10. Customer Scenario: SOAP for CICS feature . . . . . . . . . . . . 323 10.1 Business description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 10.2 Technology description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 10.3 Development process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 10.4 Technical implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 10.5 Issues raised. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 10.6 Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Other resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Referenced Web sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 IBM Redbooks collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Contents vii viii Revealed! Architecting e-business Access to CICS
Description: