The JTA architecture specifies standard Java interfaces between transaction managers and the parties involved in distributed transactions: the application, application server, and resource manager that controls access to shared resources affected by the transactions.
Transaction managers can be either a manager existing as part of an application server or as part of an application program. Resource managers are typically database storage engines. For example, a Java application server may serve as transaction manager while the OpenEdge Database storage engine may serve as resource manager.
The JTA architecture, depicted in the following figure, creates the environment in which distributed transactions are performed. The resource manager for OpenEdge consists of the OpenEdge SQL engine and the OpenEdge storage engine, working as a single component. The transaction manager, a component of a J2EE application server, is responsible for coordinating transactions that may span resource managers and application connections. The resource adapter for OpenEdge is the JDBC driver. It includes support for the XADatasource, XAConnection, and XAResource objects.