Then it explains semantics of all transaction attributes and use of the Java Transaction API for bean managed transactions. Finally, it discusses the restrictions on various combinations of EJB types and transaction attributes. In the declarative transaction model, attributes are associated with beans at deployment time. Its the container's responsibility based on the attribute value, to demarcate and transparently propagate transactional context. The container is also responsible, in conjunction with a transaction manager, for ensuring all participants in the transaction see a consistent outcome.
Declarative transactions free the programmer from explicitly demarcating transactions.
They facilitate component-based applications where multiple components, potentially distributed and updating heterogeneous resources, can participate in a single transaction. Its necessary to understand the distinction between global and local transactions in order to understand the iPlanet Application Server support for transactions. Global transactions are managed and coordinated by a transaction manager, and can span multiple databases and processes. Local transactions, on the other hand, are native to a database and are restricted within a single process. Local transactions work against a single EIS only.