Vnode Schnittstelle - Frank Kardel
Vnode Schnittstelle - Frank Kardel
Vnode Schnittstelle - Frank Kardel
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
BackStage<br />
Eine TID<br />
28<br />
– ist ein Name für einen Dienst,<br />
Dienste sind lang laufende Transaktionen<br />
– wird verwendet, um Operationen eines Dienstes anzufordern<br />
status, abort,...,<br />
– bestimmt die Lebensdauer eines Dienstes.<br />
Eine TID beschreibt eine Transaktion, die entweder selbst Transaktionsschritte durchführt<br />
oder eine Dienstleistung anbietet.<br />
Die erste Art der Transaktion kann man mit üblichen Transaktionen vergleichen, indem<br />
die normalen Operationen die eigentliche Aufgabe der Transaktion sind. Zusätzlich<br />
wird die abort() Operation angeboten.<br />
Die zweite Verwendung der Transaktion entspricht dem althergebrachten “Server”,<br />
der Anforderungen entgegennimmt und abarbeitet. Bei der Abarbeitung kann es zur<br />
Erzeugung neuer Transaktionen kommen.<br />
Der Sinn, auch einen Server als Transaktion längerer Lebensdauer aufzufassen, liegt in<br />
der Vereinheitlichung des Interaktionsmodells (Wechsel der Rolle von Client und Server).<br />
Demnach stellen Transaktionen sich ähnlich wie Objekte eines objektbasierten Systems<br />
dar [Weg90]. Sie umfassen allerdings nicht gleich den objektorientierten Anspruch<br />
(Vererbung).<br />
Mit der TID-Abstraktion werden drei Aspekte gleichzeitig verfolgt:<br />
– Transaktionssemantik,<br />
auch über Knotengrenzen,<br />
– Objektbasierung,<br />
Strukturierung und Kapselung (zumindest logisch)<br />
– Fernaufrufmechanismus.<br />
Direkte Ausführung oder neue Transaktion.<br />
Wenn man Transaktion und Objekt koppelt, ergeben sich neue Sichtweisen für die<br />
Ausführung.<br />
Es werden nur kurze Kommunikationsphasen zur Auftragserteilung und Ergebnisübergabe<br />
benötigt. In der Zwischenzeit dürfen die Kommunikation oder die beteiligten<br />
Rechner zusammenbrechen.<br />
Bei Wiederanlauf werden begonnene Transaktionen weiter fortgesetzt. Dieses erlaubt<br />
ein Fortschreiten der gesamten Anwendung auch dann, wenn die beteiligten Partner<br />
zeitweilig ausfallen. Diese lokal fortsetzbaren, langfristigen Aufträge haben auch einen<br />
Vorteil. Nur der lokale Zustand muß rekonstruiert werden (siehe auch [Nel81]). Interaktionen<br />
mit anderen Knoten beschränken sich auf Auftragserteilung (invoke), Statusabfrage<br />
(await) und Ergebnistransport (commit & abort).