It is also responsible for the transparent propagation of the transaction context across processes and two phase commit coordination. For J2EE applications, iAS supports both local transactions and global transactions. Global transactions are managed and coordinated by the transaction manager, and can span multiple databases and processes. The transaction manager typically uses the XA protocol to interact with database back-ends. Global transactions occur using a two-phase commit from Encina, a transaction manager built into iPlanet Application Server.
Local transactions involve access to a single database.
They provide better application performance because they are less complex. Local transactions are native to a single database and are restricted within a single process. Global transactions can only be started declaratively through EJBs. By contrast, local transactions can only be executed programmatically, from either servlets, JSPs, or EJBs. Both the JDBC and iPlanet Application Server APIs rely on the Data Access Engine to interact with database drivers.