Transactions
TIBCO Patterns supports a concept of a transaction. A transaction is a group of operations that modify one or more data objects on the server that can be committed or rolled back as a unit. Data Objects include: tables, thesauri, Learn models, and Character Maps. A checkpoint of a table is also considered a data object and checkpoint and restore operations can be associated with a transaction. The checkpoint or restore operation is committed or rolled back when the transaction is committed or aborted. Records within a table are also considered data objects that can be tracked on an individual basis.
The use of transactions is optional. This section is irrelevant if you do not need transactions or plan to use joined tables or a clustered TIBCO Patterns server environment. Users who plan to use joined tables or the TIBCO Patterns Clustering feature should review this section even if not planning on using transactions. Transactions are used in implementing joined tables and clustering, so an understanding of transactions is important when using these features.
A transaction in TIBCO Patterns is similar to a transaction in an RDBMS, but the intent and usage aremore limited. The intent of transactions within TIBCO Patterns is limited to providing a means of backing out a set of separate operations as a unit. It is not intended to provide the full range of locking, concurrency control, and data consistency options that are normally provided by an RDBMS.
The primary motivation for the introduction of transactions is the introduction of joined tables. In many cases, a parent record and its child records must be updated as a unit. If updating any of these records fail, any associated record that has already been added should be backed out. The parent and child records are kept in different tables, thus it requires multiple operations to perform the complete update. To implement the backing out of the already performed updates without transactions is tedious. The application needs to remember which records were updated and their previous state. Using a transaction to associate these operations, users can back out all of the changes with a single transaction abort command. Transactions are useful wherever a set of updates needs to be performed in its entirety or not at all.