OSID Specifications
transaction package
Version 3.0.0
Release Candidate Preview
TitleTransaction Open Service Interface Definitions

The Transaction OSID provides the means in which multiple OSID sessions can be coordinated. An OsidSession supports transactions by supporting the Transaction interface. The TransactionSession is the way multiple Transaction objects can be managed.

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.

                         Transaction agentTransaction = agentAdminSession.createTransaction();
                         Transaction msgTransaction = messagingSession.createTransaction();
                         TransactionSession transactions = manager.createSession();
                         agentAdminSession.updateAgent(agentId, agentForm);
                         messagingSession.send(agentId, "I changed your name.");
                                     <xosid:heading>Batch Transactions</xosid:heading>

The Transaction OSID also defines a set of batch interfaces for use with sessions that support bulk operations.