# Z39.50

Z39.50 :
| Familie: | Internetprotokollfamilie |
| Einsatzgebiet: | Abfrage Informationssysteme, Portale Literaturverzeichnisse u. a. |
| Port: | meist 210/TCP |
| Z39.50 im TCP/IP-Protokollstapel: Anwendung Z39.50 Transport TCP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token Bus Token Ring FDDI … ||
| Standards: | ISO 23950 ANSI/NISO Z39.50-2003 |
Z39.50 ist ein Netzwerkprotokoll, das im Bibliothekswesen als Standard zur Abfrage von bibliografischen Informationssystemen verwendet wird. Das Protokoll ist ein verbindungsorientiertes Protokoll auf der Anwendungsschicht 7 des OSI-Referenzmodells. Z39.50 generiert eine oder mehrere Sitzungen (simultaneous sessions) zwischen Z39.50-Clients und -Servern (bis Z39.50 Version 3 in OSI-Terminologie: Origin und Target). Eine Transformations-Syntax ermöglicht die einheitliche Abfrage heterogener Informationssysteme. Das jeweilige Informationssystem kann die Daten in unterschiedlicher Form übermitteln, sodass es spezifischen Anforderungen genügen kann.
Z39.50 ist für den Einsatz in Portalumgebungen prädestiniert, die über einen einheitlichen Zugang eine parallele Suche in mehreren bibliografischen Informationssystemen ermöglichen.
Vielfach angewendet wird Z39.50 aber auch bei Literaturverwaltungsprogrammen wie EndNote, LibraryThing oder auch Learning-Management-Systemen wie zum Beispiel Stud.IP, die die Inhalte bibliografischer Informationssysteme für den Aufbau eigener Literaturlisten nutzen.
Verwaltung und Entwicklung des Protokolls erfolgt über die Library of Congress, die seit 1990 als Maintenance Agency Z39.50 fungiert. Nachfolger von Z39.50 ist das HTTP-basierte Protokoll Search/Retrieve via URL (SRU/SRW), das im Rahmen des Projekt Z39.50 International Next Generation (ZING) entwickelt wurde.

## Geschichte
### Entwicklung

Die Entwicklung von Z39.50 wurde 1984 in den USA durch die National Information Standards Organization (NISO) begonnen und wird seit 1990 durch die Library of Congress fortgeführt. Es wurden mehrere Versionen implementiert:
* Z39.50-1988, Z39.50-1992(Version 2), Z39.50-1995(Version 3)
* Z39.50-2003(Version 4) als aktuelle Version, welche die Versionen 2 und 3 beinhaltet und im Wesentlichen eine Konsolidierung des Standards der Version 3 darstellt.
Neben den US-amerikanischen Standards (ANSI/NISO Z39.50-2003) ist Z39.50 seit 1998 auch International Standard ISO 23950: "Information Retrieval (Z39.50): Application Service Definition and Protocol Specification".
Die großflächige Einführung von Z39.50 in Europa erfolgte im Rahmen des Projektes ONE – Opac Network Europe bis Ende der 1990er Jahre, in Deutschland durch das Projekt DBV-OSI (1993–1997) und ist fast ausschließlich auf bibliographische Informationssysteme beschränkt.

### DBV-OSI

In Deutschland wurde mit dem Ziel der Erweiterung der bibliographischen Informationssysteme um eine Z39.50-Schnittstelle von 1993–1997 das Projekt DBV-OSI (Deutscher Bibliothekenverbund – Open Systems Interconnection) durchgeführt, gefördert durch DFG und Bundesregierung. Nach einem Vorprojekt erfolgte in Stufe II die Realisierung (DBV-OSI-II).
Projektpartner waren:
* Die Deutsche Bibliothek (Federführung)
* Danet GmbH, Darmstadt (Techn. Projektmanagement)
* Fachinformationszentrum Karlsruhe GmbH
* Deutsches Institut für Medizinische Dokumentation und Information (DIMDI)
* Deutsches Bibliotheksinstitut (DBI)
* Bibliotheksverbund Bayern (BVB)
* Südwestdeutscher Bibliotheksverbund (SWB)
* Gemeinsamer Bibliotheksverbund (GBV)
* PICA Centrum voor Bibliotheekautomatisering
Es wurden folgende Z39.50 Basisdienste realisiert: INITIALIZE, SEARCH, PRESENT, DELETE_RESULT_SET, RESOURCE_REPORT, SCAN, CLOSE.
Das Ergebnis von DBV-OSI ist der flächendeckende Einsatz von Z39.50 zur Abfrage von Daten aus bibliographischen Informationssystemen in Deutschland (Stand 2007).

## Protokollspezifikation

Die detaillierte Protokollspezifikation befindet sich auf den Webseiten der Library of Congress:
* Z39.50-1996
* Z39.50-2003 (PDF; 631 kB)
Wesentliche Festlegungen des Protokolls Z39.50 sind:
* Protokoll-Dienste
* Transfer-Syntax (Operatoren, Attribut-Sets)
* verwendete Formate (Record-Syntaxes)

