Das Projekt NLI Z39.50
Konzeption des Zugangssystems
Das Zugangssystem besteht aus mehreren Komponenten, die
in einer Client-Server Architektur zusammengefaßt sind.
Eine herkömmliche Client-Server Architektur
besteht aus verschiedenen Clients und Servern, die
durch Nachrichtenaustausch miteinander kommunizieren.
In der von uns konzipierten Architektur wird zwischen Clients der Benutzer
und Servern der Provider das NLI geschaltet, das sowohl als Server
(aus Sicht des Benutzers)
als auch als Client (für den Datenbank-Server eines Informationsanbieters)
fungiert.
Zur Abgrenzung von herkömmlicher Client-Server Architektur, und um
Mehrdeutigkeiten zu vermeiden, sollen
zunächst einige weitere Bezeichnungen eingeführt werden.
Der Teil des Systems, der auf dem Rechner des Benutzers ausgeführt wird,
wird als Front-End bezeichnet, die Gesamtheit
der Zielsysteme (Datenbanken) der Informationsprovider als
Back-End. Einzelne Zielsysteme
des Back-Ends sollen sowohl lokal auf einem Server als auch verteilt auf
räumlich entfernten Servern vorliegen können.
Die Systemkomponenten zwischen Front-End und Back-End werden
unter dem Begriff NLI zusammengefaßt. Die einzelnen Module
des NLI können auf einem Rechner bzw. auf einer kleinen Gruppe
von räumlich nahen Rechnern (Cluster) ausgeführt werden.
Die Komponenten des Zugangssystems (Front-End, Back-End und NLI)
kommunizieren miteinander durch Austausch von Nachrichten unter Verwendung
standardisierter Nachrichtenprotokolle bzw. -schnittstellen.
Im Folgenden wird die Arbeitsweise der einzelnen Komponenten des
NLI genauer aufgeschlüsselt. Im NLI lassen sich sechs Hauptbestandteile
identifieren, deren
Verknüpfung in Abbildung \ref{nli_architecture} dargestellt ist:
-
der Benutzer-Client (User-Client) steuert den Datenaustausch
zwischen NLI und Benutzer. Er präsentiert die Inhalte in der
graphischen Benutzungsoberfläche, d. h. er extrahiert aus der
Nachricht mit den Eingaben des Nutzers die ASCII-Zeichenkette
der Nutzeranfrage
und leitet sie an die WCFA weiter und er generiert aus den
aufbereiteten Ergebnissen des Antwortgenerierungsmoduls
lesbare HTML-Seiten für den Nutzer.
- das Modul zur Wortklassen-gesteuerten funktionellen
Analyse natürlicher Sprache (WCFA) analysiert die natürlichsprachliche
Anfrage und übersetzt diese in formalsprachliche Bedeutungsstrukturen (FBS).
- das Modul zur Interpretation und Transformation
formalsprachlichen Bedeutungsstrukturen (TRANSFOR)
transformiert die FBS in einen Ausdruck der Eingabesprache für das
Z39.50 Tool YAZ, in das sogenannte Prefix Query Format (PQF).
- der Client für Information-Retrieval (IR-Client)
besitzt eine innere Struktur:
er bezieht in einer Vorverarbeitungskomponente (VVK)
die Meta-Informationen über die Provider ein und übersetzt
mit Hilfe des YAZ-Tools PQF-Ausdrücke in das Z39.50 Protokoll.
Die entsprechend transformierte Anfrage wird
als Type-I Query
des Z39.50 Protokolls an die Zielsysteme weitergeleitet.
Nach Bearbeitung der Anfragen durch die Zielsysteme
nimmt der IR-Client die Antworten in verschiedenen Rückgabeformaten
(Z39.50 Record Syntax wie z. B. USMarc, UniMarc, MAB2)
entgegen, sammelt sie, ordnet sie den Fragen bzw. Fragestellern zu
und schickt sie an das Modul zur Formatreduktion.
- das Modul zur Formatreduktion der Ergebnismengen und Rückgabeformate
bzgl. einer Anfrage (REDUCT) hat zwei Aufgaben: 1. die
verschiedenen Ergebnisformate zusammenzuführen sowie redundante
Ergebnisse zu finden und zu eliminieren und 2. die Ergebnisse
in ein einheitliches generisches Format (Generic Record Syntax - GRS)
umzuwandeln.
- die Komponente zur Generierung passender Antworten auf eine Anfrage
(ANSWER) erzeugt eine dem Nutzer verständliche
Antwort und schickt sie zur Vorbereitung der Präsentation an den
User-Client.
Abbildung 1:
Architektur des NLI.
Abbildung 1 zeigt
die einzelnen Module des NLI. Diese besitzen jeweils
Verbindungen zu Komponenten, von denen sie Eingaben erhalten und zu denen,
an die sie ihre Ausgaben weiterleiten (in der Abbildung dargestellt durch
Pfeile mit weißem Kopf). Die Systemkomponenten beziehen zusätzlich
aus einer eigenen Datenbasis (vorwiegend realisiert in Form von Tabellen und
Regelmengen) Daten, die zur Kontrolle und Steuerung des
Programmflusses dienen (dargestellt als Pfeile mit schwarzem Kopf).
Nach Erhalt einer Eingabe wird diese nötigenfalls in einer
Vorverarbeitungsphase normalisiert (z. B. durch Elimination von Sonderzeichen).
Diese Vorverarbeitungsschritte fehlen aus Gründen der Übersichtlichkeit
in der Darstellung der Architektur des NLI.
Das NLI ist als verteiltes System konzipiert, d. h. die einzelnen
Komponenten (1 -- 6) sollen auf mehrere Rechner verteilt werden können.
Die Kommunikation zwischen den Modulen findet über sogenannte Sockets
statt. Sockets sind bidirektionale Verbindungen zwischen
zwei (nicht notwendigerweise verschiedenen) Systemen über die gleichzeitig
Daten empfangen und gesendet werden können.
FernUniversität Hagen
Fachbereich Informatik
Lehrgebiet Praktische Informatik VII
Johannes Leveling Homepage