TX (Transaction Demarcation) ist eine von X/Open standardisierte Programmschnittstelle zur Festlegung von Transaktionen über Rechnergrenzen hinweg.
openUTM stellt die TX-Programmschnittstelle für die Programmiersprachen COBOL, C und C++ zur Verfügung.
TX-Aufrufe sind unter openUTM nur in CPI-C-Services sinnvoll, XATMI-Services werden implizit in globale Transaktionen eingeschlossen. Mit dem XATMI-Aufruf tpreturn() wird gesteuert, ob eine Transaktion erfolgreich beendet oder zurückgesetzt wird.
Transaktionen können mit TX entweder „Chained“ oder „Unchained“ ausgeführt werden. Im Modus „Chained“ muss nur die erste Transaktion explizit begonnen werden:
das Transaktionsende markiert implizit den Beginn der nächsten Transaktion.
Im Modus „Unchained“ muss der Beginn jeder Transaktion explizit markiert werden.
openUTM arbeitet immer im Modus „Chained“. Beim Start eines Service unter openUTM wird automatisch eine Transaktion begonnen, daher entfällt auch die Notwendigkeit, die erste Transaktion zu markieren.
Das Trägersystem OpenCPIC ermöglicht es openUTM-Client-Anwendungen, Transaktionen über TX zu steuern.
Übersicht: TX-Aufrufe in openUTM
C/C++-Aufruf | COBOL-Aufruf | Beschreibung |
tx_commit | TXCOMMIT | globale Transaktion erfolgreich beenden |
tx_rollback | TXROLLBACK | globale Transaktion zurücksetzen |
tx_info | TXINFORM | globale Transaktions-Informationen abfragen |
tx_set_commit_return | TXSETCOMMITRET | Charakteristik commit_return setzen |
tx_set_transaction_control | TXSETTRANCTL | Charakteristik transaction_control setzen |
tx_set_transaction_timeout | TXSETTIMEOUT | Charakteristik transaction_timeout setzen |
tx_open | TXOPEN | Liefert unter openUTM immer TX_OK zurück |
(Die Aufrufe tx_begin() (TXBEGIN) und tx_close() (TXCLOSE) liefern unter openUTM immer |
Eine umfassende Beschreibung der einzelnen Aufrufe finden Sie in der X/Open CAE Specification zu TX vom April 1995. Alle UTM-spezifischen Details sind im openUTM-Handbuch „Anwendungen erstellen mit X/Open-Schnittstellen“ beschrieben. |