Home Inhaltsverzeichnis Einleitung Installation des OLGA-Managers
 Object Linking for GEM Applications OLGA Rev 1.5

2 Was ist Object Linking?

Object Linking (OL) dient zur besseren (automatischen) Interaktion zwischen verschiedenen Programmen. Wenn z.B. bei einem Vektorgrafikprogramm in einem Dokument (Vektorgrafik) ein beliebiges Objekt (hier z.B. eine Rastergrafik) dargestellt wird und dieses - eine Multitasking-Umgebung vorausgesetzt - von einem anderen Programm (hier also ein Rastergrafikprogramm) geändert wird, während beide Programme laufen, würde die Rastergrafik nach der Änderung (d.h. dem Speichern) in der Vektorgrafik automatisch neu angezeigt.

Ein solches OL ist recht einfach zu bewerkstelligen, damit aber beliebige Programme mit beliebigen Objekten kompatibel arbeiten können, wird ein etwas umfangreicheres Protokoll benötigt, das mit dem OLE- (wird für die Initialisierung verwendet) und OLGA-Protokoll (ist für das eigentliche Object Linking zuständig) nun zur Verfügung steht.

OLGA ist dokumentenzentriert, d.h. das Protokoll ist dafür vorbereitet, daß eine Applikation mehrere Dokumente (evtl. sogar mit komplett verschiedenen Datentypen) verwaltet.

Zur Verwaltung des OL wird ein OLGA-Manager (Manager) eingesetzt. Die Kommunikation bzgl. OL zwischen den Applikationen wird komplett über diesen Manager abgewickelt. Es kann immer nur einen Manager im System geben! Die Installation des OLGA-Managers ist im nächsten Abschnitt beschrieben.

Einfaches Modell der OLGA-Kommunikation


Drei wichtige Begriffe sind noch zu klären: Ein OLGA-Client (Client) ist eine Applikation, mit der Dokumente bearbeitet werden können, in denen Objekte anderer Applikationen benutzt werden. Ein OLGA-Server (Server) ist eine Applikation, die die Bearbeitung dieser Objekte ermöglicht. Und wer das jetzt zu schnell durchgelesen hat und meint, daß beides identisch ist, hat nur ein kleines bißchen Unrecht: In der Tat ist es ohne Probleme möglich, daß eine Applikation gleichzeitig Server und Client ist - in den meisten Fällen ist dies sogar sehr sinnvoll. Die Programmierung eines Clients ist allerdings aufwendiger, das Erweitern einer bestehenden Applikation zu einem Server sollte dagegen nur wenige Minuten in Anspruch nehmen!

Die Verbindung zwischen Client und Server wird mit sog. Links hergestellt. Ein Link ist eine Referenz des Clients auf ein Objekt. Diese Referenz (bei OLGA ist das nur ein Dateiname mit absolutem Pfad) muß vom Client im Dokument gespeichert werden. Wenn nun ein Server ein Objekt ändert, auf das ein Link besteht, wird der Client davon unterrichtet und kann das geänderte Objekt neu darstellen.

Und jetzt bitte nicht gleich von dem langen Text abschrecken lassen, das meiste sind nur Informations- bzw. Bestätigungsmessages, die für das einfache Funktionieren des Protokolls gar nicht ausgewertet werden müssen. Weiter unten befindet sich eine Liste der Funktionen, die minimal unterstützt werden müssen (Minimalprotokoll).


 Object Linking for GEM Applications OLGA Rev 1.5
 Was ist Object Linking?

2.1 Die OLGA-Architektur

OLGA-Architekturmodell


Das OLGA-Architekturmodell zeigt die Verteilung der Dienste zwischen OLGA-Manager und der nutzenden Applikation (d.h. Client oder Server). Während Linking, InplaceDrawing und Notification auf einer recht ausgewogenen Kommunikation zwischen Manager und Applikation beruhen, obliegt das Embedding vollständig der Client-Applikation. Die Info-Dateien schließlich werden durch den Manager koordiniert, laufen aber dann direkt zwischen Server- und Client-Applikation ab. Schematisch sieht die Kommunikation in etwa wie folgt aus:

OLGA-Kommunikationsmodell



Home Inhaltsverzeichnis Einleitung Installation des OLGA-Managers