Z39.50 wurde als eine Computer-zu-Computer Verbindung zwischen verschiedenen Information Retrieval Systemen spezifiziert. Dazu wird ein Client/Server Modell benutzt, wobei nach OSI-Terminologie der Client als `Origin' und der Server als `Target' bezeichnet wird. Die Kommunikation erfolgt über das Z39.50 Protokoll. Auch wenn der Client über Server-Funktionen verfügen sollte (z.B. Datenaustausch zwischen zwei Bibliotheksservern) bleibt die Rollenverteilung zwischen Client und Server bestehen und kann nicht vertauscht werden.
Abbildung 1: Allgemeines Z39.50 Kommunikationsschema
Der Client übersetzt die Anfrage in die standardisierte Z39.50 Syntax und übermittelt sie dem Server. Dieser konvertiert diese in die Anfragesprache der Datenbank. Das zurückgelieferte Resultat wird wieder in Z39.50 kodiert bevor es zum Client gesendet wird.
Das Protokoll selbst ist verbindungsorientiert und `stateful' (im
Gegensatz zu zustandslosen Protokollen wie HTTP kann auf vorhergehende
Aktionen bezug genommen werden). Für die Übertragung werden PDU´s (manchmal auch APDU
genannt) ausgetauscht, die aus Protokollinformationen und Daten bestehen.
Die PDU´s treten meist als Request/Response Paare auf (eine Ausnahme
bildet die vom Server gesendete Abort PDU). Z39.50 definiert dafür
entsprechende Protokoll-Dienste (Services), welche im folgenden genauer
beschrieben werden.