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


Schnittstelle Z39.50 für das System allegro

DFG-Gefördertz39.50 Logo


Situation nach einem Jahr Projektarbeit

Nachdem die Genehmigung im Vorjahr erfolgt war, ist es kurz darauf gelungen, einen geeigneten Projektbearbeiter zu finden. Es handelt sich um Herrn Dipl.-Ing. Cord Veltkamp. Die Arbeit konnte am 1.7.96 aufgenommen werden. Die nunmehr vorliegenden Ergebnisse sind die folgenden: (wobei der Projektbearbeiter wesentlichen Anteil hat an den ersten zwei und dem letzten Punkt)

  • Auf der Basis der portablen Klassenbibliothek in C++ wurde ein Datenbankserver zur Einsatzreife entwickelt, der in einer sehr einfachen, aber mächtigen Sprache namens avanti programmiert werden kann. Dieser Server wurde mit Schnittstellen ausgestattet, die ihn universell einsetzbar machen: auf UNIX-Systemen über "named pipes", über TCP/IP mit der allgemein verbreiteten "Socket"- Kommunikation, und sogar innerhalb von PC-Netzen mit einer Kommunikation über Dateiaustausch. Dieser Server hat neben komfortablen Abfrage- und Exportmöglichkeiten auch schon Updatingfunktionen, d.h. er kann Datensätze speichern. Der Server ist mit identischer Funktionalität auf dem Stand der Version 15 verfügbar für Windows 3.1, Windows '95 und NT, Linux, AIX, Solaris (SUN), DEC-Unix (Alpha) und SINIX.
  • Der avanti-Server ist das Kernstück der WWW-Anwendungen, die an der UB exemplarisch zum Einsatz gekommen sind und zur Zeit schon von ca. 20 Bibliotheken übernommen und adaptiert wurden. Die ältere Methodik, die schon 1995 entwickelt wurde, konnte so durch ein leistungsfähiges, echtes Client/Server-Konzept abgelöst werden. Jede allegro-Datenbank kann damit als WWW-OPAC angeboten werden. Wenn Linux oder Windows'95 bzw. NT eingesetzt wird, ist dies eine zur Zeit konkurrenzlos kostengünstige Methode, im WWW einen Katalog anzubieten. Es war entscheidend wichtig, die Entwicklung nicht allein auf UNIX abzustellen, da allegro-Anwender oftmals solche Anlagen gar nicht besitzen bzw. Anschaffen oder betreiben können. Die Kommunikation mit dem "avanti"-Server kann u.a. über die Socket-Funktionen des TCP/IP-Standards ablaufen. Kurzfristig sollen neben SUN-Solaris und Linux noch andere UNIX-Plattformen einsetzbar werden, z.B. DEC-Alpha. Für Windows 95 entstand nebenbei ein Client zum Experimentieren und Testen, dessen Funktionen in das im Aufbau befindliche monolithische allegro für Windows einfließen sollen. Diese Software wurde im August auf der ersten allegro-CD-ROM zusammen mit der Version 15 an alle Anwender ausgeliefert.
  • Der avanti-Server kann aber auch schon für eine dezentrale Katalogisierung per Web-Browser eingesetzt werden. Dafür hat die UB als erste Musteranwendung die "Braunschweiger Forschungsbibliographie" erstellt. In diese Datenbank hinein können Braunschweiger Forscher per HTML-Formular online ihre Veröffentlichungen einspeisen. An diesem Verfahren besteht großes Interesse nicht nur bei anderen Hochschulen, sondern auch bei Fachgesellschaften, die damit ihre Mitglieder in die Lage versetzen wollen, ihre Veröffentlichungen auf schnellstem Wege nachzuweisen. Als Beispiel dafür läuft bei der UB Braunschweig schon eine Fachdatenbank "Vegetationsökologie".
  • Die allegro-Kernfunktionen wurden im selben Zeitraum abgerundet, d.h. noch fehlende Funktionen wurden ergänzt und das Kernsystem auf DOS und UNIX auf ein mit "V15" bezeichnetes Niveau gebracht. Damit ist jetzt gewährleistet, daß allegro-Datenbanken jeder Größe auf allen Plattformen ohne strukturelle Unterschiede betrieben werden können, und daß die konventionellen und die neuen Programme gleichzeitig auf einer Datenbank arbeiten können.
  • Eingehend untersucht wurde die umfangreiche Z39.50-Funktionsbibliothek des DBV-OSI-Projekts. Diese ist leider nur in der für UNIX geschriebenen Version im Quelltext frei verfügbar. Die Mehrzahl der allegro-Anwender bevorzugt jedoch Windows 95 oder NT. Daher ergibt sich die Notwendigkeit, die Bibliothek in eine Windows-Version zu übersetzen. Während diese Aufgabe für die Kernfunktionen und das Client-Programm erledigt ist, stehen die umfangreichen Änderungen des Prozessmanagements in den serverspezifischen Programmteilen noch aus.

