Version 3

    Transactions

    The transaction aspects of the BlackTie system which fulfill the contract defined in the TX specification are provided by the industry proven JBoss Transactions product and as such the reader is suggested to consult the broad range of documentation provided by the transactions team on their website.

    From the point of view of this discussion, the main thing to indicate is that BlackTie wraps Resource Managers using a BlackTie wrapper OTS Resource. Consequently the external JBoss Transactions is able to drive prepare/commit/rollback/forget on the RMs. The BlackTie library running with the application is responsible for triggering commit/rollback invocations initiated on behalf of the client by JBoss Transactions and drives the other XA methods directly as appropriate.

    Transaction Demarcation

    Although as indicated above we do not intend to provide a primer on the TX specification due to wealth of information already present on the internet, it may be interesting to briefly explore one use case involving transactions in a fairly sophisticated manner.

    8-transaction-demarcation.gif

    As can be seen in the above diagram, using only the standard xatmi.h and tx.h header files the client was able to orchestrate a transaction with the following qualities:

    Omission

    Service 3 behavior is not considered part of the transaction

    Propagation

    Service 1 extends the transaction to Service 4 without the need of any additional TX calls.


    On to BlackTie Architecture (Page 6)