The Novell exteNd Messaging Platform's JTS is a pure Java implementation of the Sun Microsytems Java Transaction Services (JTS) and Java Transaction API (JTA).
The Novell exteNd Messaging Platform's JTS implementaion is complient with OMG OTS 1.2 Transaction Service specification requirements. Nested transactions are not supported, as they are not required by the OTS specification.
The transaction manager has a logging mechanism that ensures the ACID properties of transactions. The transaction manager implements the two phase commit with presumed rollback protocol specified in the OMG OTS 1.2 to ensure recovery of its state after a failure.
The transaction manager provides complete transaction services to the ORB to support transaction propagation for transactional object invocation from client to server. It provides the JTS interfaces to manage transactions and for CORBA resources to participate in transactions.
The transaction manager supports distributed transactions in resource managers that support the JDBC 2.0 XA interfaces. It has been tested with Cloudscape versions 3.6 and 4.0, and Oracle 8.1.6 Thin Client and OCI drivers.
The transactions managers provides a proprietary interface that allows JDBC drivers with only local transaction capability to participate in distributed transactions. The TM treats such resources special in the two phase commit protocol, by calling preparing on all other resources first. If the out come of the prepare stage is to commit the transaction then the TM calls the OnePhaseResource to do one phase commit. The successful outcome of the one phase commit is then used as the final vote to commit, and all other resources are called to complete the commit phase of the protocol.
The transaction managers optimizes the case where a transaction with only one resources is being commited, by using the one phase commit protocol.
The transactions managers optimizes inter process communication by interposing transactions that get propageted to it's process. This means that the TM creates a subordinate coordinator in it's process and coordinates resources that get associated in that transaction locally, yet it behaves as an resource to the root coordinator that is the originator of the transaction. The root coordinator the only communicates with the subordinate coordinator to complete the transaction. The subordinate coordinator relays the completion to it's local resources.
The transaction managers client provides a lite weight transaction manager, that deligates the actual transaction management, logging and recovery to a transaction management server instance.
Copyright © 2003, 2004 Novell, Inc. All rights reserved. Copyright © 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.