DTP (X/Open DTP)

Die X/Open-Spezifikation - auch X/Open DTP - ist eine wichtige und allgemeine Spezifikation für verteilte Transaktionsverarbeitung. Die Spezifikation definiert ein Modell, eine Systemarchitektur und Schnittstellen für Distributed Transaction Processing (DTP). X/Open ist ein Industriekonsortium sowie ein Gremium für Standardisierungen. Die Spezifikation wird von allen großen Herstellern von Datenbanken und Transaktionsmonitoren unterstützt, damit diese an verteilten Transaktionen teilnehmen können.


Die X/Open XA-Spezifikation basiert auf dem Two-Phase-Commit-Protocol (2PC-Protocol). XA enthält sowohl zusätzliche Methoden für das Abgeben und Wiederaufnehmen einer Transaktion als auch Methoden für den gleichzeitigen Gebrauch einer Transaktion durch mehrere Prozesse. Die Entwicklung der Spezifikation begann bereits in den 80er-Jahren und deren erste Version erschien 1991.

Die Entwicklung von X/Open DTP

Das Modell entwickelte sich zunächst auf der Basis von älteren Transaktionsmonitoren und das dabei angestrebte Ziel war die Vereinheitlichung der Schnittstellen zwischen den Komponenten und der Anwendung. Für die verteilte Verarbeitung von Transaktionen wurde durch die X/Open ein übergeordneter Rahmen geschaffen, der mehrere Standards für die verschiedenen Themengebiete verbindet. Der Standardisierung von Systemschnittstellen zur verteilten Transaktionsverarbeitung ist von der X/Open das in nebenstehender Abbildung gezeigte Modell eines verteilten Transaktionssystems zugrundegelegt.

X/Open-Modell eines verteilten 
   Transaktionssystems

X/Open-Modell eines verteilten Transaktionssystems

Da sind in jedem beteiligten System die Komponenten eines sogenannten zentralisierten Transaktionssystems sichtbar. Dazu gehören ein Transaktions-Manager (TM), verschiedene Ressource-Manager (RM) sowie die jeweiligen Anwendungsprogramme. Bei einem verteilten Transaktionsmodell kommt ein Communications-Manager (CM) pro Knoten hinzu, der einen speziellen Ressource-Manager (RM) zur Realisierung der Kommunikationsabläufe abbildet. Der wesentliche Aspekt der Standardisierung ist die Definition der Schnittstellen zwischen den Komponenten. Die Ressource-Manager ermöglichen den Zugriff auf gemeinsam benutzbare Ressourcen wie Datenbanken oder allgemeine Kommunikationsdienste. Der Transaction-Manager (TM) ist verantwortlich für die vollständige Behandlung von Transaktionen ( ACID-Paradigmen) - d.h. er koordiniert alle RMs und steuert die Recovery-Funktionen. Das Anwendungsprogramm initiiert die Transaktionen und nutzt in deren Rahmen entsprechende Dienste der RM. Zwischen den Anwendungen und RMs wurde von X/Open eine Teilmenge von SQL vereinbart. Diese Statements werden von den meisten SQL-Implementierungen unterstützt. Der Hintergrund ist, dass nicht alle SQL-Implementierungen den vereinbarten ISO-Standard von SQL eindeutig integrieren.

X/Open DTP und seine Schnittstellen

Das DTP-Modell der X/Open differenziert hinsichtlich folgender Teil-Spezifikationen:

XA-Schnittstelle. Eine bidirektionale Schnittstelle, wodurch verschiedene Ressource-Manager - das können beispielsweise Datenbanken sein, die die XA-Schnittstelle implementiert haben - auf einer gemeinsamen, globalen Basis arbeiten können. Die X/Open XA-Spezifikation basiert auf dem Two-Phase-Commit-Protocol, welches die Durchführung von global korrekten Transaktionen ermöglicht. Dazu werden zunächst die modifizierten Daten in jedem beteiligten Knoten sichergestellt. Im nächsten Schritt werden dann die modifizierten Daten in jedem beteiligten Knoten bestätigt und freigegeben.

CPI-C (Common Programming Interface for Communication). Dadurch wird eine Schnittstelle für Anwendungsprogramme festgelegt, so dass eine Programm-zu-Programm-Kommunikation möglich ist. Die Schnittstelle abstrahiert die Dienste der Kommunikationsschicht.

CPI-RR (Common Program Interface for Ressource Recovery). Realisiert ebenfalls eine Schnittstelle für Anwendungsprogramme und unterstützt den Wiederanlauf von Betriebsmitteln.

TX-Spezifikation. Ist die programmierbare Schnittstelle (API) über die ein Anwendungsprogramm mit dem Transaktions-Manager kommuniziert. Darüber werden globale Transaktionen gegeneinander abgegrenzt und deren Vollständigkeit gesteuert.

TxRPC (Transactional Remote Procedure Call). Stellt dem Anwendungsprogramm die Möglichkeit eines RPC-Interfaces zur Kommunikation mit einem Ressource-Manager zur Verfügung.

ATMI. Realisiert eine Client-Server-Schnittstelle zwischen einem Anwendungsprogramm und dem betreffenden Ressource Manager.

Die Zielstellung des X/Open-DTP-Architekturmodells ist :

  • Die Zusammenarbeit in verteilten heterogenen Systemen auf der Basis von genormten Protokollen.
  • Die Austauschbarkeit von Komponenten auf der Basis von genormten Schnittstellen.
  • Die Portabilität von Anwendungsprogrammen auf Basis der Standards von der X/Open.

Informationen zum Artikel
Deutsch:
Englisch: X/Open DTP - DTP
Veröffentlicht: 28.10.2013
Wörter: 596
Tags: #Datenbanken
Links: ACID (atomicity, consistency, isolation, durability), Anwendungsprogramm, Aspekt, Bidirektional, Daten