Transaktionssysteme bilden den Rahmen für die Integration von Datenbanksystemen in Enterprise-Architekturen. Insbesondere sind Transaktionssysteme eine grundlegende Technologie von Client-Server-Anwendungen. Durch Transaktionssysteme wird sichergestellt, dass parallele Transaktionen atomar, persistent und voneinander abgegrenzt sind. Transaktionssysteme stellen somit generische Dienste zur Verfügung. Damit ist eine grundlegende Basis für Datenkonsistenz und Verlässlichkeit gegeben, wie das Voraussetzung für die Entwicklung von mehrbenutzerfähigen und fehlertoleranten Anwendungen ist. Daher sind Transaktionen eines der wichtigsten Konzepte im Hinblick auf Datenbanksysteme, jedoch finden sie auch Beachtung im Bereich von Laufzeitumgebungen, Betriebssystemen oder Programmiersprachen.
Weitere wichtige Anforderungen an Transaktionssysteme sind die Abwicklung sehr hoher Transaktionsraten, die Gewährleistung hoher Verfügbarkeit sowie die Unterstützung eines modularen Systemwachstums. Transaktionssysteme sind im Allgemeinen horizontal und/oder vertikal verteilt. Durch sehr große Transaktionssysteme wie zum Beispiel das Customer Information Control System (CICS) oder die Transaction Processing Facility (TPF) werden weit mehr als 100.000 nebenläufige Benutzer je System unterstützt.
Die operationalen System- und Betriebsmerkmale von Transaktionssystemen (TA-Systemen) sind:
- Benutzung im Dialog, man spricht auch vom Online Transaction Processing (OLTP).
- Wenige kurze Transaktionstypen mit hoher Wiederholrate.
- Sehr viele Benutzer gleichzeitig (Nebenläufigkeit).
- Gemeinsame Datenbestände mit größtmöglicher Aktualität.
- Kurze Antwortzeit als Optimierungsziel vor Auslastung.
- Stochastisches Verkehrsaufkommen.
- Hohe Verfügbarkeit des Systems.
Die Interoperabilität zwischen TA-Teilsystemen
Um die Interoperabilität zwischen den Teilsystemen eines TA-Systems aus TP-Monitoren, Datenbanksystemen etc. von unterschiedlichen Herstellern realisieren zu können, wurde von der X/Open - einem Industriekonsortium und Standardisierungsgremium - ein relativ abstraktes Modell eines TA-Systems definiert. Neben der Portabilität von Transaktionsanwendungen war es das Ziel, eine einheitliche Schnittstelle für Anwendungen festzulegen. Die Abbildung zeigt das Modell für den zentralen Fall. Dessen Übertragung auf verteilte Transaktionssysteme ist in dem Artikel X/Open DTP dargestellt. Das Modell basiert darauf, dass im Rahmen einer Transaktion mehrere sogenannte Resource Manager (RM) aufgerufen werden können - das können Datenbanksysteme, Dateisysteme, Window-Systeme, Mail-Server oder auch Komponenten wie die Nachrichtenverwaltung eines TP-Monitors sein. Das Modell führt einen sogenannten Transaktions-Manager (TM) ein, der für die Verwaltung der Transaktionen verantwortlich ist. Dazu gehört ein gemeinsames Two-Phase-Commit-Protocol mit allen an der Transaktionsausführung beteiligten RMs zur Gewährleistung der ACID-Paradigmen. In der realen Implementierung ist der TM üblicherweise Teil des TP-Monitors oder des Betriebssystems. Das Modell der X/Open berücksichtigt jedoch nur einen Teil der Funktionen eines traditionellen TP-Monitors, da eine Mehrzahl der Funktionen als Teil der Ablaufumgebung angesehen wird.Die Abbildung zeigt, dass die Schnittstellen zwischen den beteiligten Komponenten - Anwendung, TM sowie RM - standardisiert wurden, so dass die Interoperabilität zwischen ansonsten unabhängigen RMs realisiert werden kann. Eine Anwendung teilt dabei über die TX-Schnittstelle dem TM die einzelnen Phasen einer Transaktion - Beginn, Ende oder Abbruch - mit. Der TM vergibt mit Beginn einer Transaktion eine eindeutige ID-Nummer - auch Transaktionsnummer -, welche dann von der Anwendung für alle Aufrufe des RMs genutzt werden. Mit dem Ende einer Transaktion wird dann das bereits erwähnte Commit-Protokoll zwischen TM und RM ausgeführt. Das X/Open-Modell impliziert an dieser Stelle, dass jeder RM eine lokale Verwaltung der Transaktionen - zum Beispiel die Synchronisation, Logging- oder Recovery-Funktionen - unterstützt.