Schnittstelle Z39.50 für das System allegro |
Die Z39.50-Target-Entwicklung gliederte sich in vier Phasen, die in der folgenden Tabelle zusammengefaßt sind:
|
ab Juli 1996 |
Informationsrecherche |
|
1997 |
allegro-Datenbankserver:
|
|
1998 |
Z39.50
Target-Funktionalität:
|
| 2003 |
Neu-Implementation des
Z39.50-Servers unter Verwendung der YAZ-Bibliothek von Indexdata. |
Während der Informationsphase wurde aus den im Internet verfügbaren Angeboten eine geeignete Z39.50-Funktionsbibliothek ausgewählt. Nach Prüfung der Alternativen fiel die Wahl auf das Softwarepaket der Deutschen Bibliothek, das im Rahmen des DBV OSI II - Projektes entstanden ist. Dieses hatte zum Ziel, die Bibliotheksverbünde zu vernetzen, und verwendete dazu Z39.50 als Austauschprotokoll.
In der zweiten Phase mußte allegro zu einem Client-Server-System ausgebaut werden. Der 1996 entwickelte avanti-Server erhielt eine TCP/IP-Schnittstelle und wurde in einer um zahlreiche Möglichkeiten erweiterten Version sowohl für UNIX als auch Windows den Anwendern übergeben. Zu dem Paket gehört eine WWW-Schnittstelle, die avanti als Client anspricht. Wie erhofft gibt es bereits von Anwendern erstellte Client-Programme. Sie zeigen, daß allegro sich als Client-Server-System durchsetzt. Obwohl der avanti-Server heute ein eigenständiges Programm ist, das viele Fähigkeiten besitzt, die vom Z39.50-Protokoll nicht genutzt werden, liegen seine Wurzeln im Z39.50-Projekt. Der avanti-Server übernimmt die Datenbankfunktion des Z39.50-Targets.
Die Kopplung der DBV-OSI-Bibliothek mit dem avanti-Server
war die Aufgabe der dritten Projektphase. Auf dem allegro-Expertentreffen
am 22./23. Oktober 1998 wurde der Z39.50-Target erstmals vorgestellt.
Nach mehreren Jahren im Produktiveinsatz wurden
einige Designschwächen im Z39.50-Server deutlich. Die
DBV-OSI-Bibliothek, die die Grundlage des ursprünglichen Servers
bildet, wird seit mehreren Jahren nicht mehr weiterentwickelt, es
bestand daher die Gefahr, daß modernere Protokollvarianten nicht
mehr unterstützt werden können. Deutlich wurde dies
insbesondere bei den designierten Nachfolgeprotollen SRW und SRU.
Störend war weiterhin, daß die
DBV-OSI-Bibliothek dem Programmierer sehr viel Eigenarbeit für die
Kommunikation zwischen Server und Client aufbürdet, was in
umfangreichem und z.T. schwer leserlichem Programmcode resultiert.
Mittlerweile haben sich modernere Toolkits, wie etwa die frei
verfügbare YAZ-Bibliothek
von der Firma Indexdata durchgesetzt, die die
Server-Client-Kommunikation vollständig in Datenstrukturen
kapseln.
Weil sich zudem Probleme bei dem Betrieb unter
modernen Linux- und Windows-Systemen häuften, entschieden sich die
Entwickler zu einer Neu-Implementation des Servers auf Basis
der YAZ-Bibliothek. Diese befindet sich z.Z. im Beta-Test.
Das Zusammenspiel der Komponenten
Das enge Zusammenwirken des Z39.50-Moduls mit dem avanti-Server verdeutlicht das folgende Blockdiagramm:
Der
Z39.50-Target übersetzt die eintreffenden Anfragen in
Aufträge an den avanti-Server. Dieser arbeitet
idealerweise auf demselben Rechner. Es ist aber auch eine physikalische
Trennung der beiden Komponenten realisierbar und an der UB Braunschweig
in Betrieb. Aus der Sicht des avanti-Servers ist der Z39.50
Target nur ein weiterer Client, von denen er bei Bedarf mehrere
parallel bedient. Der avanti-Server übernimmt die
Verwaltung der lokalen allegro-Datenbanken und liefert die
Ergebnisse der Suche im gewählten Austauschformat an das
Z39.50-Modul. Dort erfolgt die abschließende Codierung in die
Z39.50-Sprache und die Übergabe an den externen Z39.50-Client.
Die Arbeitsteilung zwischen dem Z39.50-Target und dem avanti-Server hat einige Vorteile:
Der Nachteil einer verlängerten Antwortzeit fällt nicht ins Gewicht, da der limitierende Faktor der Kommunikation die Laufzeit im Netz ist.
Im Schaubild ist nicht eingezeichnet, daß auf die Datenbanken auch noch gleichzeitig mit den monolithischen Programmen PRESTO, a99 und alcarta zugegriffen werden kann. Diese brauchen weder den avanti-Server noch das Internet/Intranet, sondern nur die Berechtigung, die Dateien der Datenbank im Mehrplatzmodus zu öffnen. Dies ist auf allen Plattformen einschließlich Novell und NT möglich.
Die YAZ-Bibliothek befindet sich auf dem Stand V3 des Z39.50-Protokolls. Wie die meisten Z39.50-Server unterstützt auch der allegro-Target nicht alle Dienste des Protokolls. Zur Zeit sind die folgenden Services verfügbar:Der Client kann egriffe in der Datenbank suchen (Search) und sich formatierte Datensätze schicken lassen (Present). Die Suchbegriffe können mit alten Ergebnismengen logisch kombiniert werden. Werden einzelne Ergebnismengen nicht mehr benötigt, können sie gezielt gelöscht werden (Result-Set-Delete). Uns ist kein Standard-Client bekannt, der weitergehende Protokollfunktionen nachfragt. Die Entwicklung des allegro-Targets wird natürlich fortgeführt. Zunächst ist dabei die Neu-Implementation der Dienste Scan (Registerauszug) und ggf. auch Update (Änderung des Datenbankinhalts) geplant.
Der Betrieb unter Windows 98 wird nicht empfohlen, da die Stabilität des Betriebssystems Defizite aufweist. Windows NT und höher ist jedoch als Plattform gut geeignet. Hier kann der Server auch als Systemdienst gestartet werden. Unter Unix läuft der Server dagegen als Hintergrundprozeß (oder "Daemon").
|