2.1 Datenbanksysteme
Abb. 2-5 zeigt den Grobaufbau eines zentralisierten Transaktionssystems, welches auf einem einzelnen Verarbeitungsrechner abläuft. Demnach besteht ein Transaktionssystem neben dem DBS vor allem aus einem sogenannten DC-System (Data Communication System). Das DC-System wiederum besteht aus einem TP-Monitor (Transaction Processing Monitor) sowie einer Menge anwendungsbezogener Transaktionsprogramme.
Weitere Aufgaben des TP-Monitors betreffen Nachrichtenverwaltung, Transaktionsverwaltung (in Kooperation mit dem DBVS), Authentifikation sowie Autorisierung. Zur Realisierung von Kommunikationsunabhängigkeit werden Nachrichten zwischen Terminal und Programmen vom TP-Monitor von einem gerätespezifischen in ein neutrales Format transformiert (Konzept des "virtuellen Terminals"). Die Nachrichten werden ferner i.a. protokolliert, um Fehler wie Nachrichtenverlust automatisch behandeln zu können. Desweiteren unterstützen TP-Monitore oft Synchronisations- und Recovery-Funktionen auf Dateien, die nicht unter Kontrolle des DBVS liegen. Zur Gewährleistung der ACID-Eigenschaften wird daher auch ein Commit-Protokoll zwischen TP-Monitor und DBVS erforderlich. Eine ausführliche Beschreibung von TP-Monitoren bietet [GR93].
Ein relativ abstraktes Modell eines Transaktionssystems wurde von der X/Open-Organisation definiert, um die Interoperabilität zwischen Teilsystemen (TP-Monitore, DBS etc.) unterschiedlicher Hersteller zu ermöglichen. Zur Verbesserung der Portabilität von Transaktionsanwendungen soll ferner eine einheitliche Anwendungsschnittstelle festgelegt werden. Das Modell für den zentralen Fall ist in Abb. 2-6 gezeigt (die Übertragung auf verteilte Transaktionssysteme wird in Kap. 11.4.1 diskutiert). Dabei wird die Verallgemeinerung getroffen, daß im Rahmen einer Transaktion mehrere sogenannter Resource-Manager aufgerufen werden können. Ein Datenbanksystem ist dabei nur ein möglicher Typ eines Resource-Managers; weitere Resource-Manager können z.B. Dateisysteme, Window-Systeme, Mail-Server oder TP-Monitor-Komponenten wie die Nachrichtenverwaltung sein. Ein Transaction-Manager (TM) führt die Transaktionsverwaltung durch, insbesondere ein gemeinsames Commit-Protokoll mit allen Resource-Managern, die an einer Transaktionsausführung beteiligt sind, um die Alles-oder-Nichts-Eigenschaft von Transaktionen zu gewährleisten. Der TM ist dabei in einer realen Implementierung üblicherweise Teil des TP-Monitors oder des Betriebssystems. Die Mehrzahl der TP-Monitor-Funktionen sind in dem Modell jedoch nicht explizit repräsentiert, sondern werden als Teil der Ablaufumgebung angesehen.
Die Schnittstellen zwischen Anwendungen und TM (TX-Schnittstelle) sowie zwischen TM und Resource-Managern (XA-Schnittstelle) wurden standardisiert, um eine Interoperabilität zwischen ansonsten unabhängigen Resource-Managern zu erreichen. Die Transaktionsausführung sieht vor, daß eine Anwendung über die TX-Schnittstelle dem TM Beginn, Ende und Abbruch einer Transaktion mitteilt. Der TM vergibt bei Transaktionsbeginn eine eindeutige Transaktionsnummer, welche danach von der Anwendung bei allen RM-Aufrufen mitgegeben wird. Am Transaktionsende führt der TM dann über die XA-Schnittstelle ein Zweiphasen-Commit-Protokoll mit den Resource-Managern durch. Das X/Open-Modell unterstellt dabei, daß jeder Resource-Manager eine lokale Transaktionsverwaltung unterstützt, insbesondere Synchronisation, Logging und Recovery.