Seit langem existieren Standards und Architekturen, um Rechner miteinander zu vernetzen und Anwendern durch Kommunikationsverbindungen die Nutzung von Diensten auf entfernten Rechnern zu ermöglichen. Das wichtigste Rahmenwerk hierfür ist das OSI-Referenzmodell. Zu den einzelnen Schichten dieses Modells gibt es wiederum diverse Standards wie die IEEE-Normen 802.x für die Schicht 2 und IP für Schicht 3.
Bisher fehlte aber ein Standard, der die Entwicklung von Anwendungskomponenten erlaubt, die in offener, heterogener und verteilter Systemumgebung interagieren können. Die ISO begann 1987 mit der Arbeit an einem entsprechenden Modell und schloß sich 1991 mit der ITU-T zusammen, um eine ,,standardisierte logische Architektur für den Entwurf von objektorientierten verteilten Systemen in heterogener Umgebung`` [Far97] zu entwickeln. Ergebnis ist das Reference Model Of Open Distributed Computing (RM-ODP). Der Standard ISO 10746 aus dem Jahr 1995 besteht aus vier Teilen [ISO95b,ISO95c,ISO95d,ISO95e]. Tutorien zu diesem Modell sind u.a. [Ban96,Joy,Lin95,Ray95] und [Far97], an welchem sich diese Einführung orientiert.
Die Offenheit des ODP bedeutet, daß Programmierschnittstellen (APIs) und Kommunikationsprotokolle offengelegt und standardisiert sein müssen. Die Unterstützung von heterogenen, verteilten Systemen durch das Modell bezieht sich auf Rechner und Netzkomponenten verschiedener Hersteller, unterschiedliche Betriebssysteme und Kommunikationsprotokolle sowie den Einsatz unterschiedlicher Programmier- und Datenbanksprachen für die verteilten Anwendungen.
RM-ODP adressiert die Probleme, die sich bei der Organisation von Anwendungskomponenten ergeben. Fragestellungen sind hierbei z.B. ,,Welche Objekte erbringen einen benötigten Dienst und wo befinden sie sich?``, ,,Wie kann der Dienst genutzt werden?``, ,,Wie können Dienste organisiert werden, damit der Benutzer den Eindruck gewinnt, es handelt sich um eine einzige integrierte verteilte Anwendung?`` und ,,Welche Unterstützung benötigen Anwendungskomponenten von der darunterliegenden verteilten Systemplattform?``.
RM-ODP ist ein Meta-Modell, welches durch Konzepte, Regeln und die Defintion von Infrastrukturobjekten eine Architektur für verteilte Anwendungen in heterogener Systemumgebung beschreibt. Ziel ist es, beim Entwurf eines verteilten Systems die Komponenten (Objekte) identifizieren zu können, die an fest spezifizierten und typisierten Schnittstellen Dienste anbieten. Diese können durch Interaktionen an den Schnittstellen d.h. durch Kommunikation auf Anwendungsebene genutzt werden. Zwei weitere wichtige Aspekte sind Portabilität und Transparenz. Damit Anwendungskomponenten portabel sind, bedarf es standardisierter verteilter Plattformen. Weiterhin sollen Details der Verteilung vor den Komponenten verborgen bleiben. Hierzu sind Mechanismen erforderlich, die verschiedene Transparenzen ( access, concurrency, location, migration, replication, failure, etc.) bereitstellen.
Aufgrund der Komplexität ist ein Entwurf eines verteilten Systems mittels einer einzelnen Spezifikation schwierig, wenn nicht sogar unmöglich. Deshalb führt das RM-ODP unterschiedliche Sichten ( Viewpoints) auf das System ein, um die Komplexität nach dem Prinzip «divide and conquer» zu reduzieren. Diese spiegeln die Sichten wieder, die verschiedene Personen auf das System haben. Auftraggeber eines Unternehmens definieren die Anforderungen an das System. Software-Architekten erstellen hieraus einen Entwurf. Programmierer implementieren den Entwurf. Techniker installieren das fertige System. Die Viewpoints sind daher Projektionen auf unterschiedliche Aspekte des Systems. Um Redundanz zu vermeiden, soll die Zerlegung durch die Viewpoints möglichst disjunkt sein. Viewpoint Languages legen das Vokabular und die Grammatik fest, die zur Beschreibung der Information eines Viewpoints eingesetzt werden. Jeder Viewpoint enthält Konzepte, die das Vokabular der zugehörigen Sprache darstellen, und Regeln (structuring rules), die die Grammatik der Sprache bilden. Welche konkrete Sprache schließlich als Viewpoint Language eingesetzt wird, läßt das Modell offen. Voraussetzung ist lediglich, daß die Syntax und Semantik der konkreten Sprache die Konzepte und Regeln der Viewpoint Language ausdrücken können. RM-ODP definiert folgende fünf Viewpoints:
Diese Arbeit beschränkt sich auf die Untersuchung des Computational und Engineering Viewpoints, da deren Konzepte gerade die Objekte beschreiben, die für das System- und Anwendungsmanagement relevant sind. Die nächsten beiden Abschnitte beschreiben daher die Konzepte dieser Viewpoints näher, aus denen in Kapitel 4.2 generische Managementobjektklassen abgeleitet werden.