1.3.3 Transaction Roles
This protocol enables transaction processing to be distributed among two or more distinct participants. These participants are categorized according to three specialized roles that perform specific functions inside the transaction:
Each role is functionally independent of the other two. It is possible to implement the protocol functions that are required by any of these three roles without implementing the protocol functions that are required by the other two. For example, it is possible to implement a transactional resource manager without building a transaction manager or a transaction-aware application.
The following graphic depicts the transaction roles.
Figure 7: Transaction roles