Appendix D - Glossary.

Through the course of this semester there have been many new terms that have been introduced from several topic areas. Many have that "aha" factor that helps bring all the pieces together and others are just nice to know for any gathering of Z39.50 enthusiast or implementors. This glossary is an enhancement of a list of terms maintained by Dr. William Moen. These definitions were taken either directly from class presentations and coursework or hammered out by individual class members, unless otherwise noted. A recommendation for future classes that wish to enhance this listing is to put the terms and related information in a database that can be easily maintained and searched.   For now please scan the alphabetized list of terms that hyperlink to the definition.

Definitions for terms in red have yet to be prepared.

Abstract record structure

Abstract record syntax

Access control facility

Application environment

Application layer

Applications protocol interface

Abstract syntax notation module

Ansi-1 external constructs


Attribute sets


Baseline requirements


Bib-1 attribute set

BookWhere 2000



Collaborative Filtering


Computer communication


Confomance testing

Content semantics

Content resources

Database record

Data control language

Data definition language

Data manipulation language

De facto stnadards

De jure standards


Dublin core


Element selection

Element set name


Explain facility

Extended services facilities

Extensible markup language (XML)




Generic record structure

Hardware independent

High level functionality



Information professional

Information retrieval protocol

Initialization facility


Internal messaging


Interoperability testing


Local relevancy

Low level functionality


Metadata –codifying mechanism


Object identifiers

Open data base connectivity (ODBC)

Open data representation

Open systems

Open systems interconnection basic reference model

Organizational resources


Origin/target system


Personnel resources


Present service

Primitive types

Procedural resources



Protocol data unit


Query analyzer

Query type

Record conversion

Record syntax

Reference implementation

Referential integrity-SQL

Reference profile

Registered object

Relational database management system

Relation attribute


Request for Proposal

Resource control facility


Result-set-delete facility


Retrieval facility

Retrieval record

Root node

Scan service


Schema mapping

Search facility

Search request

Segment service


Semantics table

Semantic mapping


Service level API

Service needs

Sort facility




Structure attribute

Structured query language (SQL)

SQL semantics table

Structured data


Table Driven





Tcp/ip protocols

Technical resources

Termination facility


Test scenarios

Tree structure

Truncation attribute


Use attribute

User community

User interface


Virtual Union Catalog


Z39.50 Implementors Group (ZIG)

Z39.50 Maintenance Agency

Z39.50 Standard

Z Jig



Abstract record structure: Content and provides a format for representing the organization of records in a database for interchange with other systems. This format is an abstract representation of the elements of information that are contained in a record. (See also Schema, Elements, and Tagsets.)

Abstract record syntax: Allows the client and server to agree upon common semantics and data layout of retrieved records. It is used as a mechanism to package a database record for transmission from server to client. Z39.50 specifies the use of a number of record syntaxes including, various MARC formats, Simple Unstructured Records Syntax (SUTRS), Generic Record Syntax (GRS), OPAC, Summary, Explain, and Extended Services.

Access control facility: A Z39.50 facility that allows the server or target database to request authentication of user authorization or a password from the client or user.

Application layer: The top layer in the seven–layer Open Systems Interconnection (OSI) Basic Reference Model that manages program to program communication. In a Z39.50 information retrieval session, all interaction between the client software and server software occurs at this level.

Applications protocol interface: A means of communication used by an application to communicate to an operating system or other system application.

Attributes: Z39.50 concept to characterize search terms in a Z39.50 query including the access point to search, the type of search term, whether truncation is desired, etc. Attributes specify how the search term is to be treated by the server when executing the search against a target database.

Attribute sets: Attribute sets are registered objects that consist of various attribute types (e.g., Use attributes, Relation attributes, and Structure attributes) and the legal attribute values. Z–clients and Z–servers reference an attribute set through its Object Identifier (OID) to share a common understanding of the query.

Authentication: Restricting access to only authorized users.

