Reliable Transaction Router
Application Programmer's Reference Manual


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Reliable Transaction Router Concepts
Chapter 2 Overview of the Portable API
Chapter 3 RTR Call Reference
Appendix A Comparison of Portable and OpenVMS APIs
Appendix B RTR Application Development Tutorial
  Index
  Figures
  Examples
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Reliable Transaction Router Concepts
     1.1     The Three Layer Model
     1.2     RTR Facilities
     1.3     The Partitioned Data Model
     1.4     Transaction Integrity
         1.4.1         The ACID Properties of Transactions
         1.4.2         Two-Phase Commit
         1.4.3         XA Support
         1.4.4         RTR Implementation for Transaction Integrity
     1.5     Broadcasts
     1.6     Reliability Features
         1.6.1         Concurrent Servers
         1.6.2         Standby Servers
         1.6.3         Shadow Servers
         1.6.4         Callout Servers
         1.6.5         Router Failover
             1.6.5.1             Backend Restart Recovery
             1.6.5.2             Transaction Message Replay
             1.6.5.3             Link Failure Recovery
     1.7     Flexibility and Growth
     1.8     Failure Scenarios
         1.8.1         Loss of a Backend CPU
         1.8.2         Loss of a Router
         1.8.3         Loss of a Frontend
     1.9     RTR Application Programming Interface
Chapter 2
2 Overview of the Portable API
     2.1     Transactional Messages
     2.2     RTR Channels
     2.3     Broadcast Messages and Events
     2.4     Portable API Calls
     2.5     Programming Examples
         2.5.1         Simple Client
         2.5.2         Simple Server
     2.6     Using the Portable API
     2.7     Concurrency
     2.8     Using the RTR Set Wakeup Routine
     2.9     API Optimizations
         2.9.1         Client Optimization
         2.9.2         Voting Optimization and Server Flags
             2.9.2.1             The RTR_F_OPE_EXPLICIT_PREPARE Flag
             2.9.2.2             The RTR_F_OPE_EXPLICIT_ACCEPT Flag
     2.10     RTR Messages
     2.11     RTR Events
         2.11.1         RTR Event Numbers
         2.11.2         Developing Applications to Use Events
         2.11.3         Event Management by RTR
         2.11.4         Event Troubleshooting
     2.12     Nested Transactions
     2.13     Recovery for Foreign Transaction Managers
     2.14     Use of XA Support
     2.15     RTR Applications in a Multiplatform Environment
         2.15.1         Defining a Message Format
     2.16     Application Design and Tuning Issues
         2.16.1         Transactions that Can Cause Server Failure
         2.16.2         Transaction Grouping and Database Applications
         2.16.3         Transaction Sequence and Shadow Servers
         2.16.4         Transaction Independence
Chapter 3
3 RTR Call Reference
     3.1     RTR Environmental Limits
     3.2     RTR Calls
    Command 1     rtr_accept_tx
    Command 2     rtr_broadcast_event
    Command 3     rtr_close_channel
    Command 4     rtr_error_text
    Command 5     rtr_get_tid
    Command 6     rtr_open_channel
    Command 7     rtr_prepare_tx
    Command 8     rtr_receive_message
    Command 9     rtr_reject_tx
    Command 10     rtr_reply_to_client
    Command 11     rtr_request_info
    Command 12     rtr_send_to_server
    Command 13     rtr_set_info
    Command 14     rtr_set_user_handle
    Command 15     rtr_set_wakeup
    Command 16     rtr_start_tx
Appendix A
Appendix A Comparison of Portable and OpenVMS APIs
     A.1     Compatibility between RTR Versions
     A.2     Reasons for a Portable API
     A.3     Benefits of the Portable API
     A.4     Comparison of OpenVMS and Portable API Calls
Appendix B
Appendix B RTR Application Development Tutorial
Index
Index
Examples
2-1 Example Client
2-2 Example Server
2-3 User Event Example
2-4 RTR and User Event Example
2-5 Broadcast Event Example
2-6 Receive Message Example
3-1 Client Application
3-2 Server Application
3-3 Sample XA Server Application
3-4 Use of Partition Names
Figures
1-1 The Three Layer Model
1-2 Partitioned Data Model
1-3 Standby Servers
1-4 Shadow Servers
2-1 Type rtr_status_data_t
3-1 RTR Message Status Block
Tables
1 Conventions
2-1 Portable API Calls
2-2 RTR Received Message Types for Servers
2-3 RTR Received Message Types for Clients
2-4 Contents of The User Buffer for Different Message Types
2-5 RTR Event Numbers
2-6 Symbols for Event Lists
2-7 Changes for Nested Transactions
2-8 Nested Transaction Recovery
2-9 Independent Transaction Flags
3-1 Environmental Limits
3-2 Accept Transaction Flags
3-3 Get TID Flags
3-4 Format Identification and Data Content
3-5 Open Channel Flags
3-6 Open Channel Server Flags
3-7 Key Segment Data Type
3-8 Reject Transaction Flag
3-9 Reply To Client Flag
3-10 Information Classes
3-11 Application Process Labels and Fields
3-12 Client Process Labels and Fields
3-13 Facility Labels and Fields
3-14 Key Segment Labels and Fields
3-15 Node Links Labels and Fields
3-16 Node and ACP Labels and Fields
3-17 Partition on a Backend Labels and Fields
3-18 Partition on a Router Labels and Fields
3-19 Partition History Labels and Fields
3-20 Server Process Labels and Fields
3-21 Transaction on a Backend Labels and Fields
3-22 Transaction on a Frontend Labels and Fields
3-23 Transaction on a Router Labels and Fields
3-24 Send to Server Flags
3-25 Select Qualifiers for the Set Partition Object
3-26 Select Qualifiers for the Set Transaction Object
3-27 Valid Set Transaction State Changes
3-28 Qualifiers for Set Partition
3-29 Qualifiers for Set Transaction
3-30 Nested Transaction Flags
1 A OpenVMS API (V2) and Portable API (V3) Compared


Previous Next Index