1.3.3.1 Application Role
The application role is generally performed by user software programs that make use of transaction processing services to obtain greater reliability or reduce the complexity of error-handling tasks.
The application role is typically responsible for performing the following tasks:
Determining when to begin a transaction
Marshaling the transaction to other applications and to resource managers
Propagating the transaction from one transaction manager to another
Determining when to complete a transaction
Performing administrative operations against a specific transaction
Performing administrative operations against the transaction manager
In general, the motivations behind these tasks are application-specific. The protocol mechanisms by which these tasks can be accomplished are discussed in sections 2 and 3.