### Protokolldienste

Kurzbeschreibung der Basisdienste des DBV-OSI-Projektes:
INITIALIZE – Authentifizierung des Clients, Eröffnung einer Z39.50-Session
* Protokollspezifische Festlegungen für die Session: unter anderem Protokollversion, anwendbare Dienste, bevorzugte und maximale Message-Size
SEARCH – Suchanfragen
* Client: Query, Name von Result-Sets und Format
* Server: Anzahl Treffer, Statusinfo, gegebenenfalls einige Datensätze
PRESENT – Übertragung von Suchergebnissen
* Client: Name von Result-Set und Format, Nummern der Records
* Server: überträgt gewünschte Records
DELETE_RESULT_SET – Löschen von Result-Sets beim Targetsystem
* Client: Name des/der Result Sets
* Server: Delete-Operation-Status
RESOURCE_REPORT – Austausch von Abrechnungsinformationen
* Client: Abfrage der angefallenen Kosten (verbrauchte Ressourcen)
* Server: angefallene Kosten
SCAN (BROWSE) – Suchen in geordneten Term-Listen (zum Beispiel Titel, Autor, und so weiter)
* Client: Term-Liste, Start-Term, Größe der Scan-Schritte
* Server: Scan-Status, Anzahl der Treffer
CLOSE – Schließen der Z39.50-Session (ab V3)
* kann von Client oder Server initiiert werden
* Server: Löschen aller während der Sitzung aufgebauten Result-Sets

### Transfer-Syntax

Wegen der verschiedenen Query-Syntaxen bei Client und Server wird auf beiden Seiten eine Transformation der Abfragesprachen in die systemspezifische Syntax vorgenommen. Dafür sind in der Z39.50-Protokollspezifikation verschiedene Query-Typen definiert (RPN, CCL etc.).
Beispiel:
* Abfrage Client: SEARCH per Beckmann, Andreas AND tit Gott Bautzen
* Abfrage Server: FIND AU = Beckmann A AND TIT = Gott Bautzen
Durch Übertragen der Suchterme in ein Zahlensystem (Attribute-Set) werden die Probleme der Groß-/Kleinschreibung (tit → TIT) und der verschiedenen Namen bei gleicher Semantik (per → AU) gelöst.
Obige Abfrage wird unter Anwendung des Attribute-Sets (Bibliographic Information) in der Abfragesprache PQF (Prefix Query Format) dann wie folgt formuliert:
* find @and @attr 1=1 @attr 5=100 "Beckmann, Andreas" @attr 1=4 @attr 5=100 "Gott Bautzen"

### Verwendete Formate

Die Server bieten den Clients die Daten in mindestens einem, in der Regel aber in mehreren Formaten an. Typische bibliographische Formate (Record-Syntaxes) für Z39.50-Server sind:
* MARC 21 (USMARC)
* MAB

## Implementierung
### Target Profiles

Die Verwendung der Attribute für die Zielsysteme (Z39.50-Server) wird in Target-Profiles beschrieben. Folgende Angaben sind in der Regel in einem Target-Profile enthalten:
* Art des Zugangs (öffentlich oder zum Beispiel mit IP-Restriktionen, ggf. Nutzer- und Passwortangaben)
* Name der Datenbank
* verwendete Zeichensätze
* verwendete Ports (oft mehrere Ports für verschiedene Zeichensätze)
* Name des Hostes für den Zugang (Domain Name)
* Liste der suchbaren Felder mit zugeordnetem Attribut-Set

### Zugriff über einen Webbrowser

Für die Realisierung des Zugriffs auf einen Z39.50-Server über einen Webbrowser gibt es grundsätzlich zwei Möglichkeiten:
1) direkter Zugriff über browserintegriertes Plugin
Hier sind Ansätze, zum Beispiel für Netscape (add-on) und den MS Internet-Explorer (Active-X) vorhanden. Diese sollten jedoch kaum Verbreitung für eine Anwendung erfahren haben.
2) Zugriff über HTTP-Z39.50-Gateway
Die Standardlösung für den Zugriff auf einen Z39.50-Server erfolgt via HTTP über ein HTTP-Z39.50 Gateway, welches die HTTP-Requests des Clients entgegennimmt, daraus das Z39.50-Protokoll extrahiert und an den gewählten Z39.50-Server zur Bearbeitung weiterleitet. Umgekehrt werden die Z39-50-Antworten des Servers wieder in HTTP-Antworten umgewandelt und an den Client übertragen.
Implementierte und frei zugängliche HTTP-Z39.50-Gateways sind zum Beispiel:
* Library of Congress WWW/Z39.50 Gateway
* ZACK – WWW-Gateway zu Z39.50-Servern

### Software und Toolkits

Die Z39.50-Maintenance Agency der Library of Congress stellt auf ihrer Webseite eine umfangreiche Liste von Software und Toolkits zur Verfügung, die die Einbindung der Z39.50-Funktionalität in eigene Clients oder Serversysteme unterstützen.

## Perspektive

