| Package | osid.transaction | 
|---|---|
| Title | Transaction Open Service Interface Definitions | 
| Version | 3.0.0 | 
| Description | The Transaction OSID provides the means in which 
                    multiple OSID sessions can be coordinated. An  A transaction is one that supports Atomicity, Consistency, Isolation and Durability (ACID). This is difficult to achieve and impossible without the cooperation of the underlying system. The transaction interface, however, is a useful vehicle for supporting multiple operations or a sequence of operations. Since the ACID characteristics of a transaction, like all issues of data persistence, are in the purvue of the provider, they are not addressed in the interface definition leaving a given provider to determine the nature of the transactions it wants to support. 
                         
                         
                                     <xosid:heading>Example</xosid:heading>
                         
                         Transaction agentTransaction = agentAdminSession.createTransaction();
                         Transaction msgTransaction = messagingSession.createTransaction();
                         
                         TransactionSession transactions = manager.createSession();
                         transactions.add(agentTransaction);
                         transactions.add(msgTransaction);
                         
                         agentAdminSession.updateAgent(agentId, agentForm);
                         messagingSession.send(agentId, "I changed your name.");
                         
                         transactions.commit();
                         
                                     <xosid:heading>Batch Transactions</xosid:heading>
                         
                                 
                         
                    The Transaction OSID also defines a set of batch interfaces for use with sessions that support bulk operations. |