An application that performs distributed transactions must use a JDBC driver that supports the XADataSource interface. The XADataSource interface provides a facility for creating and interacting with a physical connection to a data source. The connection is reusable and allows for participation in distributed transactions. The XADataSource object manages the interactions of the connection-pooling manager and the transaction manager components of the J2EE server.