Baseline requirements: a set of minimum baseline requirements that an implementation of Z39.50 must meet in order to claim conformance to the standard. The Z39.50 Version 3 Baseline Requirements were established to resolve interoperability issues and provide a basis to begin interoperability testing of Version 3 implementations. These requirements focus on core and conditional requirements of version 3 and version 2 implementations.

Benchmark: A measure of success. The retrieval results of the different implementations provide the benchmarks for a Z39.50 testbed to test further scenarios against.

Bib-1 attribute set: A registered attribute set included in the Z39.50 standard that defines six attribute types (i.e., use, relation, position, structure, truncation, and completeness) and assigns values specific to each type. Used for expressing queries for searching bibliographic databases and other information resources.

BookWhere 2000 : Z39.50 Client Software developed by SeaChange Corporation . This client is configurable and uses a Windows interface.

Client: An application or the software that runs on a user’s computer that interacts with a remote server and its associated database(s). Within the context of Z39.50, the Z–client is the software the user uses to communicate with a Z–server. The Z–client initiates a Z39.50 information retrieval session and submits requests to the Z–server. The Z–client software translates the query into Z39.50 messages, contacts the Z–server(s) software on the remote database(s), negotiates the session rules, and receives the records, all behind the user interface.

Client/Server: Client/Server is an architecture for representing interaction between software operating on two separate systems. The Z39.50 standard identifies specific roles and responsibilities for both the Z–client and Z–server in performing certain processes in the information retrieval session.

Codifying mechanism: standardized way of encoding data, i.e. metadata sets. Deals with the standard way to ship data along the network.

Collaborative Filtering: Refers to various methods of adding together the judgements of many individuals as to the value of a particular resource. For example, the Google Search Engine ranks pages more highly in its result sets when many other Web sites have linked to these pages. The theory is, in other words, that a page with many other sites linked to it must be adjudged more valuable.

Compiler: A program that translates applications written in a higher level programming language that humans can work with into low level assembly language that computers can directly execute. We used both the ANSI-C compiler that ships with Zebra and the GNU C compiler that ships with RedHat Linux.

Computer communication: The interaction and transmission of data from one computer to another via a telecommunications media.

Conformance testing: Verifies that an implementation conforms to the established specifications of the standard and in software and hardware development it is is seen as a means to increase the probability that systems will interoperate.. See also Interoperability testing. From the literature: Conformance testing: a single implementation is compared to the standard to be sure that the implementation does what the standard specifies. If the implementation conforms to the specifications set out by the standard, then it is considered to be interoperable (Preston & Lynch, 1994).

Content semantics: Standardized data model with shared semantic knowledge for specific communities. Include both rules and structures for maintaining a shared understanding of semantic knowledge. Z sets out standardized record syntax and related record composition parameters.

Content resources: Includes the acquisition of a collection of bibliographic or other information object records (such as digital images or museum objects) to serve as the test collection.

Database record: A structure in a database that may comprise fields that contain information.

Directory: Partitions within the hard drive disk space or an organized listing of files.

Data Control Language: DCL is used for database security or securing data. Basic commands include COMMIT, GRANT, REVOKE, and ROLLBACK. These protect the database from being corrupted.

Data Definition Language: DDL is used for data entry, or to create, change and delete basic database elements such as tables, views, schemas, etc. The actual basic commands in DDL are CREATE,ALTER, and DROP. DDL addresses the structure of the database.

Data Manipulation Language: DML is used for database maintenance and is concerned with the actually data within the database structure. This is where constraints on the type of data are specified. Basic commands include DELETE, INSERT,SELECT, and UPDATE.

De facto standards: De facto standards are established when a vendor's approach is so widely accepted and implemented by the community, that it is accepted as the standard.

De jure standards: De jure standards are the result of formal national and/or international standards-making processes (Lynch, 1993).

Diagnostics: Error messaging in a program’s source code that refers to messages/syntax that the application’s compiler cannot understand.

Dublin Core: Dublin Core is a metadata element set intended to facilitate discovery of electronic resources. Originally conceived for author-generated description of Web resources, it has attracted attention from a variety of resource-description communities, including museums, libraries, and government agencies. Named for the site of a 198? international conference held at Dublin, Ohio.