Aus Sicht des Jahres 2007, 10 Jahre nach Beendigung des DBV-OSI-Projektes, haben sich verschiedene Entwicklungen ergeben, die die Funktionalität von Z39.50 ganz oder teilweise übernehmen können.
Diese Entwicklungen sind unter anderem durch folgende Eigenschaften gekennzeichnet:
* Funktionalität von Z39.50 wird ins WWW geholt (HTTP)
* Verwendung ausreichend leistungsfähiger Abfragesprachen (CQL)
* variabler zu strukturieren und einfacher zu verarbeiten (XML, XSL etc.)
* dazu Formate: Entwicklung entsprechender XML-Pendants (MARCXML, MABXML etc.)
* einfacher zu implementieren (ohne komplexe Transfersyntax)
* unterstützt durch die Bildung großer Bibliotheksverbünde, weltweite Standards für Regelwerke und Formate, ausreichende Bandbreiten in den Weitverkehrsnetzen, sowie die Bereitstellung offener Schnittstellen zur Abfrage der Metadaten (etwa OAI-PMH) wird das Zusammenführen von Datenbanken ermöglicht – die Bedeutung der Abfrage von verteilten Informationssystemen mit Z39.50 wird damit abnehmen.
Dazu gehören folgende Entwicklungen/Projekte:

### ZING – Z39.50 International Next Generation

* http://www.loc.gov/standards/sru/
* Search/Retrieve via URL ist die offizielle Weiterentwicklung von Z39.50, verfügt über eine ausreichend mächtige Abfragesprache (CQL), ist HTTP-basiert und liefert die Daten in XML.
Beispiele:
* GVK – Verbundkatalog des GBV
* Library of Congress
* OCLC Institution Registry

### Einsammeln von Metadaten (OAI-PMH)

* Durch das Einsammeln (Harvesten) der Metadaten (Protokoll: OAI-PMH) von verschiedenen Informationssystemen (Data Providern) ergibt sich die Möglichkeit, diese Daten im eigenen Informationssystem zu speichern, zu verarbeiten und dann in einer normalisierten, angereicherten, auf den Anwendungsfall zugeschnittenen Form bereitzustellen. Das verwendete Protokoll Open Archiv Initiative – Protocol for Metadata Harvesting ist HTTP-basiert und liefert die Daten in XML. Das Standarddatenformat ist Dublin Core.
* mit dem Zusammenführen der Daten wird die Abfrage der verteilten Informationssysteme überflüssig
* das OAI-PMH wird bereits für den Datenaustausch zwischen Verbundsystemen genutzt
* siehe auch Empfehlungen des Wissenschaftsrats zur digitalen Informationsversorgung durch Hochschulbibliotheken (Drs. 4935/01) und DINI-Zertifikat für Dokumentenserver
Beispiel:
* EDOC-Server der Universität München
* E-LIB-Server der Staats- und Universitätsbibliothek Bremen

### Linkresolver

* Der HTTP-basierte Service Linkresolver ermöglicht die Zusammenfassung verteilter Ressourcen in einem "intelligenten" Dienstportal. Es werden für die Suche nach Publikationen unter Verwendung von Metadaten der Quelle (Source) sowie von gespeicherten Informationen über lokale Bestände und Lizenzen des Ziels (Target) Links auf "passende" Dienste wie elektronische Volltexte, Nachweis in Katalogen, Dokumentlieferdienst, WEB-Services wie ISI Journal Citation Report, WEB of Science und andere generiert.
Beispiel:
* SFX-Service im Gemeinsamen Bibliotheksverbund

### Zusammenführen von bibliographischen Datenbeständen

* Die Konzentration der Bibliotheken in Verbünden und die weltweite Etablierung standardisierter Formate und Regelwerke für den Aufbau bibliographischer Informationssysteme ermöglicht die physische und logische Zusammenführung bislang verteilter heterogener Datenbestände in wenigen zentralen, weitgehend homogenen Informationsbeständen.
* Es kommt zur Bildung von Verbundkatalogen, Nationalen Katalogen und eines Weltkatalogs.
* Mit dem Zusammenführen der Daten wird die Bedeutung der Abfrage von verteilten Informationssystemen mit Z39.50 abnehmen.
Beispiel:
* Kooperationsinitiative hbz – BVB – OBVSG. Untersuchung zur Zusammenführung der drei Zentralen Verbunddatenbanken. Endbericht (PDF; 153 kB) – im Juni 2007 eingestellt.
* Projekt „Kooperative Neukatalogisierung“ Barbara Block, Josef Labner, Beate Rusch: Katalogisierung kooperativ gemacht. (Memento vom 12. Mai 2012 im Internet Archive; PDF; 162 kB) In: Bibliotheksdienst, 41. Jg., 2007, Heft 2
* OCLC’s Worldcat – der zukünftige Weltkatalog? – ist über Google Book Search recherchierbar,
    z. B. Zubarev, Morozov, Röpke. Statistical Mechanics of Nonequilibrium Processes: Basic concepts. Kinetic theory.