Classes and interfaces here are conforming to the Java Transaction API (JTA) 1.0.1 specification.
The interaction is modelled after the X/Open CAE Specification (Distributed Transaction Processing: The XA Specification). The CORBA CosTransactions specification is freely available, and gives a pretty good overview of the XA protocol.