Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein bestimmter Geschäftslogikvorgang kann mehrere Programme umfassen, die auf mehreren Computern ausgeführt werden. Bei diesem Entwurf gilt die Transaktion nicht als vollständig, es sei denn, alle beteiligten Programme schließen ihre Ausführung erfolgreich ab. Damit diese Programme überprüfen können, ob alle anderen Programme, die Teil der Transaktion sind, ihre Transaktionen abgeschlossen haben, müssen sie das Zwei-Phasen-Commit-Protokoll (2PC) verwenden.
Der Begriff 'Transaktion' (oder eine seiner Ableitungen, z. B. 'transaktional') kann irreführend sein. In vielen Fällen beschreibt die Begriffstransaktion ein einzelnes Programm, das auf einem Großrechner ausgeführt wird, der das 2PC-Protokoll nicht verwendet. In anderen Fällen wird es jedoch verwendet, um einen Vorgang zu kennzeichnen, der von mehreren Programmen auf mehreren Computern durchgeführt wird, die das 2PC-Protokoll verwenden.
Das 2PC-Protokoll ist so benannt, da es die folgenden beiden Phasen vor dem Commit des ausgeführten Vorgangs verwendet:
Phase 1 – Vorbereiten. In dieser Phase sendet jedes der an der Transaktion beteiligten Programme eine Nachricht an den TP-Manager, z. B. Microsoft Distributed Transaction Coordinator (MS DTC), und informiert den TP-Manager darüber, dass er bereit ist und in der Lage ist, seinen Teil des Vorgangs auszuführen. Diese Phase wird auch als Vorbereiten bezeichnet, da die Programme entweder bereit sind, die Änderungen zu übernehmen oder die Änderungen zurückzustellen. Wenn der TP-Manager von jedem der beteiligten Programme eine Bestätigung erhält, fährt er mit Phase 2 fort.
Phase 2–Commit oder Rollback. In dieser Phase weist der TP-Manager jedes der Programme an, alle Änderungen zu übernehmen oder zurückzugeben, die als Teil der Transaktion angefordert wurden. Ein ordnungsgemäß ausgeführter Rollback sollte das System in seinen ursprünglichen Zustand zurückgeben.
Hinweis
Der Zustand zwischen Phase 1 und Phase 2 wird als Zweifelszustand bezeichnet. Entwickler, die .NET in ihren Anwendungen verwenden, können entscheiden, welche Teile der Anwendung Zugriff auf einen TP erfordern und welche Teile nicht. TI erweitert diese Wahl auch auf den Großrechner, indem Anrufe abgewickelt werden, die Transaktionen erfordern, und Anrufe, die keine erfordern. Für Anwendungen, die eine vollständige Integration zwischen Windows-basierten Zwei-Phasen-Commit- und Mainframe-basierten Sync Level 2-Transaktionen erfordern, bietet TI alle erforderlichen Funktionen. Ti macht dies, ohne dass Sie die Clientanwendung ändern müssen, ohne ausführbaren Code auf dem Mainframe zu platzieren, und mit wenig oder ohne Änderung an den Großrechner-TPs. Die Clientanwendung muss nicht zwischen der TI-Komponente und einem anderen Komponentenverweis unterscheiden.
Die folgende Abbildung zeigt, wie eine Windows-basierte Clientanwendung implizit den Microsoft Distributed Transaction Coordinator (DTC) verwendet, um den zweistufigen Commit einer verteilten Transaktion mit SQL Server und einem CICS TP zu koordinieren. DTC koordiniert 2PC-Transaktionen.
Clientanwendung mit Transaction Integrator und DTC zur Koordinierung eines zweistufigen Commits zwischen SQL Server und einer CICS-Anwendung
Hinweis
Transaction Integrator unterstützt nur 2PC beim Herstellen einer Verbindung mit einem Mainframe über LU 6.2 (APPC) mit Windows-initiierter Verarbeitung. Bei der direkten Verbindung über TCP/IP steht keine 2PC-Unterstützung über TI zur Verfügung.
Clientanwendung mit TI und DTC
Zweistufige Commit-Transaktionen (2PC) umfassen eine Reihe von Komponenten. Um Transaction Integrator (TI) erfolgreich zu verwenden, müssen Sie die folgenden 2PC-Komponenten und -Terminologie verstehen:
Synchronisierungspunktebene 2
TPs können miteinander interagieren, indem sie das LU6.2-Protokoll auf einer der drei Synchronisierungsebenen verwenden: Synchronisierungsebene 0, Synchronisierungsebene 1 oder Synchronisierungsebene 2. Nur eine dieser drei Synchronisierungsebenen, Synchronisierungsebene 2, verwendet das 2PC-Protokoll. Die Synchronisierungsebene 0 hat keine Nachrichtenintegrität, während die Synchronisierungsebene 1 eingeschränkte Datenintegrität unterstützt.
TP-Manager
Der Transaktionsprogramm-Manager (TP) ist ein Systemdienst, der für die Koordination des Ergebnisses von Transaktionen verantwortlich ist, um Atomarität zu erreichen. Die TP-Manager stellen sicher, dass die ressourcenmanager zu einer konsistenten Entscheidung darüber gelangen, ob die Transaktion durchgeführt oder abgebrochen werden soll. Der Windows TP-Manager ist MS DTC.
Resync-Dienst
Der LU6.2-Resync-Dienst ist eine Komponente des Host Integration Servers, die mit MS DTC zusammenarbeitet, um nach Ausfällen an einem beliebigen Punkt in einer 2PC-Transaktion eine automatische Wiederherstellung in einen konsistenten Zustand durchzuführen. Der LU6.2 Resync-Dienst wird beim Installieren des Hostintegrationsservers standardmäßig installiert.
Ressourcen-Manager
Der Ressourcen-Manager ist ein Systemdienst, der dauerhafte Daten verwaltet. Serveranwendungen verwenden Ressourcenmanager, um den dauerhaften Zustand der Anwendung beizubehalten, z. B. einen Datensatz des verfügbaren Inventars, ausstehende Aufträge und Forderungen. Die Ressourcenmanager arbeiten in Zusammenarbeit mit dem Transaktionsmanager zusammen, um der Anwendung eine Garantie für Atomität und Isolation (mit dem 2PC-Protokoll) zu bieten. Microsoft SQL Server™ und TI sind Beispiele für Ressourcenmanager.
Siehe auch
Windows-Transaktionen im Vergleich zu Großrechnertransaktionen
Onlinetransaktionsverarbeitung