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
Parts
» UML notation Change Requests | OGC
» Introduction OGC_Common catalogue query language
» Extending the Common Catalogue Query Language
» Introduction Core queryable properties
» Core returnable properties Core catalogue schema
» Document terms and definitions Introduction Introduction
» Introduction getCapabilities operation OGC_Service class
» Introduction “query” operation Discovery class
» “present” operation Discovery class
» describeRecordType operation Discovery class
» getDomain operation Discovery class
» Introduction “initialize” operation Session class
» “close” operation Session class
» “status” operation Session class
» “cancel” operation Session class
» Introduction ”transaction” operation Manager class
» harvestResource operation Manager class
» Introduction “order” operation Brokered Access class
» Introduction UML state diagram notation
» Catalogue server state machine Discovery state
» Access state diagram Dynamic model
» Management state Explain state diagram
» Introduction Z39.50 BER implementation notes
» Message encoding Additional search info Order extended service
» SearchRetrieve Web Service SRWSRU implementation notes
» XML Name-Value pairs Result set encodings
» Introduction Enumerations Structures and unions
» Definitions for brokered access Capabilities
» General messages Interface definition - IDL
» Discovery messages Interface definition - IDL
» Management messages Interface definition - IDL
» Access messages Exceptions Interface definition - IDL
» Catalogue Service interfaces Interface definition - IDL
» Overview Message headers The HTTP protocol
» Introduction Core queryable and returnable realization
» Full record Core queryable and returnable realization
» Summary record Core queryable and returnable realization
» Namespaces Predicate languages b
» General model message mapping Common request parameters
» Introduction Operation request GetCapabilities operation
» Operation response OperationsMetadata section standard contents
» Introduction KVP encoding DescribeRecord operation
» NAMESPACE parameter TypeName parameter outputFormat parameter
» XML encoding Response DescribeRecord operation
» Introduction KVP encoding GetDomain operation
» XML encoding Response GetDomain operation
» Introduction KVP encoding GetRecords operation
» XML encoding GetRecords operation
» NAMESPACE parameter requestId parameter resultType parameter
» outputFormat parameter outputSchema parameter
» Provide functional extensibility Precedence
» Tight and loose queries Property references
» Predicate languages DistributedSearch parameter
» ResponseHandler parameter Parameter descriptions
» Introduction KVP encoding GetRecordById operation
» ElementSetName parameter Id parameter outputFormat parameter outputSchema parameter
» XML encoding Examples GetRecordById operation
» Overview Insert action XML encoding
» Introduction KVP encoding Response
» Introduction KVP encoding Harvest operation
» Source parameter ResourceType parameter
» ResourceFormat parameter ResponseHandler parameter
» XML encoding Response Harvest operation
» Introduction Change Requests | OGC
» Interface definitions Change Requests | OGC
» Query languagemodel Query model components
» Catalogue Application Profiles Change Requests | OGC
» Introduction System context Structure and format
Show more