Z39.50的目的是为了信息系统的开放互联,由于各信息系统分别采用各自的数据库软件,数据的描述格式、访问方式等都各不相同,必须为各自数据库 系统建立一个抽象、通用的用户视图,将各个系统的具体实现映射到抽象模型上,才能使不同的系统在一个相互理解的、标准的通信平台上进行交互,满足互操作的 需要。
在当时的技术环境下,Z39.50采用了客户机/服务器的灵活架构,主要定义了所提供的服务和应用层数据包格式两方面的内容。信息服务包括11项内容:初始化、搜索、获取、删除结果集、访问控制、记帐、排序、浏览、解释(获得细节)、扩展服务(如周期搜索计划)、终止等。
由于Z39.50非常详细而烦琐,在应用中通常无需全面实现其个方面的功能,因此在标准中提出通过Profile形式,确立应用中对协议的实现细节的具体描述。例如Z39.50认可的Profile有Bath、GILS、WAIS、ATS-1等。
Z39.50对于互操作最大的价值在于实现了信息查询和提取过程的标准化,虽然采用的方式是一种比较封闭的做法,这也是与当时的技术环境有关。协议 规定了完善的语法(七种查询条件表达格式),以及所支持的信息资源的元数据格式(15种属性集),例如常用的Bib-1、Exp-1、Ext-1、 GILS-1、STAS等。每个属性集由一套属性类型+属性组成。属性集的规定是使用Z39.50协议获得不同资源库彼此的元数据信息、实现语义互操作的 基础。