Element: The smallest unit of information in a record (e.g., a field or subfield) that can be identified for the purpose of information retrieval. (See Schema, Abstract Record Structure)

Element set name: A label that specifies and identifies all elements or a subset of database record elements or possible record components requested for retrieval (e.g., "full" or "brief").

Explain facility: A set of Z39.50 services that allow the Z–client to obtain information about the contents and organization of a server system (including databases) and implementation specifications relating to availability, restrictions, and information to facilitate effective information retrieval. The Explain Service allows the user to investigate target database functionality.

Extended services facilities: A set of Z39.50 services that define a set of tasks that the client may request the server to perform. Some of these services include the ability of a client to set up periodic queries performed by the server, to save a result set, to order a document, and to perform database maintenance operations.

Extensible Markup Language: Acronym used- XML According to the WC3, it is meant to be an extremely simple dialect of SGML, the Standardized General Markup Language of which HTML is but one subset. The goal is to provide creators of Web-based content with a way of specifying tags to indicate the content of documents, as opposed to merely specifying how these elements are to be displayed in Web browsers, which is the design goal of HTML.

Field: In database systems, fields are the smallest units of information that may be retrieved. Every field has a name, called the field name. A collection of fields is called a record.

File: File is a set of related records (e.g., a bibliographic file).

Gateway: A computer/program that performs protocol conversion between different types of networks, systems, or computers.

Hardware independent: Refers to an application’s ability to operate autonomous from the system’s physical objects (disks, disk drives, display screens, keyboards, printers, boards, and chips). A Z–client provides hardware independence to users for information retrieval from a Z39.50 accessible database without regard to the equipment on which the database is implemented.

High level functionality: Indirectly infers the OSI model of data transmission. High level is at the applications layer of functionality requirements, e.g. with Z39.50 this refers to user needs at the Protocol Services level. See also Low level.

Implementation: Implementation begins with installation, but includes longer-term, broader actions, such as customizing or modifying the technology for a local site or service, training of staff and professionals, and transitional technical support. See Appendix G for more details.

Information Professional: By this term we mean anyone whose work principally involves the storage, organization, retrieval or manipulation of information, e.g., knowledge managers, archivists, librarians, indexers, etc.

Information retrieval protocol: A protocol that enables one system acting as origin to conduct a search for records held in the database of another system acting as target, and to retrieve those records that meet the search criteria.

Initialization facility: A set of Z39.50 services that allow for the initial exchange of messages between a Z–client and a Z–server to complete initialization and negotiation of a Z39.50 information retrieval session. Establishes the options to be used throughout the remainder of the session, such as language, protocol version, and default character set. It also provides a means for user authentication.

Installation: Typically, installation of technology focuses on the limited, specific technical install, tuning and debugging process for bringing in any new technology (hardware, software, or both).

Interoperability: The ability of different types of computers, networks, operating systems, and applications to exchange information, without prior communication, in order to exchange information in a useful and meaningful manner.

Interoperability testing: May be viewed as a supplement to or next logical progression after conformance testing. It verifies that diverse implementations work together effectively to deliver the expected results. From the literature: Interoperability testing: a procedure in which two or more implementations are tested against each other, with the standard used primarily as a reference to judge problems and incompatibilities, and secondarily as a guide to the functions that should be tested and the general behavior to be expected (Preston & Lynch, 1994).

Key: an elements or combination of elements that uniquely identifies a row in a table within a relational database. (See also Relational database.)

Linux: A free Operating System based on UNIX.   Supplemented by a range of services, such as the Xfree86 graphics engine, Linux is made available under terms of the GNU licensing scheme developed by Richard Stallman. Development of the kernel is overseen by Linus Torvald. Commercial distributions of the operating system are provided by companies such as RedHat, Debian and Caldera. For further information about Linux, see

Low level functionality: This infers the OSI model of layers where the low level is at the data transmission level/ binary code level of functionality, which with the Z39.50 standard refers to the functionality and operation for the exchange of protocol data units.