Für die Anwender und das interessierte Fachpublikum wurden diese Entwicklungen in den allegro news Nr.44 (Jan. 1997) überblicksartig beschrieben und in eigenen Papieren und HTML-Files im Detail dokumentiert. Diese Dokumentationen sind per FTP und auf dem Web-Server frei zugänglich (http://www.biblio.tu-bs.de/allegro/index.htm),ab August '97 auch auf der CD-ROM der Version 15. Mit diesen Ergebnissen sind Grundlagen geschaffen worden, die breiter sind, als es die Zielstellung Z39.50 allein erfordert hätte, die sich aber nicht von dieser Zielstellung entfernen. Es wurde kurz nach Projektbeginn erkannt, daß zunächst einmal ein sehr großer Bedarf für die Einbindung von allegro-Datenbanken in das WWW bestand, also für einen Zugang von außen mittels der inzwischen allgegenwärtigen Browser. Innerhalb der vergangenen 12 Monate hat sich der Trend auf breiter Basis durchgesetzt, die Browser zur eigentlichen Plattform für neue Anwendungen zu machen. In Verbindung mit der Sprache JAVA ergibt sich dadurch erstmals die Chance, wirklich 100% plattformunabhängige Programme zu entwickeln. Kommerzielle Anbieter und Pica (mit der neuen WinIBW und dem WebOPAC) folgen offenbar mit großem Engagement gleichfalls diesem Trend.
Es ergibt sich aus den vorliegenden Erfahrungen, daß der Bedarf für einen Z39.50-Server für den Zugriff auf allegro-Datenbanken sehr viel größer ist, als die Einbindung von Z39.50-Client-Funktionen in das allegro-System. Vorhandene, leicht erhältliche Standalone-Clients (z.B. BookWhere) lassen sich sehr leicht, zumal unter Win'95 oder NT, mit einem allegro-System koppeln. Ein Server aber ist unbedingt notwendig, damit in Zukunft in der sich herausbildenden vernetzten Verbundlandschaft allegro-Datenbanken von überall her abfragbar werden. Die laufenden Arbeiten sind deshalb darauf gerichtet, auf der Basis des avanti-Servers diese "Target"-Funktionalität zu entwickeln. Der avanti-Server muß dazu um weitere interne Funktionen ergänzt werden.

Anzahl und Vielfalt der bereits in Routine laufenden und der in Vorbereitung befindlichen Anwendungen belegen, daß die Projektarbeit schon jetzt einen hohen Nutzen für die Bibliothekswelt aller Sparten erbracht hat. Die Verbreiterung des Ansatzes und die notwendige Einbeziehung der Windows-Plattformen hat es aber mit sich gebracht, daß nun das ursprüngliche Ziel der Z39.50-Realisierung zum Jahresende 1997 nicht voll erreicht werden kann. Die Arbeit soll daher fortgesetzt werden.

Ein fortgesetztes Engagement für die allegro-Software liegt aus mehreren Gründen im Interesse einer großen Zahl von Bibliotheken, und die UB Braunschweig sieht sich hier gefordert und ist zu weiteren Eigenleistungen bereit:

  • allegro ist das einzige System, das in allen Sparten des Bibliothekswesens im Einsatz ist, und das einzige, mit dem nicht nur Kataloge im üblichen Sinne, sondern Datenbanken für Bestände und Sondersammlungen aller Art betrieben werden
  • Die allegro-Software ist die einzige aus dem deutschen Bibliothekswesen hervorgegangene Software-entwicklung, die eine nennenswerte Verbreitung erreicht hat. Für viele Anwender gibt es aus Kostengründen oder wegen der Flexibilität derzeit keine Alternative. Das DFG-Projekt hat schon jetzt dazu beigetragen, die Netzwelt für Bibliotheken zu öffnen, die auf andere Art ihre Leistungen nicht hätten anbieten können. Dazu zählen vor allem Spezialbibliotheken, aber auch Hochschul- und Öffentliche Bibliotheken ( http://www.biblio.tu-bs.de/allegro/ac-dbs.htm).
  • Das allegro-System hat eine eigene, selbst entwickelte Datenbankgrundlage. Diese und auch alle anderen Komponenten sind frei von Bindungen an Dritte, d.h. es fallen keine Lizenzkosten an (wie z.B. für ein Standard- Datenbanksystem), wenn allegro genutzt werden soll.
  • Das Knowhow für allegro ist weit verbreitet: auf dem letzten Expertentreffen im April '97 versammelten sich über 50 erfahrene Anwender aus allen Regionen. Es liegen aktuelle Dokumentationen vor, die sowohl das Einarbeiten erleichtern als auch solche, die den erfahrenen Systemverwalter unterstützen. Dadurch ist einerseits für Einsteiger die Situation immer günstiger geworden, aber auch für Systemverwalter, die "nebenbei" eine allegro-Datenbank betreuen sollen. Anwender tauschen intensiv untereinander Erfahrungen und Daten aus, teils in regionalen (Berlin, Nordwest), teils in fachlichen Arbeitskreisen (kirchliche Bibl.) ( http://www.biblio.tu-bs.de/allegro/anwender/index.htm) Eine sehr wichtige Funktion für Erfahrungsaustausch und Problemlösung hat die E-mail-Liste, in der jetzt fast 200 Anwender aus allen Sparten eingetragen sind.
  • Durch die Entwicklung der Klassenbibliothek in C++ ist ein zukunftssicheres Paket entstanden, das nicht mehr von den Kenntnissen einzelner Entwicklerpersonen abhängig ist. Der "avanti"-Server öffnet das System endgültig für die Einbindung in andere Softwareumgebungen.

Die letzten zwei Punkte sind wichtig, weil Bibliotheksprojekte in der Regel langfristig angelegt sind und Projektträger deshalb die Sicherheit brauchen, daß die Software und das Knowhow dazu langfristig verläßlich verfügbar sind.

Die Unterstützung durch die DFG hat zu einem günstigen Zeitpunkt eingesetzt, hat wichtige Impulse gegeben und schon viel sichtbaren Nutzen gestiftet.

Zur "Origin"-Funktion

Als der Projektantrag gestellt wurde, waren Standalone-Clients für das Z39.50-Protokoll noch fast unbekannt. Innerhalb 1996/97 nahmen diese Programme einen starken Aufschwung, und zwar sind sowohl kommerzielle wie Public Domain-Programme zu haben. In den fensterorientierten Multitasking-Umgebungen, die jetzt Stand der Technik sind, kann ein Z39.50-Client in einem eigenen Fenster ständig bereitstehen. Daten, die er z.B. als MARC-Sätze heranholt, können über die Importschnittstelle in eine "allegro"-Umgebung übernommen werden. Der avanti-Server wurde deshalb mit einfach zu handhabenden Updatingfunktionen ausgestattet, die es nun ermöglichen, auch einzelne Datensätze zum Einspeisen zu übergeben, wahlweise zum Einmischen als neuen Datensatz oder zum Ersetzen (Überschreiben) eines vorhandenen Satzes. Dieser Ansatz erweist sich schon jetzt als flexibler als ein dedizierter Z39.50-Client. Zum Beispiel arbeitet auch die "Braunschweiger Forschungsbibliographie" mit dieser Funktionalität: dabei wird eine allegro-Datenbank über HTML-Formulareingaben mit Daten beschickt. Diese Anwendung hat mit Z39.50 nichts zu tun. Ein anderes Beispiel: über das Z39.50-Gateway der Library of Congress können schon jetzt ohne eigene Client-Software Daten im USMARC-Format per WWW heruntergeladen werden. Diese lassen sich mit vorhandenen Parametern umwandeln und in eine allegro-Datenbank einspeisen.

Für beide Einsatzfälle braucht der Anwender, wie gesagt, kein spezielles Client-Programm, sondern nur einen Browser. Nachdem die Web-Browser in der letzten Zeit einen enormen Aufschwung erlebt haben, wobei insbesondere mit Java auch diffizile Funktionen in Web-Dokumente und Formulare verpackt werden können, ist nunmehr die Tendenz eindeutig, keine Client-Software lokal zu installieren, sondern wo immer möglich alle Funktionen des Zugriffs auf entfernte Datenbanken in HTML/Java zu verlegen. Das bekannteste Beispiel im Bibliothekswesen ist der Karlsruher Virtuelle Katalog (KVK).

Wegen der neuen Programmiermöglichkeiten wird in Zukunft die Arbeit mit allegro-Datenbanken immer weniger unter einer vom Entwickler vorgegebenen Oberfläche stattfinden, sondern es wird unterschiedliche Clients geben, zum Teil von Anwendern selbst programmiert oder angepaßt. Exemplarisch ist ein solcher, und zwar nach aktuellem Stand der "Windows"-Technik, schon im Projekt entwickelt worden. Dieser Client bietet die Möglichkeit des Ausbaus sowohl in Richtung auf mehr allegro-Funktionalität unter Windows als auch auf integrierte Z39.50-Funktionalität.

Insgesamt zeigte sich, daß die "Origin"-Funktionalität für ein so offenes und in der Praxis in so unterschiedlichen Anwendungen arbeitendes System wie allegro nicht auf einen einzigen programmtechnischen Ansatz beschränkt bleiben sollte, auch wenn dies schneller erreichbar gewesen wäre. Der jetzt erreichte Stand bietet für die Praxis mehrere Optionen, vor allem auch für Entwicklungsarbeiten andernorts, unabhängig von der UB Braunschweig. Anwender werden durch allegro nicht auf eine bestimmte Arbeitsweise festgelegt.


Zur "Target"-Funktion

Viel wichtiger als zu Beginn des Projekts erweist sich jetzt, wie schon bemerkt, daß allegro-Datenbanken für Z39.50-Systeme als Target ansprechbar werden. Die Web-Anbindungen sind dafür keineswegs ein vollwertiger Ersatz, weil sie nur individuell genutzt werden können. Jeder WWW-Katalog hat seine eigene Eingabemaske und seine eigenen Darstellungsformen für die Ergebnisse. Ziel ist dagegen, daß ohne Kenntnisse der lokalspezifischen Besonderheiten eine Abfrage in standardisierter Form an eine allegro-Datenbank geschickt werden kann, und daß die Ergebnisse in wohldefinierter Form geliefert werden, etwa als MARC- oder MAB-Datensatz oder als ISBD-Aufbereitung. Speziell für diese Aufgabe ist es notwendig, die aus DBV-OSI hervorgegangenen Quellprogramme zu nutzen. Zeitaufwendiger als zunächst vorhersehbar erwies sich, die SIL-Quellen zum Einsatz zu bringen, und zwar weil diese nur für UNIX-Plattformen entwickelt worden waren. Die allegro-Anwenderschaft arbeitet aber nur zu einem sehr kleinen Teil auf UNIX-Maschinen, und ganz allgemein gewinnt ja Windows'NT (wenn nicht gar '95) in den kleinen und mittleren Institutionen wegen der erheblich geringeren Kosten an Boden. Eine vor kurzem angestellte Umfrage unter den Anwendern hat das deutlich bestätigt (Bericht darüber in allegro news Nr. 47). Zumal der avanti-Server als wichtige Komponente bereits auf allen genannten Plattformen arbeitet, muß unbedingt darauf hingearbeitet werden, die Z39.50 Target- Funktion auch auf NT bereitstellen zu können. Die Zahl der potentiellen Nachnutzer erhöht sich dadurch beträchtlich. Target- Funktionen der einfachen Art, wie sie bisher in den bekannten Z39.50-Gateways der Deutschen Bibliothek und der Library of Congress zu finden sind, sollen noch in 1997 erstellt werden. Dann können allegro-Datenbanken auch über solche Gateways zugänglich gemacht werden.

Neue Herausforderungen und Chancen

Ebenfalls in den letzten Monaten hat sich durch die Sprache JAVA in der DV-Welt ein Umbruch mit großer Tragweite angebahnt. Wie schon oben angedeutet, sind nun maßgeschneiderte, aber dennoch plattformunabhängige Programme mit Client-Funktionen zum Zugriff auf allegro-Datenbanken in greifbare Nähe gerückt, und zwar sowohl Internet- (HTML-) Anwendungen als auch eigenständige Programme, die mit dem avanti-Server über "Sockets" kommunizieren. Die Grundlagen sind gelegt, die ersten Musteranwendungen bewähren sich in der Praxis. Wichtig ist, die neuen Methoden für Programmierer noch besser zu erschließen und nachnutzbar zu machen.

Die Projektarbeit wurde in engem Kontakt mit der Praxis durchgeführt und hat die aktuellen Trends der DV-Entwicklung berücksichtigt, insbesondere das Web und NT neben UNIX als Plattform. Daraus ergeben sich einerseits Lösungen, die schon jetzt im Einsatz sind, andererseits ein größeres und längerfristiges Nutzungspotential für die Zukunft. Die logische Folge war eine Ausweitung der Arbeiten, so daß in dem ursprünglich geplanten Zeitrahmen nicht alle projektierten Leistungen abgeschlossen werden können. In einem Zeitraum von weiteren 12 Monaten soll das Projekt einen weitgehenden Abschluß finden.

Vorgesehen ist ferner, die Arbeitsergebnisse auf Tagungen vorzustellen. Noch in diesem Jahr wird es dazu in Bonn und in Wolfenbüttel Gelegenheit geben. Im dritten Quartal 1998 soll das Thema Z39.50 speziell und Internet-Anwendungen allgemein den Schwerpunkt bilden auf dem allegro-Jahrestreffen in Braunschweig. Das Interesse hat aber in jüngster Zeit so stark zugenommen, daß wohl noch ein weiteres Treffen zu einem früheren Zeitpunkt organisiert werden sollte.

Alle Dokumentationen werden über das WWW und FTP verfügbar gemacht, die aktuelle Information der Anwender erfolgt über die E-mail-Liste.



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