Introduction Z39.50 BER implementation notes

8.3 Z39.50 BER implementation notes

8.3.1 Introduction

Z39.50 using Basic Encoding Rules over TCP is implemented using registered profiles listed by the maintenance agency: [http:lcweb.loc.govz3950agencyprofilesprofiles.html]. These profiles indicate required operations, sets of registered Use Attributes search fields, Relations operators, Z39.50 datatypes, Element Sets named sets of returned fieldselements, Preferred Syntaxes encoding format, and information sets metadata standards andor schemas returned. The most relevant Community Profiles for the discovery of geospatial data resources are the Geospatial Metadata Profile, GEO, Version 2.2, and the Catalogue Interoperability Profile, CIP, Version 2.4. In the context of a managed session, the client transmits request messages to the server and the server returns response messages to the client directly over TCP as specified in IETF RFC 1729: Using the Z39.50 Information Retrieval Protocol in the Internet Environment [ftp:ftp.ietf.orgrfcrfc1729.txt], where all request and response messages are encoded using BER. Figure 26 illustrates a typical set of transactions that may occur between a client and server, and between the server and its interface to an external catalogue. The client sends an initRequest message to the server, the external system processes the initRequest message by initializing a session with the client and the server returns an initResponse message to the client. This interaction establishes a session in which all subsequent interactions occur. initResponse initRequest Client searchResponse searchRequest presentResponse presentRequest close close Initialise session Perform search Obtain records Close session Service Figure 26 — Z39.50 Protocol binding Sequence Diagram Next the client constructs a query and sends the query in the searchRequest message to the server. The server runs the search on the external catalogue system, and returns the requested results in the searchResponse message. If the search was successful, a virtual Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 69 result set is created and the client may request records from the result set using the presentRequest message. In the presentRequest, the client may request any contiguous set of records from the result set e.g., records 10 through 20. The server returns the records to the client in the presentResponse message. The client may continue to perform additional searches and record retrievals, or may close the session with the server by sending a close message. Optionally, the server may respond with a close message.

8.3.2 Message encoding