MARC: An acronym that stands for Machine Readable Cataloging. Technically it signifies ANSI Z39.2, a standard for the representation and communication of bibliographic and related information in machine-readable form. There are many versions of the MARC record in use around the world, such as UKMARC in the United Kingdom, and, in Canada and the United States, MARC21. MARC has been under development since the middle 1960s, when it was first put forward by the Library of Congress.

Metadata: Information that represents attributes of an information object. For example, the library cataloging records that stand as surrogates for the books on the shelves. Often defined as being "data about data". In the environment of the World Wide Web, the results returned by an Internet Search Engine are composed of metadata.

Open Data Base Connectivity: ODBC is an API (See also application programming interface) developed by Microsoft . The goal of ODBC is to make it possible to access any data from any application using a common language based on a CLI (See also Call Level Interface). For ODBC to work, both the application and DBMS (See also database management system) must be ODBC-compliant. There are different ODBC drivers used for accessing the different databases, such as Access, dBase, DB2, Excel, Paradox, and text. ODBC commands are based on SQL (See also Structured Query Language). ODBC and Z39.50 are very similar, because they are both a layer between the query and the database being queried. (Link to Pam’s paper on ODBC; this is pulled directly from her presentation)

Open Data Representation: The ODR is part of the YAZ toolkits service level API. This mechanism is used to implement the BER encoders and decoders for ASN1 types. This puts the ASN1 representation of the Z39.50 standard into c code for the computer.

Open systems: Allow different computer systems with a variety of hardware and software components to communicate and exchange information. Open systems are possible through the use of standards.

Open Systems Interconnection (OSI) Basic Reference Model: The OSI Basic Reference Model is an abstract model comprising seven layers concerned with the communication of data between two peer systems or between a client and a server. Messages are passed from one layer to the next based on a reciprocal hierarchical process of data flow. Z39.50 was conceived as an application layer (i.e., layer seven) protocol, but was implemented on TCP/IP network. OSI Reference Model: An international standard that was promulgated during the 1980s, before the widespread use of the Internet and its associated protocols. OSI stands for Open Systems Interconnection. Its purpose is to facilitate networking between dissimilar computer systems.

Organizational resources: serve to build trust in the testbed and includes all intangible and tangible resources represented by the composite

Origin: In the Z39.50 standard, the term "origin" refers to the application that initiates operations on behalf of a user. For ease of understanding, this document uses the term "Z–client."

Origin/Target system: The origin/target system manages the Z39.50 communication between the initiator of the communication (origin system) and the responder (target system). According to the Z39.50 standard, a system can have the role of an origin, target, or both.

Peer-to-Peer: Defines a mode of communication between two computers in which the same protocol is used to communicate and perform approximately the same function for their respective computers. In peer-to-peer communication, each computer has equivalent capabilities and responsibilities.

Personnel resources: Include the persons who are involved in the project e.g. number of potential staff and their duties

Platform: The underlying hardware or software for a system. The term cross–platform defines application, formats, or devices that work on a variety of platforms.

Present service: A Z39.50 service that provides the Z–client the ability to request from the Z–server the results of a search. The service handles the representation of data and allows retrieval of records from the result set. Some specifics include requesting specific ranges of search results, specific elements in a record, specific variance of a record, inclusion of other metadata information per record or per element in a record, search term highlighting, and the record syntax in which the retrieval record will be returned.

Procedural resources: Procedures for operating a testbed. These procedures may include security issues, configuration procedures, testing procedures, as well as metrics to evaluate results.

Profiles: A set of implementor agreements specifying the use of a particular standard (or group of standards) to support a particular application, function, community, environment, or class of information. A profile selects options, subsets, values of parameters, etc., where these choices are left open in the standard, and where these selections are necessary to accomplish identified functions. A profile may also specify aspects of client and server behavior that are beyond the scope of the base standards. Purpose of a profile include: (1) to provide a specification for vendors to build to, resulting in products that will interoperate; and (2) to provide a specification that customers may reference for procurement purposes.

