TP-Monitor

TP-Monitor

Ein Transaktionsmonitor (engl.: transaction processing monitor, kurz TP monitor) ist eine der ältesten und bekanntesten Formen von Middleware, deren Hauptaufgabe das Unterstützen und Abwickeln von Interaktionen zwischen Anwendungen auf verschiedenen, auch heterogenen Rechnerplattformen ist. Ein Transaktionsmonitor bietet Funktionalität zum Entwickeln, Nutzen, Verwalten und Warten transaktionaler verteilter Informationssysteme; seine wichtigste Aufgabe besteht darin, Anwendungen/Operationen transaktionsorientiert abzuwickeln.

Inhaltsverzeichnis

Geschichte

Als eine der ältesten Formen von Middleware sind Transaktionsmonitore heute eine ausgereifte Technologie. Eine der ältesten Implementierungen ist IBM's Customer Information Control System (CICS), die Ende der 1960er entwickelt wurde. Die ersten Transaktionsmonitore boten auf Mainframes robuste Laufzeitumgebungen für große OLTP-Anwendungen. Um das Zugreifen auf gemeinsame Daten zu ermöglichen und dabei die Datenkonsistenz zu sichern, implementierten die Systeme das transaktionale Konzept.

Die nächste Generation von Transaktionsmonitoren war Client-/Server-basiert; für mehrere Jahrzehnte waren Transaktionsmonitore die dominierende Form von Middleware und spielen auch heute noch eine wichtige Rolle bei alltäglichen Vorgängen wie beispielsweise dem Abwickeln von Banktransaktionen. 1998 schätzte die Standish Group[1], dass weltweit ca. 68 Mio Transaktionen pro Sekunde elektronisch abgewickelt werden und 53 Mio davon mithilfe von Transaktionsmonitoren. Heutzutage findet man kaum noch alleinstehende Transaktionsmonitore, vielmehr sind diese in größere Laufzeit-Umgebungen (Container) mit eingebettet. Ein Beispiel hierfür ist die Java Enterprise Umgebung J2EE.

Aufgaben

Aufgrund der Vielfalt seiner Aufgaben ist es schwierig zu präzisieren, was genau ein Transaktionsmonitor ist. Turing-Preisträger Jim Gray meint dazu: “In a contest for the least well defined software term, TP Monitor would be a tough contender” (deutsch: „In einem Wettbewerb um den am schlechtesten definierten Software-Begriff wäre ein Transaktionsmonitor ein harter Konkurrent“).

Grob gesagt integriert ein Transaktionsmonitor verschiedene Systemkomponenten (beispielsweise ein Kommunikationssystem, ein Laufzeitsystem, ein Präsentationssystem, ...), um für Anwendungen/Operationen standardisierte, gleichförmige Schnittstellen zu bieten, die im Fehlerfall stets dasselbe Verhalten bieten. Man kann einen Transaktionsmonitor als ein Betriebssystem für transaktionsgeschützte Anwendungen ansehen, dessen Aufgabenspektrum sich grob in die drei Klassen Client-Server-Kommunikationsverwaltung, Transaktionsverwaltung und Prozessverwaltung aufteilen lässt.

Client-Server- und Server-Server-Kommunikation: sie erlauben die an einer Anwendung beteiligten Dienste und Komponenten auf verschiedene Art aufzurufen, bspw. mit RPCs, mit asynchronen Nachrichten, die persistente Warteschlangen nutzen (Message Oriented Middleware), usw. Transaktionsmonitoren kontrollieren dabei zum Teil Kommunikationsflüsse zwischen Tausenden von Clients und hunderten von Servern.

Transaktionsverwaltung: Die grundlegende Infrastruktur zum Ausführen verteilter Anwendungen bildet das RPC-Protokoll; es ist ein Konzept, das dafür gedacht ist, einen entfernten Prozeduraufruf eines Clients bei einem Server zu ermöglichen und ihn dabei für den Client transparent zu machen, als wäre es ein lokaler Prozeduraufruf.

Dieses Konzept funktioniert gut in Client-Server-Systemen, wenn ein Client einen Server kontaktet; sind aber mehr als zwei Entitäten beteiligt und somit mehr als ein entfernter Prozeduraufruf in die Interaktion involviert (beispielsweise ein Client, der Prozeduren auf zwei verschiedenen Servern aufruft, oder ein Client, der eine Prozedur auf einem Server aufruft, was wiederum einen Datenbankaufruf des Servers zur Folge hat), so behandelt das RPC-Konzept diese entfernten Aufrufe unabhängig voneinander, was im Falle eines Systemfehlers die Wiederherstellung (engl.: recovery) eines korrekten Systemzustandes sehr erschwert.

Ein klassisches Beispiel, um dies zu illustrieren, ist eine Anwendung auf einem Client, die Geld von einem Bankkonto abhebt, um es auf ein anderes Konto zu transferieren. Sollte der Client zwischen beiden Aktionen abstürzen oder ein anders gearteter Fehler auftreten, wäre das abgehobene Geld verloren, gesetzt, der Client konnte seinen Zustand nicht persistent machen.

