25.09.2013 Aufrufe

Verteilte Objekte

Verteilte Objekte

Verteilte Objekte

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!