You are previewing The Next Generation of Distributed IBM CICS.
O'Reilly logo
The Next Generation of Distributed IBM CICS

Book Description

This IBM® Redbooks® publication describes IBM TXSeries® for Multiplatforms, which is the premier IBM distributed transaction processing software for business-critical applications. Before describing distributed transaction processing in general, we introduce the most recent version of TXSeries for Multiplatforms. We focus on the following areas:

  • The technical value of TXSeries for Multiplatforms

  • New features in TXSeries for Multiplatforms

  • Core components of TXSeries

  • Common TXSeries deployment scenarios

  • Deployment, development, and administrative choices

  • Technical considerations


  • It also demonstrates enterprise integration with products, such as relational database management system (RDBMS), IBM WebSphere® MQ, and IBM WebSphere Application Server. In addition, it describes system customization, reviewing several features, such as capacity planning, backup and recovery, and high availability (HA).

    We describe troubleshooting in TXSeries. We also provide details about migration from version to version for TXSeries. A migration checklist is included.

    We demonstrate a sample application that we created, called BigBlueBank, its installation, and the server-side and client-side programs. Other topics in this book include application development and system administration considerations.

    This book describes distributed IBM Customer Information Control System (IBM CICS®) solutions, and how best to develop distributed CICS applications.

    Table of Contents

    1. Front cover
    2. Notices
      1. Trademarks
    3. IBM Redbooks promotions
    4. Preface
      1. Authors
        1. Now you can become a published author, too
        2. Comments welcome
    5. Chapter 1. Introduction to IBM TXSeries for Multiplatforms
      1. 1.1 Overview of TXSeries for Multiplatforms
        1. 1.1.1 Basic view of TXSeries
        2. 1.1.2 Practical uses
        3. 1.1.3 Objective of this book
        4. 1.1.4 Achieving the objective
      2. 1.2 Introduction to distributed transaction processing
      3. 1.3 Key features of TXSeries for Multiplatforms
        1. 1.3.1 Enhanced platform coverage
        2. 1.3.2 Improved operational efficiency
        3. 1.3.3 Enhanced security
        4. 1.3.4 Enhanced enterprise integration
        5. 1.3.5 Serviceability enhancements
        6. 1.3.6 Integration and connectivity
        7. 1.3.7 Interoperability between CICS regions over TCP/IP
        8. 1.3.8 Reliability, scalability, and availability
        9. 1.3.9 System Resiliency
      4. 1.4 Technical value of TXSeries for Multiplatforms
      5. 1.5 Core components of TXSeries
        1. 1.5.1 Entry-level CICS online transaction processing
        2. 1.5.2 Integrated CICS Structured File Server
      6. 1.6 Common TXSeries deployment scenarios
        1. 1.6.1 TXSeries as a rapid deployment transactional integration server
        2. 1.6.2 TXSeries as a transaction server
      7. 1.7 Deployment, development, and administration choices
        1. 1.7.1 Deployment choices
        2. 1.7.2 Development choices
        3. 1.7.3 Administration choices
      8. 1.8 Conclusion
    6. Chapter 2. IBM TXSeries environment
      1. 2.1 TXSeries environment
      2. 2.2 TXSeries region
      3. 2.3 TXSeries clients
      4. 2.4 File Manager
      5. 2.5 Resource manager access
      6. 2.6 Access to other CICS systems
      7. 2.7 Conclusion
    7. Chapter 3. Developing distributed IBM CICS applications
      1. 3.1 Preparation
        1. 3.1.1 The CICS region
      2. 3.2 Development environment for Windows
        1. 3.2.1 Language environment
        2. 3.2.2 Resource manager
        3. 3.2.3 Client
        4. 3.2.4 System configuration: Networking
      3. 3.3 Development environment for UNIX
        1. 3.3.1 Language environment
        2. 3.3.2 Resource manager
        3. 3.3.3 Client
      4. 3.4 Client deployment models
        1. 3.4.1 3270 terminals
        2. 3.4.2 CICS Transaction Gateway
        3. 3.4.3 Java clients
        4. 3.4.4 Secured sessions for TCP/IP clients
        5. 3.4.5 Telnet clients (TN3270)
        6. 3.4.6 IP socket clients
      5. 3.5 Overview of resource managers
        1. 3.5.1 Resource managers in a distributed transaction processing model
        2. 3.5.2 XA environment versus non-XA environment
        3. 3.5.3 The switch-load file
        4. 3.5.4 Configuring WebSphere MQ
        5. 3.5.5 WebSphere MQ and IBM COBOL
        6. 3.5.6 WebSphere MQ and C
        7. 3.5.7 WebSphere MQ triggers
        8. 3.5.8 DB2
        9. 3.5.9 Oracle
        10. 3.5.10 CICS on z/OS
      6. 3.6 Object-oriented programming under TXSeries
      7. 3.7 TXSeries server programming in Java
        1. 3.7.1 Introduction
        2. 3.7.2 TXSeries and Java virtual machine
        3. 3.7.3 Performance considerations
        4. 3.7.4 JCICS
        5. 3.7.5 Exception handling
        6. 3.7.6 Components involved
        7. 3.7.7 JCICS class hierarchy
        8. 3.7.8 Setting up CICS for running Java under TXSeries
        9. 3.7.9 Problem determination
        10. 3.7.10 Configuring JVM under TXSeries
        11. 3.7.11 Debugging
        12. 3.7.12 Hints and tips
      8. 3.8 CICS server programming in C++
        1. 3.8.1 Introduction
        2. 3.8.2 IBM CICS Foundation Classes
        3. 3.8.3 Components involved
        4. 3.8.4 CICS Foundation Class library
        5. 3.8.5 Running CICS Foundation Classes under TXSeries
        6. 3.8.6 Problem determination
        7. 3.8.7 Debugging
      9. 3.9 Offline batch programming
        1. 3.9.1 Enabling IBM COBOL applications to access SFS files
    8. Chapter 4. Enterprise integration
      1. 4.1 TXSeries and relational database management systems
        1. 4.1.1 Configuring TXSeries for use with an RDBMS
        2. 4.1.2 Example of XA definition with TXSeries for IBM AIX
      2. 4.2 TXSeries and IBM WebSphere MQ
        1. 4.2.1 Configuring TXSeries for use with WebSphere MQ
        2. 4.2.2 Deploying WebSphere MQ trigger monitor in CICS
      3. 4.3 TXSeries and CICS host
        1. 4.3.1 TXSeries intersystem communication facilities
        2. 4.3.2 TXSeries and local SNA configuration
        3. 4.3.3 TXSeries and PPC Gateway server SNA configuration
        4. 4.3.4 TXSeries communication to CICS host over IPIC
      4. 4.4 TXSeries and TXSeries
        1. 4.4.1 TXSeries and TCP/IP configuration
        2. 4.4.2 TXSeries and CICS Family TCP/IP configuration
      5. 4.5 TXSeries and intersystem security
        1. 4.5.1 Authenticating systems across CICS TCP/IP connections
        2. 4.5.2 Authenticating systems across PPC TCP/IP connections
        3. 4.5.3 Authenticating systems across SNA connections
        4. 4.5.4 Authenticating systems across PPC Gateway connections
        5. 4.5.5 Authenticating systems across IPIC connections
        6. 4.5.6 CICS link security
        7. 4.5.7 CICS user security
      6. 4.6 Access TXSeries CICS programs as web services
        1. 4.6.1 Accessing TXSeries web services using the native inbound SOAP support
        2. 4.6.2 Overview of IBM WebSphere Application Server
        3. 4.6.3 Overview of CICS Transaction Gateway
        4. 4.6.4 WebSphere Application Server and CICS TG configuration
        5. 4.6.5 Configuring WebSphere Application Server
        6. 4.6.6 Accessing TXSeries server programs as web services
      7. 4.7 TXSeries and Internet Inter-ORB Protocol
      8. 4.8 TXSeries and non-CICS applications
      9. 4.9 TXSeries and Host Access Transformation Services
      10. 4.10 Security
        1. 4.10.1 External authentication manager
        2. 4.10.2 Lightweight Directory Access Protocol configuration
        3. 4.10.3 Resource Access Control Facility integration
        4. 4.10.4 The structure of TXSeries and the external authentication manager component
    9. Chapter 5. System customization
      1. 5.1 Introduction to capacity planning
        1. 5.1.1 Scalability
        2. 5.1.2 Factors that affect capacity estimates
        3. 5.1.3 Methodology
      2. 5.2 Backup and recovery
        1. 5.2.1 Transaction backup and recovery
        2. 5.2.2 Asynchronous data backup and recovery
        3. 5.2.3 Configuration backup and recovery
      3. 5.3 High-availability solution
        1. 5.3.1 Overview of IBM High Availability Cluster Multi-processing software and terminology
        2. 5.3.2 CICS in the HACMP environment
        3. 5.3.3 A demonstration concept of TXSeries in HACMP
        4. 5.3.4 TXSeries and high availability: Manual testing
      4. 5.4 User exits
        1. 5.4.1 User exits principle
        2. 5.4.2 User exit chaining
        3. 5.4.3 Implementing user exits
      5. 5.5 Monitoring and statistics
        1. 5.5.1 CICS statistics
        2. 5.5.2 CICS monitoring facility
        3. 5.5.3 Programming to collect monitoring and statistics information
        4. 5.5.4 Monitoring TXSeries using IBM Tivoli Monitoring
        5. 5.5.5 Transaction tracking
    10. Chapter 6. Troubleshooting
      1. 6.1 Common methodology
        1. 6.1.1 Determining the source of the problem
        2. 6.1.2 Solving the problem
      2. 6.2 TXSeries problem determination
        1. 6.2.1 Introduction to problem determination
        2. 6.2.2 Sources of information
        3. 6.2.3 Dealing with abnormal terminations
        4. 6.2.4 Distinguishing between loops, poor performance, and waits
        5. 6.2.5 Dealing with waits
        6. 6.2.6 Dealing with loops
        7. 6.2.7 Dealing with performance problems
        8. 6.2.8 Dealing with unanticipated output
        9. 6.2.9 Dealing with storage violations
        10. 6.2.10 Dealing with memory and file descriptor leaks
        11. 6.2.11 Dealing with problems involving the operating system
        12. 6.2.12 Resolving problems with CICS clients
        13. 6.2.13 Using traces in problem determination
        14. 6.2.14 Using dumps in problem determination
        15. 6.2.15 Working with your support organization to solve your problem
      3. 6.3 Debugging application programs
        1. 6.3.1 CICS-supplied transactions for debugging CICS applications
        2. 6.3.2 CICS execution diagnostic facility
        3. 6.3.3 Debugging CICS applications using IBM distributed debugger
      4. 6.4 Common issues
        1. 6.4.1 Determining the installed version of TXSeries
        2. 6.4.2 Analyzing ASRA abends
        3. 6.4.3 Analyzing A147 abends
    11. Chapter 7. Upgrading to the latest version of TXSeries
      1. 7.1 Migration guidelines
      2. 7.2 Migrating BigBlueBank system
        1. 7.2.1 First steps of migration
        2. 7.2.2 Preparing the systems for migration
        3. 7.2.3 Migrating File Manager (SFS) data
        4. 7.2.4 Migrating resource manager (IBM DB2) data
        5. 7.2.5 Configuring resource manager (WebSphere MQ)
        6. 7.2.6 Exporting and importing the region data
        7. 7.2.7 Migrating CICS regions
        8. 7.2.8 Configuring region environment and resource definition files
        9. 7.2.9 Preparing the switch-load module
        10. 7.2.10 External modules
        11. 7.2.11 Preparing language run time
        12. 7.2.12 Batch applications
        13. 7.2.13 CICS applications
        14. 7.2.14 Configuring the client
        15. 7.2.15 Starting the TXSeries CICS regions
        16. 7.2.16 Problems during migration
        17. 7.2.17 Connecting to BigBlueBank
      3. 7.3 Migration checklist
      4. 7.4 Migration issues with BigBlueBank
        1. 7.4.1 Unable to start the CICS region
    12. Chapter 8. The BigBlueBank sample application
      1. 8.1 The BigBlueBank application
        1. 8.1.1 A note on development language choice
      2. 8.2 Installing the BigBlueBank sample application
        1. 8.2.1 AIX
      3. 8.3 Server-side programs
      4. 8.4 Client-side programs
    13. Chapter 9. Application development and administration choices
      1. 9.1 Application development considerations
      2. 9.2 Application design considerations
        1. 9.2.1 Dividing applications into components
        2. 9.2.2 Error handling within applications
        3. 9.2.3 Separating program components
        4. 9.2.4 Reusing business logic
        5. 9.2.5 Avoiding conversational programs
        6. 9.2.6 Choosing the correct data storage
      3. 9.3 Application programming considerations
        1. 9.3.1 RETURN IMMEDIATE
        2. 9.3.2 SYNCPOINT on RETURN
        3. 9.3.3 Implementing COBOL CALL or C routines
        4. 9.3.4 NULL fill communication areas before use
        5. 9.3.5 Keeping logical unit of work short
        6. 9.3.6 Updating resources close to a sync point
        7. 9.3.7 Minimizing enquiry character times
        8. 9.3.8 Minimizing terminal traffic
        9. 9.3.9 Checking for errors
        10. 9.3.10 Avoiding deadlock
        11. 9.3.11 Avoiding CICS reserved letters and names
        12. 9.3.12 Avoiding writing to CICS log files (CSMT/console)
        13. 9.3.13 Thread safety
        14. 9.3.14 Considerations for programming in C and C++
        15. 9.3.15 Considerations for programming in COBOL
        16. 9.3.16 Disabling execution diagnostic facility (EDF)
      4. 9.4 System administration considerations
        1. 9.4.1 Choice of Virtual Storage Access Method
        2. 9.4.2 CICS application considerations
        3. 9.4.3 CICS region administration considerations
    14. Chapter 10. Enable IBM TXSeries applications as JSON web services for mobile workloads
      1. 10.1 Introduction
        1. 10.1.1 TXSeries support for mobile technologies
        2. 10.1.2 TXSeries JSON web services using CICS TG V9.1
      2. 10.2 Solution architecture
        1. 10.2.1 Approaches to enabling JSON web services with TXSeries
        2. 10.2.2 A Big picture
      3. 10.3 Setting up and configuring an existing TXSeries program as a JSON web service
        1. 10.3.1 Reviewing the sample TXSeries program
        2. 10.3.2 Configure the TXSeries region
        3. 10.3.3 Generate JSON Schema and BIND files
        4. 10.3.4 Configure CICS Transaction Gateway for JSON web services
        5. 10.3.5 Testing the exposed TXSeries JSON web service
      4. 10.4 References
    15. Chapter 11. Migrating Oracle Tuxedo applications with IBM Migration Assistant
      1. 11.1 IBM Migration Assistant for Oracle Tuxedo
        1. 11.1.1 Capabilities
        2. 11.1.2 Components
      2. 11.2 Advantages of using the IBM Migration Assistant for Oracle Tuxedo
        1. 11.2.1 Reduce costs
        2. 11.2.2 Future-proof investments to support business expansion
      3. 11.3 Four-step migration process
        1. 11.3.1 Analyze migration ready applications
        2. 11.3.2 Build and deploy client applications
        3. 11.3.3 Build and deploy server applications
        4. 11.3.4 Verifying deployed programs
        5. 11.3.5 The four-step checkpoint for migration
    16. Appendix A. Systems Network Architecture: Configuration details
      1. Systems Network Architecture (SNA) definition checklist
      2. IBM Communication Server configuration file on AIX
      3. IBM Communications Server configuration file on Windows
    17. Appendix B. Additional material
      1. Locating the web material
      2. Using the web material
    18. Related publications
      1. IBM Redbooks
      2. Other publications
      3. Online resources
      4. Stay connected with TXSeries
      5. How to get IBM Redbooks
      6. Help from IBM
    19. Back cover