Download - FESG - Technische Universität München
Download - FESG - Technische Universität München
Download - FESG - Technische Universität München
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4.2 THEORETISCHE GRUNDLAGEN 87<br />
Der Server ist im Grunde genommen eine Verlängerung des Client-Stacks über<br />
ein Netzwerk hinweg. Im CFT sitzt deshalb hinter der aktivierenden Schnittstelle<br />
direkt die Realisierung des Dateisystemzugangs. Die Anwendungsschicht wird somit<br />
nicht lokal durch einen Nutzer bedient, sondern über das Netzwerk aktiviert.<br />
Sie realisiert den Zugang auf ein lokales Dateisystem. Ein realer Anwender beim<br />
Server initiiert nur den Start des Servers.<br />
Somit ergibt sich eine relativ starre Konstellation. Ein flexibles Design muss<br />
deshalb dafür sorgen, dass einzelne Realisierungen flexibel ausgetauscht und kombiniert<br />
werden können. Ein Client z.B. soll auch die Möglichkeit haben, zu einem<br />
Zeitpunkt parallel mit mehreren Servern verbunden zu sein. Dadurch müssen Dateien<br />
nicht erst komplett in das lokale Verzeichnis kopiert werden, bevor man sie<br />
auf einen weiteren Server schreiben kann, sondern können in einem Arbeitsschritt<br />
von einem Server zu einem anderen übertragen werden. Ein Server wiederum soll<br />
z.B. so flexibel sein, dass er nicht nur auf lokale Dateisysteme abbildet, sondern<br />
auf entfernte weitervermittelt oder eine andere Art der Datenablage anschließt.<br />
An dieser Stelle kommt als Grundgedanke das „Tier“-Konzept bei ODBC ins Grundüberlegung ist ein Multi-<br />
Tier-Konzept<br />
Spiel, welches verschiedene Treiber unter einem einheitlichen Schnittstellenzugangspunkt<br />
zur Verfügung stellt, egal ob man lokal zugreift, die Verbindung zu<br />
einem Server hat oder einen clientseitigen Serververtreter anspricht. Eine Verallgemeinerung<br />
eines solchen Mehr-Klassen-Konzepts und der resultierenden Kombinierbarkeit<br />
liefert die zusätzliche Flexibilität. Deshalb ist im erweiterten Softwaredesign<br />
die Umsetzung eines „Multi-Tier-Konzepts“ durchzuführen.<br />
Diese Erweiterung fordert damit natürlich eine generelle Umstrukturierung im<br />
Client. Er kann nun nämlich auf einen „Mehr-Klassen-Verteiler“ wieder schichtenweise<br />
seine Mehrwertdienste aufbauen, die ab dann die neue Client-Logik bilden.<br />
Zusätzlich sollte der Interpretermechanismus für Befehle so flexibel sein, auch automatische<br />
Skripte in linearer Form zu verwerten, was im Design einen zweiten<br />
Zugangspunkt im Nutzerinterface bildet.<br />
Zusammengefasst bilden diese Grundgedanken die Grundlage für ein flexibles<br />
und kompaktes Design einer erweiterten Version des CORBA File Transfers.<br />
4.2.2 Die Handhabung kritischer Abschnitte zur Kontrolle konkurrierender<br />
Zugriffe<br />
Ein generelles, weiteres Problem im bisherigen CFT ist, dass es keine Kontrolle Management von kritischen<br />
darüber gibt, welcher Nutzer auf welche Dateien gleichzeitig zugreift. Wie in allen<br />
Systemen, die mit für mehrere Nutzer gemeinsamen Ressourcen (hier sind es die<br />
Dateien) arbeiten, treten aber auch beim verteilten Dateizugang kritische Abschnitte<br />
auf. Diese gilt es zu entkoppeln, um die Datenintegrität zu wahren.<br />
Begriffsdefinition DEF4.2 „Kritischer Abschnitt“ in Anlehnung an [SING94] 3 :<br />
Ein kritischer Abschnitt (Critical Section) ist ein Codesegment eines Prozesses, welches<br />
eine mit anderen Prozessen geteilte Ressource benutzt, die zu einem Zeitpunkt nur von genau<br />
einem Prozess verwendet werden darf.<br />
Abschnitten bei konkurrierenden<br />
Zugriffen auf gemeinsame<br />
Ressourcen