Das Protokoll wurde Anfang 1996 der ISO zur Verabschiedung als internationaler Standard vorgelegt (ISO 23950). Die Wurzeln des Protokolls reichen zurück bis ins Jahr 1984. Die Versionen 1 und 2 des Standards wurden in den Jahren 1988 und 1992 als Z39.50-1988 bzw. Z39.50-1992 verabschiedet. Alle drei Protokollversionen definieren Z39.50 als OSI-Anwendungsprotokoll, d.h. als Protokoll der Ebene 7 des OSI-Modells. Ungeachtet dieser Tatsache wird Z39.50 in nahezu allen Realisierungen als Internet-Protokoll angewandt (aus [Her96], siehe auch [LOC99b]).
Abbildung: Client-Server-Kommunikation mit Z39.50
Das Z39.50 Protokoll ist verbindungsorientiert. Der Client baut eine stehende Verbindung zum Server auf und authentifiziert sich mit seinem Namen und Paßwort. Der Nutzer stellt seine Anfrage an den Z39.50-Server. Der Server leitet die Anfrage an das lokale Bibliothekssystem weiter und gibt die Anzahl der gefundenen Treffer zurück. Der Nutzer kann sich nun eine bestimmte Anzahl von Datensätzen - z.B. die ersten 10 - vom Server holen. Oder er stellt eine neue Suchanfrage.
Die Verbindung bleibt solange bestehen, bis der Nutzer sie beendet oder der Server sie wegen zu langer Inaktivität abbricht. Sämtliche Voreinstellungen des Benutzers wie die Länge der Datensätze, Zeichensatz, Nummer des zuletzt gelesenen Datensatzes, Name der Datenbank, Paßwort usw. bleiben während einer Sitzung erhalten.
Das Z39.50 Protokoll ist umfangreich ([Got96]). Die meisten kommerziellen Anbieter beschränken sich deshalb bei der Entwicklung ihrer Software auf einen Teil (Core) des Protokolls ([LOC99b], [BAT99]). Es gibt nur wenige Anbieter von Z39.50-Clients und Z39.50-Servern (siehe Kapitel 4.2, Seite ). Fast alle Produkte sind kostenpflichtig. Die Z39.50-Clients sind nur für wenige Betriebssysteme (Windows95, Windows NT) verfügbar.
Weitere Literatur zu Z39.50 ist in [PR97], [Lyn97], [CLI96], [Z3995], [LOC99b], [FAQ99], [NIS97], [Zso99], [Zpr99], [Zte99b], [FW97], [KR95], [ZRE96], [BAT99], [DCZ98], [Den96], [Intil], [Gal98], [BOP99], [TUB98b], [Boo99a], [Boo99b], [MARil], [MAB99], [UNI98], [BIB95] und [MAR99] zu finden.