首页 百科知识 网络目录服务规范

网络目录服务规范

时间:2022-01-20 百科知识 版权反馈
【摘要】:OGC网络目录客户端与服务之间的交互是通过标准HTTP协议的“请求—响应”模式实现,也就是说,客户端通过HTTP协议向网络目录服务发送请求,并期望以HTTP协议接收到来自于网络目录服务送回的请求结果或者错误异常信息。DescribeRecord操作使得客户端可以在运行时动态获得网络目录服务所采用的元数据信息模型。表5.6列出了OGC网络目录服务中所有7种操作所支持以及首选的HTTP通信和数据信息编码方法。
网络目录服务规范_网络地理信息系统

5.2.3 网络目录服务规范CSW

5.2.3.1 HTTP协议绑定

目录服务的建立和开发遵循一定的互操作协议规范,例如Z39.50、CORBA、HTTP协议绑定等。其中OGC网络目录服务访问接口支持Hypertext Transfer Protocol(HTTP)协议。OGC网络目录客户端与服务之间的交互是通过标准HTTP协议的“请求—响应”模式实现,也就是说,客户端通过HTTP协议向网络目录服务发送请求,并期望以HTTP协议接收到来自于网络目录服务送回的请求结果或者错误异常信息。

在CSW中定义了可查询和可返回核心属性的实现。CSW元数据记录采用基于XML编码都柏林核心元数据,表5.5给出了可查询和可返回核心属性中都柏林核心元素名到CSW的XML元素的映射。

表5.5 基于XML编码都柏林核心元数据名(OGC目录服务规范)

img61

续表

img62

可返回核心属性的完整集合通过CSW的csw:Record元素来表达,另外两个元素csw:BriefRecord和csw:SummaryRecord分别表达核心属性集合的简单和概要性的记录。图5.6展示了利用可返回核心属性组织描述的某一地理空间数据集的元数据。

img63

图5.6 按照可返回核心属性组织的地学空间信息元数据示例

5.2.3.2 CSW操作

OGC网络目录服务访问接口包含7个用于客户端对服务进行访问的操作(operation),包括:GetCapabilities、DescribeRecord、GetDomain、GetRecords、GetRecord ById、Harvest与Transaction。其中GetCapabilities、DescribeRecord、GetRecords与GetRecord ById为OGC网络目录服务实现的必选操作,其余为可选操作。这7种操作分为3类。

第一类是基本服务操作(service operations),基本服务操作是所有OGC Web Services系列服务都包含的操作,客户端可以借助于基本服务操作获取目标OGC网络服务的功能描述,基本服务操作只包含GetCapabilities操作。

GetCapabilities操作使得客户端可以在运行时(runtime)动态获得目标OGC网络目录服务的元数据信息。一个成功GetCapabilities操作的返回是一个包含目标服务元数据信息的XML文档。该文档包含ServiceIdentification、ServiceProvider、OperationsMetadata以及Filter_Capabilities四个部分。ServiceIdentification包含与该OGC网络目录服务实现有关的元数据信息,比如服务名称、版本、关键字等;ServiceProvider描述了服务提供者的信息;OperationsMetadata详细地描述了服务接口元数据,包含每一个操作的访问地址、访问方法、参数等;Filter_Capabilities包含该服务所支持的过滤功能,即搜索功能。

第二类是查询操作,包含DescribeRecord、GetDomain、GetRecords与GetRecordBy-Id,客户端借助于查询操作获得OGC网络目录服务的元数据信息模型以及从OGC网络目录服务中搜索信息。DescribeRecord操作使得客户端可以在运行时动态获得网络目录服务所采用的元数据信息模型。利用GetCapabilities操作,客户端可以获得网络目录服务元数据信息模型中所包含的所有类型,而利用DescribeRecord操作,客户端可以获得元数据信息模型中每一种类型的详细定义。

客户端可以利用GetDomain操作在运行时获得某一元数据记录元素取值的允许范围。通常情况下GetDomain返回的取值范围要比该元素数据类型所定义的取值范围要小。

GetRecords操作是网络目录服务最主要的操作。在资源发现的通用模型中所包含的最主要方法包含两个操作:搜索(search)与呈现(present)。OGC网络目录服务规范中定义的GetRecords操作,基于HTTP协议的“请求—返回”模式将搜索与呈现两种操作融合在一起。客户端在GetRecords操作的请求中指定搜索的目标元数据类型、搜索条件以及元数据结果返回形式,对网络目录服务进行查询。

GetRecordById是资源搜索通用模型中的呈现操作,它用于从网络目录服务中获取由某一标识(identifier)所指定的元数据记录。

第三类操作是管理操作,包含Harvest与Transaction,用于对服务中的信息进行增加、修改或删除。Transaction操作作为“推(push)”的方式在目标网络目录服务中创建新的元数据记录。而Harvest操作作为“拉(pull)”的方式提取指定地理空间信息的元数据信息并注册到网络目录服务中。Harvest操作分为同步(synchronous)与异步(asynchronous)两种方式。当客户端采用同步方式请求Harvest操作时,目标网络目录服务在收到请求后立即开始处理,并在处理结束后返回结果给客户端,在此期间客户端一直处于等待状态;而当客户端采用异步方式请求Harvest操作时,目标网络目录服务在收到请求后立即返回给客户端确认消息,客户端在收到确认消息后就停止等待状态,之后网络目录服务可以安排时间进行处理,并在处理结束后按照事先在Harvest请求中指定的方式通知客户端。当有大量的地理空间信息需要被注册到目标网络目录服务中时,宜采用异步方式调用Harvest操作以避免客户端的长时间等待。

表5.6列出了OGC网络目录服务中所有7种操作所支持以及首选的HTTP通信和数据信息编码方法。

表5.6 操作所支持以及首选的HTTP通信和数据信息编码方法

img64

表5.7显示了通用目录接口模型中定义的不同类的方法到基于HTTP协议的CSW操作的映射。

表5.7 通用目录接口模型到CSW操作的映射(OGC目录服务规范)

img65

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