Transaktionsmonitore implementieren eine transaktionale Erweiterung des RPC-Konzeptes; sie wickeln entfernte Prozeduraufrufe in einer Transaktion mit den ihr inhärenten ACID-Eigenschaften ab. Insbesondere impliziert die ACID-Eigenschaft Atomarität, also dass entweder alle beteiligten entfernten Prozeduraufrufe abgewickelt werden oder keiner. Transaktionsmonitore implementieren damit also eine Abstraktion von RPC, genannt transaktionaler RPC (TRPC).

Eine Gruppe von Prozeduraufrufen wird bei TRPC sozusagen mit der transaktionalen Klammer BOT (beginning of transaction) und EOT (end of transaction) versehen und als Einheit behandelt. Dies sicherzustellen ist Aufgabe des sog. Transaktionsmanagement-Moduls, das die Interaktionen zwischen Clients und Servern steuert und deren Atomarität mithilfe einer Implementierung des 2-Phasen-Commit-Protokolls sichert.

Transaktionsverwaltung beinhaltet auch die Aufgabe, während des Normalbetriebs Logging (bspw. Protokollieren von Nachrichten) durchzuführen, um im Fehlerfall Wiederherstellungsmaßnahmen ergreifen zu können.

Prozessverwaltung: Zu ihren Aufgaben zählt unter anderem das Starten von Server-Prozessen, das Initialisieren von Transaktionsprogrammen und das Kontrollieren ihres Ablaufs; des Weiteren fällt auch Lastbalancierung in diesen Bereich.

Kommerzielle Produkte

Transaktionsmonitore sind in den meisten Applikationsservern und Web Service-Implementierungen integriert. Es gibt eine stattliche Anzahl kommerzieller Implementierungen von Transaktionsmonitoren, beispielsweise IBM's Customer Information Control System (CICS), Microsoft Transaction Server, BEA Tuxedo und openUTM von Fujitsu Siemens Computers; diese sind auch in Produkt-Suiten für Enterprise Application Integration zu finden.

Abgrenzung

Ein Transaktionsmonitor sollte nicht mit einem sog. Transaktionsmanager verwechselt werden. Während das Aufgabenspektrum eines Transaktionsmanagers lediglich das Bereitstellen eines transaktionalen Kontextes für verschiedene Anwendungen/Operationen umfasst, bieten Transaktionsmonitore transaktionsorientiertes Scheduling und Management für verschiedene Ressourcen.

Siehe auch

Literatur

  • Gustavo Alonso, F. Casati, H. Kuno, V. Machiraju: Web Services. Springer, Berlin 2003, ISBN 3-540-44008-9

Quellen und Anmerkungen

  1. http://www.standishgroup.com/

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Monitor lizard — Monitor Varanus albigularis Scientific classification Kingdom: Anima …   Wikipedia

  • Monitor Group — Type Partnership Industry Management Consulting Founded 1983 Founder(s) …   Wikipedia

  • Monitor (NBC Radio) — Monitor Monitor host Dave Garroway Format News/Variety Show Created by Sylvester L. Weaver …   Wikipedia

  • Monitor —  Cet article concerne le cuirassé de l Union pendant la guerre de Sécession. Pour le type de bateau de guerre à qui il a donné son nom, voir Monitor (type de bateau).  Ne doit pas être confondu avec Moniteur …   Wikipédia en Français

  • Monitor de computadora — Monitor LCD. La pantalla del ordenador o monitor de computadora es un visualizador que muestra al usuario los resultados del procesamiento de una computadora mediante una interfaz. == Historia ==angel calderon Los primeros monitores surgieron en… …   Wikipedia Español

  • Monitor National Marine Sanctuary — is the site of the wreck of the USS Monitor, one of the most famous shipwrecks in U.S. history. It was designated as the country s first national marine sanctuary on January 30, 1975, and is the only one of the thirteen national marine… …   Wikipedia

  • Monitor — (von lat. monere‚ ermahnen, warnen‘ kyrillisch Монитор) bezeichnet: eine Einrichtung zur Überwachung, siehe Monitoring allgemein elektronisches Anzeigegerät, der Bildschirm ein Peripheriegerät, der Computermonitor eine akustische… …   Deutsch Wikipedia

  • Monitor (noticiario) — Monitor fue una emisión radiofónica mexicana conducida y producida por el periodista José Gutiérrez Vivó, que inició transmisiones en 1974 y se mantuvo al aire hasta el 23 de mayo de 2008 en una estación de radio en la ciudad de México, XENET AM… …   Wikipedia Español

  • Monitor Group — Logo de Monitor Group Création 1984 Personnages clés Michael Porter, Chris Argyris, Mark Fuller, Peter Schwartz …   Wikipédia en Français

  • Monitor mode — Monitor mode, or RFMON (Radio Frequency MONitor) mode, allows a computer with a wireless network interface controller (NIC) to monitor all traffic received from the wireless network. Unlike promiscuous mode, which is also used for packet sniffing …   Wikipedia

  • Monitor Theory — is one of five hypotheses developed by the linguist Stephen Krashen to explain second language acquisition (SLA). These comprise*the acquisition learning hypothesis; *the monitor hypothesis; *the natural order hypothesis; *the Input Hypothesis;… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”