See: Description
Interface | Description |
---|---|
Transaction |
OsidTransaction is used by an OsidSession
to provide transactions across its methods. |
TransactionManager |
Gets the
OsidSession associated with the transaction
service. |
TransactionProfile |
The
TransactionProfile describes the interoperability
among transaction services. |
TransactionProxyManager |
Gets the
OsidSession associated with the transaction
service. |
TransactionSession |
The transaction session is coordinate transactions.
|
Enum | Description |
---|---|
TransactionState |
This enumeration contains the possible state values of an
OsidTransaction. |
The Open Service Interface Definitions for the org.osid.transaction service.
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.
<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.
Copyright © 2002, 2006 Massachusetts Institute of Technology.
Copyright © 2010 Ingenescus. All Rights Reserved.
This Work is being provided by the copyright holder(s) subject to the following license. By obtaining, using and/or copying this Work, you agree that you have read, understand, and will comply with the following terms and conditions.
Permission to use, copy and distribute unmodified versions of this Work, for any purpose, without fee or royalty is hereby granted, provided that you include the above copyright notices and the terms of this license on ALL copies of the Work or portions thereof.
You may nodify or create Derivatives of this Work only for your internal purposes. You shall not distribute or transfer any such Derivative of this Work to any location or to any third party. For the purposes of this license, "Derivative" shall mean any derivative of the Work as defined in the United States Copyright Act of 1976, such as a translation or modification.
This Work and the information contained herein is provided on an "AS IS" basis WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER DEALINGS IN THE WORK.
The export of software employing encryption technology may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting this Work.