Protocol: Established agreements on the requirements of how information/data will be made accessible. Communication protocols such as Z39.50 are detailed specifications that establish how computers systems will communicate over a network by defining the format and meaning of data being exchanged.

Protocol data unit: A unit of information (i.e., a Z39.50 message) defined in the protocol specifications that is exchanged by the Z–client and Z–server.

Query: Search criteria posed as a question to the server or target database that defines a particular set of records. The query can be a request for a previous result set, or even a request for previous result set with additional restrictions. A query may contain Boolean operators, fielded search terms, proximity searching, weighted search terms, truncation specification, relation specifiers, and generalized pattern matching techniques.

Query type: A defined structure for expressing a search. Z39.50 defines several query types, including: Type-0 (defined outside of the standard between two implementors); Type-1 (basic Reverse Polish Notation (RPN) query structure commonly used in Z39.50 implementations); Type-101 (extended RPN query that supports proximity searching).

Record syntax: The format in which a retrieval record is returned to the Z–client. Elements of the local database record are packaged up in a specific syntax or format, e.g. GILS, MARC, SUTRS, etc.

Reference implementation: Outlines the reference implementation of a specific Z-server and Z-client use in a testbed. Participants may choose to provide a single reference implementation or several different implementations depending on the scope of the testbed project. It is also important to note that since the reference implementation will also be used as test collection, it is important to be aware of what the collection contains, so search and retrieval scenarios can be developed.

Reference profile: Essentially a list of specified features which vendors of commercial database systems must support in order to be deemed conformant. See also Section 4.2.

Registered object: An information object (e.g., an attribute set or a record syntax) that can be referenced through an object identifier (OID).

Relational Database Management System: The relational database model utilizes a containment hierarchy, i.e. a relational database contains catalogs, each catalog contains schemas, schemas contain tables, tables contain columns and rows. Relational databases don’t "think" in terms ofrecords and so "records" are created dynamically thisallows attributes to be added relatively easily and newtables to be linked based on keys. Great for distributeddata entry such as the databases used to maintain ouruniversity records. [So that’s how admissions always knowsabout my library fines:)]

Relation attribute: Descriptors applied to the search term that specifies how the term is to be treated when used in a search. Relation attributes can specify characteristics including: less than, less than or equal to, equal to, greater than or equal to, and greater than and not equal to.

Request: An action by which a client invokes an action or process from the server.

Request for Proposal: a request for bids from vendors to offer hardware or software solutions to service needs.

Resource control facility: A set of Z39.50 services that allow the Z–server to do accounting functions with the Z–client. The Z–server can provide reports to the Z–client on the status of an account and the costs associated with an information retrieval session.

Response: An action by which a server indicates it has completed a request procedure. For example, the server can supply basic information about search results such as the search status, the number of records found, query identification number, any explanation of a failed result set, and other information about the result set.

Result-set-delete facility: A set of Z39.50 services that allow the Z–client to request the deletion of specific result sets that the server has created.

Result-set-name: Refers to the parameter that allows result sets to be referenced, usually with a number identification. This allows for further refinement of search results or for later recall of a result-set by a user.

Retrieval facility: Retrieval facility provides the Z39.50 services by which the Z–client can request the Z–server to return records that have been located during a search. (See the Present service.)

Retrieval record: The form of the local database record that is actually returned by a Z–server to a Z–client.

Scan service: A Z39.50 service that allows clients to scan an ordered term list. Scan provides the client with the ability to browse access point values/search terms available from a database or group of databases.

Schemas: A schema provides an abstract view of the structural organization of a database. It defines how the database fields can be labeled unambiguously by the server to develop a common understanding between the Z–client and the Z–server of the information contained in the records of the server database.

Search facility: A Z39.50 facility that allows a Z–client to search one or more Z–servers and their associated databases using a wide variety of selection criteria and structured queries to determine what information is available.

Search request: A search request is a structured query in a protocol defined search format used when searching one or more databases.

