The JTA is not distributed. The JTS uses CORBA IIOP, since it's essentially a Java interface to the OTS. The OMG website has the details if you are interested in the low level stuff like packet formats. For higher level (conceptual) overview of distributed transactions, try the book 'Java Transaction Processing: design and implementation'. Note that we also have XTS, a Web Services transaction engine. That's distributed using web services standards e.g. SOAP over http.