UB BRAUNSCHWEIG
Symbolfoto
  • Impressum
  • Startseite
  • allegro-C von A-Z
  • Druckversion


Schnittstelle Z39.50 für das System allegro

DFG-Gefördertz39.50 Logo


Projektablauf

Die Z39.50-Target-Entwicklung gliederte sich in vier Phasen, die in der folgenden Tabelle zusammengefaßt sind:

ab Juli 1996

Informationsrecherche
  • Test und Auswahl der Z39.50 Funktionsbibliothek
  • Übersetzung der DBV-OSI II - Bibliothek unter Windows
  • 1997

    allegro-Datenbankserver:
  • Entwicklung des avanti-Servers für alle relevanten Plattformen.
  • Umstellung der WWW-Schnittstelle auf den avanti-Server:allegro kann nun auch als Client-Server-System fungieren und setzt sich als solches schnell durch.
  • 1998

    Z39.50 Target-Funktionalität:

  • Verbindung der DBV-OSI II-API mit dem avanti-Server
  • Oktober 1998: Vorstellung auf dem allegro-Expertentreffen
  • Beginn der Beta-Phase, Freigabe mehrerer Datenbanken für Zugriffe von außen
  • Entwicklung eines ersten Client-Moduls in Verbindung mit dem neuen OPAC alcarta
  • 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:

    Funktionsdiagramm: Z39.50-Server>
<P ALIGN=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:

    • WWW-Zugriffe und Z39.50-Zugriffe laufen über denselben Datenbankserver, d.h.
    • effiziente Entwicklung der Programme für WWW und Z39.50 (keine Doppelprogrammierung)
    • zentrale Administration der Datenbanken (die Datenbanken sind den Clients unter einem alias-Namen bekannt).
    • Stabilitätsgewinn durch die Trennung zwischen Z39.50-Target und Datenbankabfrage
    • Datenbank und Z39.50-Target können auf getrennten Maschinen und Plattformen laufen

    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.

     

    Z39.50-Dienste

    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:
    • Search
    • Present
    • Result-Set Delete
    • Initialize, Close

    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. 


    Plattformen

    • Windows ab 98
    • Linux  ab Kernel 2.x
    • Solaris ab Version 2.5

    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").

    Zurück Weiter Index



    [i] zuletzt aktualisiert: 08.04.2011
    Email: ub@tu-bs.de