You are previewing CICS and SOA: Architecture and Integration Choices.
O'Reilly logo
CICS and SOA: Architecture and Integration Choices

Book Description

The service-oriented architecture (SOA) style of integration involves breaking an application down into common, repeatable services that can be used by other applications (both internal and external) in an organization, independent of the computing platforms on which the business and its partners rely.

In recent years CICS® has added a variety of support for SOA and now provides near seamless connectivity with other IT environments. This IBM® Redbooks® publication helps IT architects to select, plan, and design solutions that integrate CICS applications as service providers and requesters.

First, we provide an introduction to CICS service enablement and introduce the architectural choices and technologies on which a CICS SOA solution can be based.

We continue with an in-depth analysis of how to meet functional and non-functional requirements in the areas of application interface, security, transactional scope, high availability, and scalability.

Finally, we document three integration scenarios to illustrate how these technologies have been used by customers to build robust CICS integration solutions.

Table of Contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. Preface
    1. The team who wrote this book
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  4. Summary of changes
    1. Seventh Edition, March 2012
    2. Sixth Edition, October 2006
    3. Fifth Edition, February 2005
    4. Fourth Edition, October 2002
    5. Third Edition, July 2001
    6. Second Edition, March 2001
  5. Part 1 Architecture and technologies
  6. Chapter 1. Introduction to Service Enablement for CICS
    1. 1.1 SOA: An architectural approach
      1. 1.1.1 Basic components of an SOA
      2. 1.1.2 Defining a service
    2. 1.2 Web services
    3. 1.3 CICS as a platform for service enablement
      1. 1.3.1 Connector model
      2. 1.3.2 Direct model
    4. 1.4 CICS TS as a platform in the cloud
    5. 1.5 The modern CICS management experience
  7. Chapter 2. Architectural choices
    1. 2.1 CICS application architecture
    2. 2.2 Access method architecture
    3. 2.3 Application integration requirements
      1. 2.3.1 Application interface
      2. 2.3.2 Client-to-server coupling
      3. 2.3.3 Synchronous or asynchronous invocation
      4. 2.3.4 Security
      5. 2.3.5 Transactional scope
      6. 2.3.6 High availability and scalability
    4. 2.4 Integration options
      1. 2.4.1 Web services
      2. 2.4.2 JCA via CICS Transaction Gateway and WOLA
      3. 2.4.3 HTTP and Atom feeds
      4. 2.4.4 Messaging
      5. 2.4.5 TCP/IP sockets
    5. 2.5 Conclusion
  8. Chapter 3. Technology overview
    1. 3.1 CICS Web services
      1. 3.1.1 Components for CICS Web service
      2. 3.1.2 CICS resource relationships
      3. 3.1.3 CICS as a service provider application
      4. 3.1.4 CICS as a service requester application
      5. 3.1.5 Web services using WebSphere MQ as transport
      6. 3.1.6 Support for MTOM
      7. 3.1.7 Java web services using Axis2
      8. 3.1.8 Java web service topology using Axis2
    2. 3.2 CICS Transaction Gateway
      1. 3.2.1 CICS TG products
      2. 3.2.2 CICS TG for Multiplatforms
      3. 3.2.3 CICS TG Desktop Edition
      4. 3.2.4 CICS TG for z/OS
      5. 3.2.5 CICS TG for z/OS modes of operation
      6. 3.2.6 CICS TG application programming interfaces
      7. 3.2.7 CICS TG and the JCA
      8. 3.2.8 Using the CICS ECI resource adapter with different topologies
    3. 3.3 WOLA
      1. 3.3.1 What is WOLA
      2. 3.3.2 The benefit of WOLA
      3. 3.3.3 CICS and WOLA
      4. 3.3.4 How calls to CICS work with WOLA
      5. 3.3.5 How calls from CICS work with WOLA
    4. 3.4 CICS web support
      1. 3.4.1 CICS as an HTTP server
      2. 3.4.2 CICS as an HTTP client
      3. 3.4.3 Components for CICS web support
      4. 3.4.4 ATOM feeds
      5. 3.4.5 ATOM feeds in CICS
      6. 3.4.6 CICS ATOM support
    5. 3.5 WebSphere MQ
      1. 3.5.1 CICS-WebSphere MQ adapter
      2. 3.5.2 CICS integration with MQ
    6. 3.6 CICS sockets
  9. Chapter 4. Reusing CICS applications with a 3270 presentation layer
    1. 4.1 Terminal-orientated CICS applications
    2. 4.2 Technology options
      1. 4.2.1 CICS Front End Programming Interface
      2. 4.2.2 IBM Rational Host Access Transformation Services (HATS)
      3. 4.2.3 CICS Link3270 bridge
    3. 4.3 Tooling
  10. Part 2 Qualities of service
  11. Chapter 5. Application interfaces
    1. 5.1 Application interface issues
      1. 5.1.1 CICS program interfaces
      2. 5.1.2 EBCDIC message conversion
      3. 5.1.3 Service interfaces
    2. 5.2 CICS inbound access architecture
    3. 5.3 CICS outbound request architecture
    4. 5.4 Adapters
      1. 5.4.1 Message serialization adapters
      2. 5.4.2 Adapter and technology
    5. 5.5 CICS Web services
      1. 5.5.1 Transport and protocol adapters
      2. 5.5.2 Operation identification
      3. 5.5.3 Message adapters
      4. 5.5.4 XML validation
      5. 5.5.5 Binary or invalid XML messages
      6. 5.5.6 Message exchange pattern
      7. 5.5.7 Data conversion
      8. 5.5.8 Coupling considerations
    6. 5.6 CICS TG for z/OS
      1. 5.6.1 CCI programming model
      2. 5.6.2 Transport and protocol adapters
      3. 5.6.3 Operation identification
      4. 5.6.4 Message adapters
      5. 5.6.5 Message exchange pattern
      6. 5.6.6 External Call Interface (ECI)
      7. 5.6.7 EBCDIC data conversion
      8. 5.6.8 Coupling considerations
    7. 5.7 WOLA
      1. 5.7.1 Transport and protocol adapters
      2. 5.7.2 Operation identification
      3. 5.7.3 Message adapters
      4. 5.7.4 Message exchange patterns
      5. 5.7.5 EBCDIC data conversion
      6. 5.7.6 Coupling considerations
    8. 5.8 CICS web support
      1. 5.8.1 Transport and protocol adapters
      2. 5.8.2 Operation identification
      3. 5.8.3 Message adapters
      4. 5.8.4 Message exchange pattern
      5. 5.8.5 EBCDIC data conversion
      6. 5.8.6 Coupling considerations
      7. 5.8.7 REST and dynamic scripting
    9. 5.9 WebSphere MQ
      1. 5.9.1 Transport and protocol adapters
      2. 5.9.2 Operation identification
      3. 5.9.3 Message adapters
      4. 5.9.4 Message exchange pattern
      5. 5.9.5 The MQ DPL bridge client interface
      6. 5.9.6 EBCDIC data conversion
      7. 5.9.7 Coupling
    10. 5.10 CICS sockets
      1. 5.10.1 Transport and protocol adapters
      2. 5.10.2 Operation identification
      3. 5.10.3 Message adapters
      4. 5.10.4 Message exchange patterns
      5. 5.10.5 EBCDIC data conversion
      6. 5.10.6 Coupling considerations
  12. Chapter 6. Security
    1. 6.1 Security objectives
      1. 6.1.1 Measures required to secure the infrastructure
      2. 6.1.2 Barriers to implementation
    2. 6.2 Traditional CICS security
    3. 6.3 Cryptography
      1. 6.3.1 Transport Layer Security (TLS) 1.0 protocol
      2. 6.3.2 ICSF
      3. 6.3.3 Cryptographic hardware
    4. 6.4 z/OS Communications Server security
    5. 6.5 Technology comparison table
    6. 6.6 CICS Web services
      1. 6.6.1 Transport security
      2. 6.6.2 SOAP message security
      3. 6.6.3 Java-based SOAP pipeline
      4. 6.6.4 Using an SOA appliance to secure CICS Web services
      5. 6.6.5 Security considerations for CICS Web services
    7. 6.7 CICS TG for z/OS
      1. 6.7.1 JCA and security
      2. 6.7.2 CICS TG for z/OS security
      3. 6.7.3 ECI Version 2 and security
      4. 6.7.4 External Security Interface (ESI)
      5. 6.7.5 Security considerations for CICS TG
    8. 6.8 WOLA
      1. 6.8.1 Thread identity support
      2. 6.8.2 Security considerations for WOLA
    9. 6.9 CICS web support
    10. 6.10 WebSphere MQ
    11. 6.11 CICS sockets
      1. 6.11.1 Using AT-TLS
      2. 6.11.2 Listener security exit
      3. 6.11.3 Security considerations for CICS sockets
  13. Chapter 7. Transactional scope
    1. 7.1 Transactional objectives
    2. 7.2 Transactional building blocks
      1. 7.2.1 Traditional CICS units of work
      2. 7.2.2 Extended logical units of work
      3. 7.2.3 Distributed units of work
      4. 7.2.4 Asynchronous messaging transactional model
      5. 7.2.5 Compensating transactions
      6. 7.2.6 Idempotent requests
    3. 7.3 Technology comparison table
    4. 7.4 CICS Web services
      1. 7.4.1 Supported building blocks for CICS Web services
      2. 7.4.2 Transactional considerations for CICS Web services
    5. 7.5 CICS TG for z/OS
      1. 7.5.1 JCA
      2. 7.5.2 ECI v2
      3. 7.5.3 Supported building blocks for CICS TG
      4. 7.5.4 Transactional considerations for CICS TG
    6. 7.6 WOLA
      1. 7.6.1 Supported building blocks for WOLA
      2. 7.6.2 Transactional considerations for WOLA
    7. 7.7 CICS web support
      1. 7.7.1 Supported building blocks for CICS web support
      2. 7.7.2 Transactional considerations for CICS web support
    8. 7.8 WebSphere MQ
      1. 7.8.1 Supported building blocks for WebSphere MQ
      2. 7.8.2 Transactional considerations for WebSphere MQ
    9. 7.9 CICS sockets
      1. 7.9.1 Supported building blocks for CICS sockets
      2. 7.9.2 Transactional considerations for CICS sockets
  14. Chapter 8. High availability and scalability
    1. 8.1 High-availability objectives
      1. 8.1.1 IP connection balancing
      2. 8.1.2 CICSPlex SM workload manager
    2. 8.2 Scaling
    3. 8.3 CICS Web services
      1. 8.3.1 Creating an HA infrastructure
      2. 8.3.2 Scaling
      3. 8.3.3 High-availability considerations for CICS Web services
    4. 8.4 CICS TG for z/OS
      1. 8.4.1 Creating an HA infrastructure
      2. 8.4.2 Scaling
      3. 8.4.3 High-availability considerations for CICS TG
    5. 8.5 WOLA
      1. 8.5.1 Creating an HA infrastructure
      2. 8.5.2 Scaling
      3. 8.5.3 High-availability considerations for WOLA
    6. 8.6 CICS web support
      1. 8.6.1 Creating an HA infrastructure
      2. 8.6.2 Scaling
      3. 8.6.3 High-availability considerations for CICS web support
    7. 8.7 WebSphere MQ
      1. 8.7.1 Creating an HA infrastructure
      2. 8.7.2 Scaling
      3. 8.7.3 High-availability considerations for WebSphere MQ
    8. 8.8 CICS sockets
      1. 8.8.1 Creating an HA infrastructure
      2. 8.8.2 Scaling
      3. 8.8.3 High-availability considerations for CICS sockets
  15. Part 3 Integration scenarios
  16. Chapter 9. CICS Web services scenario
    1. 9.1 Objectives
    2. 9.2 Architecture
    3. 9.3 Implementation
      1. 9.3.1 Minimizing risks
      2. 9.3.2 Optimized performance and scalability
      3. 9.3.3 Simplifying configuration and infrastructure management
      4. 9.3.4 Real-time monitoring
    4. 9.4 Solution summary
  17. Chapter 10. CICS TG for z/OS scenario
    1. 10.1 Objectives
    2. 10.2 Architecture
    3. 10.3 Implementation
    4. 10.4 Solution summary
  18. Chapter 11. Messaging scenario
    1. 11.1 Objectives
    2. 11.2 Architecture
    3. 11.3 Implementation
    4. 11.4 Solution summary
  19. Part 4 Appendix
  20. Appendix A. Product capabilities
    1. Product capabilities
  21. Related publications
    1. IBM Redbooks
    2. Other publications
    3. Online resources
    4. Help from IBM
  22. Back cover