Christopher B. Browne's Home Page

5. Transaction Processing Monitors

A TP Monitor is a subsystem that groups together sets of related database updates and submits them together to a relational database. The result is that the database server does not need to do all of the work of managing the consistency/correctness of the database; the TP Monitor makes sure that groups of updates take place together or not at all. The advantages of this include increased system robustness as well as throughput.

5.1. ACID

This also supports the four transaction processing ACID requirements:


All transactions are either performed completely - committed, or are not done at all; a partial transaction that is aborted must be rolled back.


The effects of a transaction must preserve required system properties. For instance, if funds are transferred between accounts, a deposit and withdrawal must both be committed to the database, so that the accounting system does not fall out of balance.

In double-entry accounting, the "staying in balance" property is usually not overly difficult to maintain. The more thorny issue comes when the property is something like Cash Balance Cannot Drop Below Zero, or We can't ship out inventory we don't have. In such cases, if you have two transactions being submitted concurrently, it could be that either could be accepted, but not both. If one of the transactions would cause balance requirements to be violated, the TP monitor therefore needs to reject one of the transactions.


Intermediate stages must not be made visible to other transactions. Thus, in the case of a transfer of funds between accounts, both sides of the double-entry bookkeeping system must change together for each transaction. This means that transactions appear to execute serially (e.g. in order) even if some of the work is done concurrently.


Once a transaction is committed, the change must persist, except in the face of a truly catastrophic failure.

If Mongol hordes ride through and lay waste to your server room, you can't expect the TP monitor to help keep transactions persistent! But it should be resistant to reasonably traumatic sorts of system failures such as a network link breaking down or perhaps even a disk drive malfunctioning.

TP Monitors and other Database Middleware lists some of the "big names" in the area.

5.2. Transaction Processing References

5.3. Transaction Processing Systems for Linux

There are several vendors that offer commercial TP solutions that appear to run on Linux.

5.4. BEA Tuxedo

BEA sells a primarily Unix-based product, Tuxedo, that is highly regarded.

BEA have released a "demo" edition gratis for developers to play with.

Contact me at