Dieser Abschnitt beschäftigt sich mit einer Architektur für verteilte digitale Bibliotheken, die seit Januar 1997 an der Universität Frankfurt/Main an der Professur für Telematik und verteilte Systeme im Rahmen des Projektes „Digitale Bibliothek Frankfurt“ entwickelt wird.
Zunächst sollen die Ziele des Projektes umrissen werden, daran schließen sich Begriffsbildung und eine Erläuterung des derzeitigen Status des Projekts an.
Das Konzept sieht vor, auch neue Informationstypen mit geringem Aufwand zu integrieren. Desweiteren wird die Infrastruktur derart skalierbar sein, daß sie an zukünftige Anforderungen angepaßt werden kann. Eine detailierte Übersicht über Umfang und Ziele des Projekts liefert der Projektantrag [DK95].
Auf den digitalen Dokumenten können verschiedene Operationen ausgeführt werden. Eine bestimmte Menge von Operationen, die sogenannten Basisoperationen, müssen auf jedem Dokument definiert sein. Basisoperationen sind das Speichern, das Durchsuchen oder das Präsentieren eines Dokuments. Alle zusätzlich definierten Operationen sind optional. Um ein digitales Dokument typtransparent verarbeiten zu können, werden jedem Dokument Operationen zugeordnet.
Die Operationen werden in sogenannten Dokumentenmethoden realisiert. Jedes Dokument kann eigene Dokumentenmethoden besitzen. Eine Dokumentenmethode oder dokumentspezifische Methode definiert eine bestimmte Operation auf einem bestimmten Dokument. Für jedes Dokument wird eine Menge von Dokumentenmethoden definiert. Dadurch erreicht man die gewünschte Unabhängigkeit vom Typ der im Dokument enthaltenen Information (Typtransparenz).
Die dem Gesamtsystem bekannten Informationen über ein Dokument sind:
Diese Informationen werden in einem Metadokument zusammengeführt. Für jedes digitale Dokument gibt es ein Metadokument, das alle bekannten Informationen über das Dokument beinhaltet. Metadokumente kann man sich als eine Art Behälter für die Dokument-Informationen vorstellen. Die Informationen werden entweder als Bezug (Referenz) oder direkt in das Metadokument eingebunden. Der Aufbau eines Metadokuments wird systemweit festgelegt, um einen einheitlichen Zugriff zu gewährleisten. Metadokumente werden in Form eines SGML-Dokuments realisiert, die zugehörige DTD findet sich in Anhang A. Alternativ können Metadokumente auch in anderer Form vorliegen, beispielsweise in reinem ASCII-Text. Abbildung 2.7 zeigt ein Beispiel für ein Metadokument.
Die ausführenden Instanzen heißen Elemente. Unter Elementen versteht man einen oder eine Menge von Prozessen, die innerhalb des Systems eine bestimmte Aufgabe wahrnehmen. Es gibt verschiedene Ausprägungen von Elementen. Zum Beispiel:
Die Elemente sind über eine definierte Schnittstelle an eine zum Gesamtsystem gehörende Infrastruktur verbunden, die Transportmechanismen bereitstellt, damit die Elemente miteinander kommunizieren können. Diese Schnittstelle definiert mindestens drei Kommandos. Ein Kommando dient der Übetragung von Dokumenten an das Element, eines der Ausführung von Dokumentenmethoden auf übertragenen Dokumenten und eines dem Abruf von Informationen über das Element und die von ihm bereitgestellten Funktionalitäten. Die Schnittstelle legt gleichzeitig die Basisfunktionalität aller Elemente fest.
Die Elemente stellen nur ihre Ressourcen zur Benutzung durch die Dokumentenmethoden zur Verfügung. In herkömmlichen Systemen findet man die Funktionalitäten in den Elementen realisiert. Damit sind die Möglichkeiten, Funktionalität auf Dokumentinhalte abzustimmen, beschränkt. Durch die Verbindung von Funktionalität und Dokument schafft man hier die Unabhängigkeit von den Dokumentinhalten und höchste Anpassungsmöglichkeiten an neue Dokumenttypen.
In Abhängigkeit von ihrer Funktionalität stellen die Elemente verschiedene Programmbibliotheken bereit, die von den Dokumentenmethoden benutzt werden, um auf die Ressourcen der Elemente zuzugreifen. Diese Bibliotheken werden nach ihrer Funktionalität gruppiert in sogenannten Paketen bereitgestellt. Jedes Paket realisiert eine Menge von Methoden (Operationen) zum Einsatz in den Dokumentenmethoden. Die bekannte Problematik beim Zusammenstellen von Operationen in Bibliotheken wächst durch den Anspruch an die Dokumentenmethoden, die Kenntnisse über elementspezifische Eigenschaften durch die Operationen zu verbergen. Das heißt, die Pakete stellen die Schnittstelle zwischen Methoden und Elementen dar.
Auf diese Weise können auf jedem Dokument typgerechte Operationen definiert werden. Soll eine Operation innerhalb eines Elements auf einem Dokument ausgeführt werden, so muß das Element keine Kenntnis über den Inhalt des Dokuments haben.
Jedes Element stellt mindestens eine Ablaufumgebung für Dokumentenmethoden bereit. Dokumentenmethoden werden ausschließlich innerhalb dieser Ablaufumgebungen der Elemente ausgeführt. Ist ein Metadokument zu einem Element übertragen worden, kann durch Senden einer sogenannten Aktivierung das Element dazu aufgefordert werden, eine bestimmte Dokumentmethode auf dem zugeordneten Dokument auszuführen. Dokumente werden entweder in den Metadokumenten oder aber über eine von den Methoden aufzubauenden separaten Netzverbindung übertragen. Zwischen Elementen werden lediglich Metadokumente, Aktivierungen und Rück- bzw. Fehlermeldungen übertragen. Abbildung 2.8 verdeutlicht ein Szenario dieser Art.