Next: Anfragen (Queries)
Up: Technische Grundlagen
Previous: Technische Grundlagen
In Z39.50 sind die für das Information Retrieval notwendigen Operationen
als Protokoll-Dienste spezifiziert. Nachfolgend werden diese mit ihrer
Funktionsbeschreibung aufgeführt. Dienste, die mit einem `*' versehen
sind, wurden erst ab der Protokoll-Version 3 (Z39.50-1995) aufgenommen.
- Initialize:
- Über diesen Dienst kann sich die Client-Anwendung gegenüber
der Server-Anwendung authentifizieren. Weiterhin werden für die Dauer
der Z39.50-Verbindung gültige, protokollspezifische Parameter (z.B.
Protokollversion, anwendbare Dienste, maximale Größe zu übertragender
Datenbank-Records) ausgehandelt.
Das Client-System initiiert diesen Dienst durch das Senden einer Initialize-Request-PDU.
Der Server bestätigt in der zugehörigen Initialize-Response-PDU die
Initialisierung oder lehnt diese ab. Im letzteren Fall sind - außer
erneutem Initialisierungs-Dienst - keine weiteren Dienste anwendbar.
- Search:
- Der Dienst wird vom Client durch das Senden einer Search-Request-PDU
initiiert. Die PDU enthält u.a. die im Server-System auszuführende
Query, den Namen des durch Ausführung der Query zu erzeugenden ResultSets
und den Namen des für die Übertragung der Rechercheergebnisse bevorzugten
Formats. Die Server-Anwendung überträgt in der Search-Response-PDU
das Resultat der Query (Anzahl der Treffer), Statusinformation und
ggf. ein oder mehrere Records.
- Retrieve:
- (besteht aus 2 Diensten)
- Present:
- Die Client-Anwendung fordert über diesen Dienst die Übertragung
von Suchergebnissen (Datenbank-Records) an. In der Present-Request-PDU
spezifiziert der Client neben dem Namen des ResultSets, auf das sich
der Present-Request bezieht, die Nummern der gewünschten Records und
das bevorzugte Übertragungsformat. Die Server-Anwendung überträgt
die gewünschten Records in der zugehörigen Present-Response-PDU.
- Segment*:
- Hiermit kann eine Optimierung speziell der Übertragung großer
Datenbank-Records zwischen Server und Client-System vorgenommen werden.
Für den Dienst sind zwei Varianten definiert:
Level 1 Segmentation läßt nur die Übertragung vollständiger
Datenbank-Records innerhalb eines Segments zu (ein Datenbank-Record
darf nicht gesplittet werden).
Level 2 Segmentation ermöglicht, daß ein zu übertragender
Datenbank-Record auf zwei oder mehr aufeinanderfolgende Segmente aufgesplittet
wird.
- Result-Set-Delete:
- Damit können einzelne oder alle im Server-System
innerhalb der aktuellen Z39.50-Verbindung erzeugter ResultSets gelöscht
werden. Der Server bestätigt in der Response-PDU die durchgeführten
Aktionen.
- Browse/Scan*:
- Dieser Dienst bietet dem Benutzer die Möglichkeit, (im
Server-System lokalisierte) geordnete Listen (z.B. Autoren-, Titel-Index)
zu durchsuchen. Die Server-Anwendung liefert die Ergebnisse in der
entsprechenden Scan-Response-PDU.
- Sort*:
- Mittels Sort erhält der Benutzer die Möglichkeit, ein im Server-System
lokalisiertes ResultSet (das Ergebnis einer vorangegangenen Suche)
zu sortieren. Die Server-Anwendung zeigt dem Benutzer in der zugehörigen
Sort-Response-PDU das Ergebnis der Sortieroperation (erfolgreich,
nicht-erfolgreich) an.
- Access-Control:
- Der Dienst wird von der Server-Anwendung initiiert
und erlaubt es, eine laufende Operation zu unterbrechen, um von der
Client-Anwendung weitere Authentifizierungs-Information für den Zugriff
auf eine Datenbank oder einen einzelnen Datenbank-Record zu fordern.
Die Client-Anwendung muß auf die Anforderung mit einer Respond-PDU
antworten. Abhängig davon wird die Bearbeitung fortgesetzt oder nicht.
- Accounting/Resource Control
- (besteht aus 3 Diensten)
- Resource-Control:
- Mit diesem Dienst kann das Server-System eine laufende
Operation unterbrechen, um das Client-System zu informieren, daß vereinbarte
Ressourcen-Limits überschritten wurden, bzw. voraussichtlich überschritten
werden. Dieser Dienst muß nur durch den Client quittiert werden, wenn
das Server-System in der Resource-Control-Request-PDU anzeigt, daß
es eine Antwort erwartet. Wenn ja, wird die laufende Operation bis
zum Eintreffen der Resource-Control-Response-PDU unterbrochen. Im
anderen Fall wird die Operation weiter ausgeführt.
- Trigger-Resource-Control:
- Der Dienst bietet dem Benutzer die Möglichkeit,
vom Server-System das Senden einer zu bestätigenden Resource-Control-Request-PDU,
das Senden einer nicht zu bestätigenden Resource-Control-Request-PDU
oder den Abbruch der laufenden Operation zu fordern. Der Dienst ist
nicht-bestätigt und es bleibt dem Server-System überlassen, ob es
die geforderte Aktion ausführt oder nicht. Die Client-Anwendung kann
diesen Dienst jederzeit anfordern. Falls der Benutzer den Abbruch
der laufenden Operation angefordert hat und das Server-System die
Operation abbricht, muß das Server-System eine der abgebrochenen Operation
entsprechende Response-PDU (Search-Response-, Present-Response-PDU
usw.) an das Client-System übertragen.
- Resource-Report:
- Das Client-System kann über diesen Dienst vom Server-System
Information über die bis zum momentanen Zeitpunkt angefallenen Kosten
(verbrauchten Ressourcen) anfordern. Das Server-System stellt die
Information in einer entsprechenden Resource-Report-Response-PDU bereit.
- Explain*:
- Der Dienst erlaubt dem Benutzer bzw. der Client-Anwendung
Informationen über das Server-System abzufragen. Die Server-Anwendung
stellt dazu globale Information (Betriebszeiten, Nutzungskosten usw.)
und Information über die verfügbaren Datenbanken (Namen der Datenbanken,
unterstützte Attribute, Record-Syntax, Element-Spezifikationen usw.)
in einer speziellen Explain Database zur Verfügung. Die Client-Anwendung
kann diese Datenbank über die Dienste Search und Present
abfragen.
- Extended Service*:
- Über diesen Dienst initiiert die Client-Anwendung
die Ausführung einer sog. Extended Service Task im Server-System.
Die Ausführung der Task erfolgt i.a. außerhalb der Z39.50-Verbindung.
Über den Dienst Search kann sich der Benutzer, durch Abfrage
einer speziellen, im Server-System lokalisierten Extended Services
Database, über den Bearbeitungszustand der Task informieren. Derzeit
sind folgende Extended Services definiert:
- PersistentResult Set: Speicherung einer Ergebnismenge im Server
zur späteren Verwendung
- PersistentQuery: Speicherung einer Anfrage im Server zur späteren
Verwendung
- PeriodicQuerySchedule: Initiiere eine periodische Abfrage
- ItemOrder: Bestellungen nicht rückgabepflichtiger Objekte
(z.B. Aufsatzkopien etc.) können im entfernten System hinterlegt werden
- DatabaseUpdate
- ExportSpecification: besteht aus 2 Teilen
- Erzeuge eine neue Export-Spezifikation
- Verwende eine vorher definierte Export-Spezifikation
- Termination*:
- Dieser Service ermöglicht der Client- oder Server-Anwendung
die Z39.50-Verbindung zu schließen, ohne dabei die physikalische Verbindung
zu beenden.
- Multiple-Concurrent-Operations*:
- In den Protokollversionen 1 und 2
laufen alle Operationen streng sequentiell ab. Nach Senden beispielsweise
einer Search-Request-PDU darf die Client-Anwendung bis zum Eintreffen
der Search-Response-PDU keine weiteren Request-PDU´s versenden. In
Version 3 sind, falls sich Client- und Server-Anwendung bei der Initialisierung
der Z39.50-Verbindung darauf geeinigt haben, parallele Operationen
erlaubt, d.h. der Benutzer (die Client-Anwendung) kann in diesem Fall
mehrere z.B. Search-Request-PDU´s versenden, ohne auf das Eintreffen
der Ergebnisse vorangegangener Requests zu warten. Die Unterscheidung
dieser Anfragen wird durch einen Parameter (ReferenceId) gewährleistet.
Die Basis-Dienste (Basic-Services), die jede protokollkonforme
Z39.50-Applikation unterstützen muß, sind Initialize, Search
und Present. Zusätzlich werden von den existierenden Implementationen
die Dienste Delete-Result-Set sowie Scan angeboten.
Welche Dienste innerhalb einer Client-Server Verbindung anwendbar
sind, wird dynamisch über den Dienst Initialize vereinbart.
Next: Anfragen (Queries)
Up: Technische Grundlagen
Previous: Technische Grundlagen
Timo Boehme
Tue Jun 3 21:30:30 MET DST 1997