Segment service: A Z39.50 service that allows a Z–client to request transmission of abbreviated records, or special packaging of records to accommodate any network issues related to speed and disk space.

Server: An information server that provides access to one or more databases or information resources. A server answers requests for information from clients in a networked environment.

Service Needs: Functional, technological, temporal, financial and organizational considerations directly impacting service goals and objectives which should drive technology implementations. See Appendix G for more details.

Sort facility: A Z39.50 facility that allows a Z–client to request that the Z–server arrange a set of search results into a specific order according to client-supplied criteria.

Standard: A standard represents an agreed upon response to a recurring problem—perceived, anticipated, or "real," and codifies the response for the purpose of communication. The standard is the result of a problem–solving process. It involves agreements among stakeholders who have an interest in adopting specific responses to the problem. Conformant use of the standard leads to predictable results and a reduction of uncertainty.

Structure attribute: Descriptors applied to the term that specifies how the term is to be treated when used in a search. Structure attributes specify characteristics of the search terms including: phrase, word, key, year, normalized date, un–normalized date, normalized name, and un–normalized name.

Structured query language: an American National Standard Institute standard high level "language" used to communicate with, or more specifically to query, update, and manage data in a relational database. [Language in quotes because some sources call SQL a sub-language because it is used in conjunction with another "procedural" language such as C++; languages typically interact at the data transmission level.]

Tag: A label identifying and characterizing the data in a field. It consists of a pair of integers representing a tag type and a tag value and instructions for encoding data.

Tagsets: Tagsets refer to the paired tag values and recommended data types for a set of elements.

Target: In the Z39.50 standard, the term "target" refers to the application that responds to requests from a Z–client. For ease of understanding, this document uses the term "Z–server."

TCP/IP protocols: Transmission Control Protocol (TCP) and Internet Protocol (IP). Two basic communications protocols used to support communication in the Internet. These protocols allow various services among computers not on the same network.

Technical resources: Includes both hardware and software, as well as the technical support to configure and develop the software for specific applications.

Termination facility: A Z39.50 facility that allows either the Z–client or Z–server to end a Z39.50 information retrieval session.

Testbed: A testbed is a set of implementations of a protocol based upon the same set of standards. Usually planned and operated with the active participation by software developers/vendors and standards’ developers.

Test scenarios: Define specific results and potential problems or interpretation of results of a testbed.

Truncation attribute: Descriptors applied to the search term that specifies how the term is to be treated when used in a search. Allows omitting of characters in search terms for example, by permitting right or left truncation of words.

Tuples: Dynamically created records [associated with RDBMS and SQL] that link the data from different tables based on a primary key/attribute that is linked. Non relational databases hard code the elements in a record and if an elements needs to be added the entire record structure must be altered.

Use attribute: Use attributes are descriptors applied to the search term that specifies how the term is to be treated when used in a search. Use attributes correspond to access points, searchable fields, or indexes that can be referenced in the query.

User interface: An interface is a set of commands or menus on the client server computer screen through which a user communicates in a search.

Virtual Union Catalog: A Z39.50 client, generally accessible through a Web gateway, is set up to provide users the capability of launching a search query that is broadcast to a number of Z398.50 servers, with the result sets being returned in a uniform manner. While the search is actually going against a distributed collection of servers, to the end user it appears as if he or she is searching a single, unified library catalog. While this sort of arrangement is in no wise restricted to library catalogs, it has generally been implemented within library systems or consortia.

Z39.50 Implementors Group (ZIG): A forum for implementors of Z39.50 that has overseen the development of Z39.50 since 1990.

Z39.50 Maintenance Agency: The official maintainer of the Z39.50 standard located at the Library of Congress.

Z39.50 Standard: Z39.50 is the formal designation of an international standard protocol that facilitates communication between a local software client and a remote information retrieval system.

Z Jig: A series of regular rhythmic movements usually performed in response to an insight gained related to the Z39.50 standards or a Zebra configuration task successfully completed by a class member.

Return to Top