You are previewing z/TPF Application Modernization using Standard and Open Middleware.
O'Reilly logo
z/TPF Application Modernization using Standard and Open Middleware

Book Description

In a world where product lifespans are often measured in months, the IBM® Transaction Processing Facility has remained relevant for more than four decades by continuing to process high volumes of transactions quickly and reliably. As the title of this book suggests, the z/TPF system uses open, standard interfaces to create services. Integration of new applications with existing z/TPF functions is a key factor in extending application capabilities. The ability for service data objects (SDO) to access the z/TPF Database Facility (z/TPFDF) provides a framework for data application program development that includes an architecture and application programming interfaces (APIs). SDO access to z/TPFDF provides remote client applications with access to z/TPF traditional data.

In the simplest terms, service-oriented architecture (SOA) is a means by which like, or unlike, systems can communicate with one another despite differences between each system's heritage. SOA can neutralize the differences between systems so that they understand one another. SOA support for z/TPF is a means by which z/TPF can interact with other systems that also support SOA. This book discusses various aspects of SOA in the z/TPF system, including explanations and examples to help z/TPF users implement SOA. IBM WebSphere® Application Server was chosen as the partner system as a means of demonstrating how a world class transaction server and a world class application server can work together. This book shows you how you can exploit z/TPF as a transaction server, participating in a SOA structure alongside WebSphere Application Server.

This IBM Redbooks® publication provides an introduction to z/TPF and the technologies critical to SOA. z/TPF is positioned as a provider or consumer in an SOA by supporting SOAP processing, communication bindings, and Extensible Markup Language (XML). An example is used to show how z/TPF can be used both as a Web service provider and as a consumer. A second example shows how to use WebSphere Operational Decision Management to apply business rules. A third example shows how business event processing can be incorporated in z/TPF applications. An example is also used to discuss security aspects, including z/TPF XML encryption and the z/TPF WS-Security wrapper. The main part of the book concludes with a discussion of z/TPF in an open systems environment, including examples of lightweight implementations to fit z/TPF, such as the HTTP server for the z/TPF system. The appendixes include information and examples using TPF Toolkit, sample code, and workarounds (with yes, more examples).

