AXTP: Application eXtensible Transactional Protocol

Revised 2/24/98

Index

  • Description
  • Wire Protocol
  • Transaction Persistence
  • Configuration
  • Testing
  • Related Links
  • 
    

    Description

    Partial failures and network outages are handled well by two-stage commit transaction protocols. This should have important applications for distributed processing. But the size and complexity of transaction processing systems tends to limit their use.

    In contrast with most other transaction processing systems, AXTP is small and easy to use. It is a component-based system, written using Java Beans, and can be configured to a wide range of requirements.

    AXTP is built on top of UDP/IP, rather than TCP. This has a number of advantages:

    AXTP uses XML for its wire protocol, and employes decaying retry timers to greatly simplify recovery from communication failures.

    Another interesting characteristic of AXTP is that the client is untrusted. All activity relating to a single transaction must pass through a single server. Transactions must be of an approved duration and are aborted by the server when the time limit is exceeded. (For multi-tier transactions, only the top-level server may abort a transaction.)

    
    

    Wire Protocol

    The wire protocol for AXTP is controled by a component which implements the TransactionFactory interface. Class XTransactionFactory implements the XML wire protocol.
    
    

    Transaction Persistence

    Long term retention of transaction state (persistence) is needed for transaction processing to overcome system crashes and transient network outages. This is managed by a component which implements the TCS interface. The class TransientTCS is being used for initial testing of AXTP. TransientTCS is little more than a stub and needs to be replaced before AXTP becomes useable.
    
    

    Configuration

    MoaBatch is used to configure the various components which comprise AXTP. It requires a script file, test.mb being the script file that was used for testing.
    
    

    Testing

    The class BiMix was used to validate AXIP. BiMix simulates a bad network, by introducing random delays, packet drops, packet duplication, and packet reordering between the client and server.
    
    

    Related Links