Verteilte Objekte
Verteilte Objekte
Verteilte Objekte
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Internet und Intranet<br />
ständig solche Anforderungen generiert [HAL96]. Es ist zu beachten, daß ein einzelner Serverprozeß<br />
normalerweise mehrere Anforderungen von einer verteilten Gemeinschaft von Klienten<br />
gleichzeitig beantworten muß.<br />
Ein wichtiges Konzept in verteilten Systemen ist daher die logische Arbeitseinheit, die „local unit<br />
of work (LUW)“. Diese LUW ist eine Menge von Prozessen, die koordiniert und zu einem Ergebnis<br />
hin ausgeführt werden müssen. Auch nur ein Fehler in einem einzelnen (Teil-) Prozeß führt<br />
dazu, daß das gesamte VS auf einen Zustand vor der Ausführung des LUW zurückgesetzt wird<br />
[BRU97].<br />
2.2.4 <strong>Objekte</strong> und Objektorientierung<br />
Bei jeder Art der Entwicklung von Software ist der Ausgangspunkt eine mehr oder weniger<br />
präzise beschriebene Aufgabenstellung. Bei der Überführung dieser Beschreibung in ein Softwaresystem<br />
müssen die so spezifizierten inhaltlichen Anforderungen vollständig erfüllt werden.<br />
Der prozedurale Ansatz geht davon aus, daß ein Programm aus Daten besteht, welche von Prozeduren<br />
bearbeitet werden. Aus der deklarativen Perspektive besteht ein Programm aus einer<br />
Menge von Regeln, die auf Fakten angewendet werden. Beim Grundgedanken der Objektorientierung<br />
wird ein Programm als eine Menge eigenständiger <strong>Objekte</strong> betrachtet, die der realen<br />
Welt nachgebildet werden.<br />
In dieser Arbeit findet grundsätzlich die aus der objektorientierten Programmierung („Object-<br />
Oriented Programming (OOP)“) [STR92] bekannte Definition von <strong>Objekte</strong>n Anwendung:<br />
Ein Objekt ist ein Informationsträger, der einen (zeitlich veränderbaren) Zustand besitzt<br />
und für den definiert ist, wie er auf eingehende Nachrichten reagiert; die Definitionen<br />
der Nachrichten können sich im zeitlichen Ablauf verändern, so daß ein Objekt<br />
auf eine Nachricht zu unterschiedlichen Zeitpunkten unterschiedlich reagieren kann<br />
[HER93].<br />
Die objektorientierte Programmierung erfolgt also durch Senden von Nachrichten an <strong>Objekte</strong>,<br />
wodurch <strong>Objekte</strong> in ihrem Zustand verändert werden oder Informationen über ihren Zustand<br />
erhalten werden können. Ein Objekt der realen Welt legt eine Vielzahl von Verhaltensweisen an<br />
den Tag. Diese werden als Methoden realisiert und die Charakteristiken werden zu seinen<br />
Variablen.<br />
Der objektorientierte Ansatz zur Erstellung von Software Systemen hat weit mehr Vorteile als nur<br />
Flexibilität bezüglich der Aufgabenerfüllung. Weil die Struktur der Software die reale Welt<br />
reflektiert, kann diese leichter verstanden und nachvollzogen werden. Das bedeutet, daß eine auf<br />
unternehmensweiten Modellen basierende Software eine weit längere Lebensdauer hat als<br />
Programme, die nur zur Lösung von spezifischen, unmittelbar anstehenden Problemen geschrieben<br />
werden. <strong>Objekte</strong> und deren Kombination können, im Unterschied zum klassischen<br />
Programmiermodell, verhältnismäßig leicht neuen Vorgaben der Firmenstruktur oder neuen<br />
Prozeßabläufen nachgebildet werden. Im Gegensatz zur prozeduralen Programmierung sind<br />
<strong>Objekte</strong> allgemeingültige Bausteine, die dadurch leicht unter anderen Aufgabenstellungen wiederverwendet<br />
werden können. Die Ausrichtung des Entwicklungsprozesses auf die Erstellung<br />
allgemein verwendbarer Modelle hat damit zur Folge, daß diese sich viel einfacher an neue<br />
Anforderungen anpassen lassen. Schließlich führt die umfassende Wiederverwendung von bereits<br />
existierenden, geprüften Komponenten nicht nur zu kürzeren Entwicklungszeiten, sondern auch<br />
zu viel robusteren, fehlerfreien Systemen.<br />
Der konsequente Einsatz objektorientierter Techniken in allen Phasen des Software Lebenszyklus<br />
verkürzt also die Entwicklungszeit der Systeme, erhöht deren Qualität und Flexibilität und<br />
erleichtert die Wartung. Eine auf <strong>Objekte</strong>n basierende Denkweise ermöglicht ein durchgängiges<br />
Konzept von der Analyse bis zur Implementierung. Neben der besseren Verständlichkeit sind gute<br />
Erweiterbarkeit, Wiederverwendbarkeit und einfache Wartung weitere Vorteile der objekt-<br />
8