Table of Contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. Preface
    1. Authors
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  4. Part 1 Overview
    1. Chapter 1. An introduction to z/TPF and its role in a service-oriented architecture
      1. 1.1 Introduction
      2. 1.2 z/TPF and service-oriented architecture
      3. 1.3 z/TPF and WebSphere Application Server
      4. 1.4 Overview of z/TPF
      5. 1.5 TPF family of products
      6. 1.6 Brief history of z/TPF
      7. 1.7 Transaction
      8. 1.8 Speed and reliability, availability, and scalability
        1. 1.8.1 Speed and reliability
        2. 1.8.2 Availability
        3. 1.8.3 Scalability
      9. 1.9 z/TPF features
      10. 1.10 z/TPF analysis
        1. 1.10.1 z/TPF core features
        2. 1.10.2 z/TPF 64-bit support
        3. 1.10.3 z/TPF open development
        4. 1.10.4 z/TPF application refactoring
      11. 1.11 z/TPF summary
    2. Chapter 2. Technologies
      1. 2.1 Service-oriented architecture
        1. 2.1.1 SOA and existing applications
      2. 2.2 Web services
        1. 2.2.1 XML
        2. 2.2.2 SOAP
        3. 2.2.3 Web Services Description Language
        4. 2.2.4 Web Services Inspection Language
        5. 2.2.5 Universal Description, Description, and Integration registry
      3. 2.3 Extensible Markup Language
        1. 2.3.1 Basic XML format
        2. 2.3.2 Special characters
        3. 2.3.3 Namespace
        4. 2.3.4 XML schema and XSD
      4. 2.4 Service Data Objects
        1. 2.4.1 Service Data Object components
        2. 2.4.2 Service Data Object architecture
      5. 2.5 Leveraging zEnterprise BladeCenter Extension (zBX) for web services
  5. Part 2 z/TPF as a provider in a service-oriented architecture
    1. Chapter 3. z/TPF SOAP processing
      1. 3.1 SOAP handler
        1. 3.1.1 Web services deployment table
        2. 3.1.2 SOAP message handler
        3. 3.1.3 Web service wrapper
        4. 3.1.4 z/TPF application
        5. 3.1.5 Utility functions
        6. 3.1.6 Resource management
      2. 3.2 SOAP fault builder
      3. 3.3 SOAP message encoding
        1. 3.3.1 Character set translations
      4. 3.4 SOAP structures
    2. Chapter 4. The z/TPF communications bindings
      1. 4.1 Internet daemon
        1. 4.1.1 The Internet daemon process models in detail
      2. 4.2 SOAP over HTTP
        1. 4.2.1 Apache 2.2
        2. 4.2.2 z/TPF HTTP Server
        3. 4.2.3 z/TPF HTTP server message processing
        4. 4.2.4 z/TPF HTTP Server SOAP Message Processing
      3. 4.3 SOAP over WebSphere MQ for z/TPF
        1. 4.3.1 z/TPF WebSphere MQ overview
        2. 4.3.2 The SOAP communications binding for WebSphere MQ
        3. 4.3.3 WebSphere MQ over SSL
    3. Chapter 5. XML on z/TPF
      1. 5.1 B2B XML scanner
        1. 5.1.1 The infoNodes structure
      2. 5.2 z/TPF XML APIs
        1. 5.2.1 Processing XML documents
        2. 5.2.2 Creating XML documents
        3. 5.2.3 Creating an XML document fragment
        4. 5.2.4 Sending binary data as part of an XML document
        5. 5.2.5 Additional z/TPF XML APIs for append, insert, and modify
        6. 5.2.6 Packing and unpacking an XML structure
        7. 5.2.7 Restrictions
      3. 5.3 XML4C
      4. 5.4 z/TPF XML APIs versus XML4C
  6. Part 3 z/TPF as a Web service provider and consumer
    1. Chapter 6. z/TPF application as a Web service provider
      1. 6.1 Defining the sample Web service
      2. 6.2 Creating a SOAP message handler deployment descriptor
      3. 6.3 Creating a provider Web service deployment descriptor
      4. 6.4 Creating a Web server wrapper
      5. 6.5 Enabling z/TPF SOAP support
      6. 6.6 Deploying a SOAP message handler to the z/TPF system
      7. 6.7 Deploying a Web service to the z/TPF system
      8. 6.8 Writing a Web service wrapper for SOAP bridge support
      9. 6.9 Deploying a Web service for SOAP bridge support
    2. Chapter 7. Accessing z/TPFDF databases through SDO
      1. 7.1 Value of SDO access to z/TPFDF
      2. 7.2 Enabling SDO access
        1. 7.2.1 Enabling SDO access for z/TPFDF
        2. 7.2.2 Enabling SDO on the client system
      3. 7.3 SDO examples
        1. 7.3.1 Example credit database
        2. 7.3.2 Example 1: Displaying purchases above $100.00
        3. 7.3.3 Example 2: Adding and updating security information
    3. Chapter 8. z/TPF SOAP consumer processing
      1. 8.1 SOAP consumer support
      2. 8.2 SOAP consumer support components
      3. 8.3 SOAP consumer message encoding support
      4. 8.4 Understanding the z/TPF SOAP consumer APIs
      5. 8.5 Setting up SOAP consumer communications handlers
        1. 8.5.1 Using Hypertext Transfer Protocol
        2. 8.5.2 Using z/TPF WebSphere MQ
        3. 8.5.3 Using the z/TPF-to-z/TPF transport
        4. 8.5.4 Using the z/TPF local transport
        5. 8.5.5 Using a user-specific transport
    4. Chapter 9. Using a z/TPF application as a Web service SOAP consumer
      1. 9.1 Creating a consumer Web service
      2. 9.2 Creating a SOAP message handler deployment descriptor
      3. 9.3 Creating a consumer Web service deployment descriptor
      4. 9.4 Creating or changing an application to use SOAP consumer support
      5. 9.5 Creating a Web service stub
        1. 9.5.1 Web service stub request processing
        2. 9.5.2 Web service stub response processing
        3. 9.5.3 Web service stub fault processing
      6. 9.6 SOAP message handler response processing for a consumer Web service
      7. 9.7 SOAP message handler fault processing for a consumer Web service
      8. 9.8 Deploying a SOAP message handler to the z/TPF system
      9. 9.9 Deploying a consumer Web service to the z/TPF system
  7. Part 4 SOA consumer
    1. Chapter 10. Using WebSphere Operational Decision Management to apply business rules
      1. 10.1 The sample application
      2. 10.2 Converting the application to use business rules
        1. 10.2.1 Step 1. Creating an XML data representations of the parameters
        2. 10.2.2 Step 2. Generating the programming artifacts from XML
        3. 10.2.3 Step 3. Creating the Java execution object model (XOM)
        4. 10.2.4 Step 4. Creating a Ruleset (Rule Project)
        5. 10.2.5 Step 5. Deploy the RuleApp and Rule Request Server
        6. 10.2.6 Step 6. Create a RuleApp descriptor for z/TPF
        7. 10.2.7 Step 7. Deploy XML descriptors to z/TPF
        8. 10.2.8 Step 8. Update z/TPF application to call the business rule
    2. Chapter 11. Business event processing
      1. 11.1 Business event processing
        1. 11.1.1 Business event processing architecture
        2. 11.1.2 How business event processing can help your business
      2. 11.2 z/TPF and business event processing
      3. 11.3 How z/TPF event processing works
      4. 11.4 Business event deployment descriptors
        1. 11.4.1 Business event specification
        2. 11.4.2 Business event dispatch adapter specification
      5. 11.5 Common deployment
        1. 11.5.1 Common deployment rules and conventions
      6. 11.6 Enrichment program
      7. 11.7 Business event dispatch queue
        1. 11.7.1 Queue depth considerations
        2. 11.7.2 Message length considerations
        3. 11.7.3 Loosely coupled considerations
        4. 11.7.4 Dispatch adapters
      8. 11.8 Business event data format
        1. 11.8.1 tpf_bev_info
        2. 11.8.2 Common Base Event format
        3. 11.8.3 Element and attribute details
        4. 11.8.4 Example
      9. 11.9 Business event processing monitor
      10. 11.10 Enabling business event processing
      11. 11.11 Using business event processing
        1. 11.11.1 Before you begin
        2. 11.11.2 Processing business events
        3. 11.11.3 Results
        4. 11.11.4 What to do next
      12. 11.12 Removing a loosely coupled processor
  8. Part 5 Security
    1. Chapter 12. z/TPF XML encryption
      1. 12.1 Web services security
      2. 12.2 Data confidentiality for web services
      3. 12.3 WS-Security
      4. 12.4 Key aliases and client identification
      5. 12.5 SOAP message handler extension file
        1. 12.5.1 SOAP message handler extension program
      6. 12.6 Schema
      7. 12.7 XML path language expressions supported by the z/TPF system
    2. Chapter 13. z/TPF WS-Security wrapper
      1. 13.1 Sample XML files
        1. 13.1.1 SOAP provider files
        2. 13.1.2 SOAP message handlers
        3. 13.1.3 SOAP consumer files
        4. 13.1.4 Sample XML messages
        5. 13.1.5 CalculatorService provider response before encryption
        6. 13.1.6 CalculatorService provider response after encryption
      2. 13.2 Client identification (cwscue.c)
      3. 13.3 Key mapping
        1. 13.3.1 Decrypting inbound SOAP requests
        2. 13.3.2 Encrypting outbound SOAP responses
        3. 13.3.3 Mapping the key alias to real key name
      4. 13.4 SOAP message handler extension file
        1. 13.4.1 Consumer extension file
        2. 13.4.2 Provider extension file
      5. 13.5 WS-Addressing SOAP message handler
        1. 13.5.1 Outbound requests
        2. 13.5.2 Outbound responses
        3. 13.5.3 Changing the wsa-addressing
      6. 13.6 SOAP message handler extension program processing for a Web service deploy request
        1. 13.6.1 SOAP message handler extension program for WS-Security (cwsx.c)
      7. 13.7 WS-Security Deployment
        1. 13.7.1 Deploy the WS-Security SOAP message handler
        2. 13.7.2 Deploying the WS-Addressing.xml SOAP message handler
        3. 13.7.3 Deploying the web service provider and consumer
      8. 13.8 Generating keys
      9. 13.9 Running the application
  9. Part 6 z/TPF in open systems
    1. Chapter 14. Porting open system applications to a z/TPF system
      1. 14.1 Open system Internet protocols support
        1. 14.1.1 File Transfer Protocol client and server support
        2. 14.1.2 Trivial File Transfer Protocol server support
        3. 14.1.3 Hypertext Transfer Protocol server support
      2. 14.2 Lightweight Directory Access Protocol
        1. 14.2.1 LDAP directories
        2. 14.2.2 Benefits of LDAP in a z/TPF environment
      3. 14.3 Structured Query Language
        1. 14.3.1 LAMP
        2. 14.3.2 Benefits of SQL on z/TPF
      4. 14.4 Character conversion
    2. Chapter 15. z/TPF Internet mail server
      1. 15.1 z/TPF Internet mail server overview
      2. 15.2 z/TPF Internet mail server configuration files
        1. 15.2.1 SMTP server configuration file
        2. 15.2.2 IMAP and POP server configuration file
        3. 15.2.3 z/TPF-unique configuration information file
        4. 15.2.4 z/TPF mail server access list configuration file
        5. 15.2.5 Aliases configuration file
      3. 15.3 z/TPF Internet mail server administration
        1. 15.3.1 Controlling the z/TPF Internet mail server
        2. 15.3.2 Managing client mailboxes
        3. 15.3.3 z/TPF Internet mail server email administration
      4. 15.4 z/TPF Internet mail server client
    3. Chapter 16. z/TPF HTTP client support
      1. 16.1 Support overview
        1. 16.1.1 Connection modes
        2. 16.1.2 Response modes
        3. 16.1.3 HTTP client daemon
      2. 16.2 Application programming interfaces
      3. 16.3 Using the APIs
        1. 16.3.1 Single ECB request mode
        2. 16.3.2 Multiple ECB request mode
        3. 16.3.3 Shared sessions
        4. 16.3.4 Asynchronous responses
      4. 16.4 Examples
    4. Chapter 17. Additional examples of z/TPF in an SOA environment
      1. 17.1 z/TPF, SOA, and existing applications
      2. 17.2 The value of SOA
        1. 17.2.1 A word about z/TPF
      3. 17.3 z/TPF, SOA, and new applications
        1. 17.3.1 z/TPF value
        2. 17.3.2 z/TPF and new designs
      4. 17.4 z/TPF and SOA summary
  10. Part 7 Appendixes
    1. Appendix A. Using the IBM TPF Toolkit to build projects and load them to the runtime system
      1. Basic work environment
      2. Creating a book project
      3. Creating the directory and source files using the shell
      4. Adding content to the files
      5. Creating the makeTPF configuration and control files
    2. Appendix B. Using the IBM TPF Toolkit web services tooling to create and deploy a web service
      1. Creating the WSDL file
      2. Creating the provider web service deployment descriptor file
      3. Deploying the provider web service
      4. Testing the provider web service
    3. Appendix C. The IBM TPF Toolkit and z/TPF Debugger Tools
      1. z/TPF debugger registration
      2. The z/TPF debugger interface
      3. z/TPF Debugger problem determination methodology example
      4. Using the z/TPF Debugger dump viewer to debug application dumps
      5. The ECB Monitor subsystem
      6. The ECB Launcher subsystem
      7. The IBM TPF Toolkit and the z/TPF Performance Analyzer
      8. The IBM TPF Toolkit and the z/TPF Code Coverage Tool
    4. Appendix D. TPF Toolkit wizards for WebSphere Operational Decision Management and Business Events
      1. The IBM TPF Toolkit Common Deployment Wizard
      2. IBM TPF Toolkit WebSphere Operational Decision Management Wizards
      3. IBM TPF Toolkit business events wizards
    5. Appendix E. XML file for SDO examples
    6. Appendix F. Workarounds
      1. Invalid heap address
      2. Compile errors from c_node.h
      3. MakeTPF error MTPF0006E during build
  11. Related publications
    1. IBM Redbooks
    2. Online resources
    3. Help from IBM
  12. Back cover