XA ("eXtended Architecture") is an X/Open group standard for accessing several back-end data stores within the same global transaction. The specification governs how a transaction manager (such as Atomikos® ) can tell a database what work is going on as part of what transaction, and how to conduct the two-phase commit (2PC) protocol at the end of each transaction. Also included is how to recover pending transactions from the data store.
Because it is a standard, any compliant data store (driver) can work with any compliant transaction manager as part of a global (distributed) transaction. In other words, XA provides the glue between the transaction manager and the data stores as far as two-phase-commit is concerned. This is why, for instance, Atomikos® can work with databases such as Oracle™ or Sybase™ and still commit or rollback everything.
Check this Additional Background Reading, including the specification itself.