Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Zusammenarbeit mit Datenbanken

openUTM unterstützt die koordinierte Zusammenarbeit mit Datenbanksystemen. Die UTM-Transaktionen und die Transaktionen des Datenbanksystems werden dabei von openUTM über Two-Phase-Commit synchronisiert (siehe openUTM-Handbuch „Konzepte und Funktionen“).

Eine UTM-Anwendung kann mit mehreren Datenbanksystemen koordiniert zusammenarbeiten. Das bedeutet, dass eine UTM-Transaktion Aufrufe an verschiedene Datenbanksysteme enthalten darf.

Beendet ein UTM-Teilprogramm einen Dialog- oder Verarbeitungsschritt mit PEND KP, so wird die Transaktion im Normalfall in einem anderen Prozess fortgesetzt. Bei der Beendigung des Teilprogrammlaufs mit PEND PA/PR kann es ebenfalls sein, dass der Verarbeitungsschritt in einem anderen Prozess fortgesetzt wird. In verteilten OSI TP Transaktion erfolgt die Transaktionsbeendigung nach den KDCS-Aufrufen PEND SP, RE, FI oder PGWT CM im Normalfall ebenfalls in einem anderen Prozess. In einer solchen Umgebung müssen alle an der Transaktion beteiligten Datenbanksysteme den Prozesswechsel unterstützen.

Darüber hinaus ist es im Rahmen von verteilter Transaktionsverarbeitung möglich, Daten von mehreren unterschiedlichen Datenbanksystemen auf verschiedenen Rechnern innerhalb einer verteilten Transaktion zu bearbeiten.

Rücksetzen von Transaktionen

Im Fehlerfall gewährleistet openUTM, dass alle an der Transaktion beteiligten Datenbanken auf einen gemeinsamen Sicherungspunkt zurückgesetzt werden. Für den Programmierer entsteht keinerlei Aufwand für die Koordination zwischen openUTM und Datenbanksystemen.

Das Datenbanksystem kann von sich aus DB-Transaktionen zurücksetzen, z.B. um Langzeitsperren aufzulösen. Auch in diesem Fall werden die Transaktionen synchronisiert. Das Teilprogramm wird mit einem Rückkehrcode des entsprechenden DB-Systems informiert.

Interne Schnittstelle zwischen openUTM und Datenbanksystemen

openUTM steuert die Zusammenarbeit mit Datenbanksystemen über eine einheitliche und neutrale Schnittstelle und ist damit entkoppelt von den implementierungsabhängigen Spezifika der unterschiedlichen Datenbanksysteme.

Auf Unix-, Linux- und Windows-Systemen ist dies die von X/Open standardisierte XA-Schnittstelle, auf BS2000-Systemen wird neben der XA-Schnittstelle die funktionell vergleichbare Schnittstelle IUTMDB angeboten.

Unterstützte Datenbanksysteme

openUTM auf BS2000-Systemen unterstützt die Koordination mit folgenden Datenbanksystemen:

  • UDS/SQL

  • SESAM/SQL

  • Oracle

  • LEASY (das Dateisystem LEASY verhält sich gegenüber openUTM wie ein Datenbanksystem).

Auf Unix-, Linux- und Windows-Plattformen unterstützt openUTM die Koordination mit dem Datenbanksystemen Oracle.

Kopplung von openUTM mit Datenbanksystemen

Mit welchen Datenbanksystemen eine UTM-Anwendung koordiniert zusammenarbeiten soll, legen Sie beim Generieren der UTM-Anwendung mit einer KDCDEF-Anweisung fest: Für Unix-, Linux- und Windows-Systeme ist dies die Anweisung RMXA, für BS2000-Systeme die Anweisung DATABASE (siehe openUTM-Handbuch „Anwendungen generieren“).

Hinweis für BS2000-Systeme
Einige Datenbanksysteme bieten dem Anwendungsprogramm zum Aufruf verschiedene Schnittstellen, die als CALL-Schnittstelle oder als Sprachelemente der Programmiersprache (z.B. COBOL) realisiert sind. Welche Schnittstellen die Teilprogramme der UTM-Anwendung für die Kommunikation mit der Datenbank nutzen sollen, bestimmen Sie in der KDCDEF-Anweisung DATABASE.

Hinweis für Unix-, Linux- und Windows-Systeme sowie für XA-fähige Datenbanken auf BS2000-Systemen
Bei der Generierung einer XA-fähigen Datenbank wird keine Schnittstelle für das Anwendungsprogramm festgelegt. Die Schnittstelle hängt vom jeweiligen Resource-Manager ab.

Hinweis für die Nutzung von XA
Es gibt in der Regel einen statischen und einen dynamischen XA Switch. Eine Datenbank kann eine oder auch beide Varianten anbieten. Wenn die Datenbank einen dynamischen XA Switch anbietet, sollten Sie diesen nutzen. Dadurch wird die Ressourcenbelegung im Datenbanksystem minimiert.