基于 Restlet 机制扩展 |
SuperMap iServer 不仅提供了 REST 服务,将大量 GIS 功能以资源的形式发布出来,而且提供了一套扩展机制,使用户能够方便地将自己的应用添加至 SuperMap iServer 服务器上,实现自定义的资源,从而成为 REST 服务的一部分。
SuperMap iServer 目前有两种方式提供 REST 服务,即基于 Restlet 机制和基于 JAX-RS 机制,进行扩展时,要根据功能模块的实现方式采用不同的扩展方法。
基于 Restlet 机制实现 REST 资源的模块有:地图模块、数据模块、交通网络分析模块、三维模块。提供的扩展形式如下:
扩展资源。使用 REST SDK,通过继承 SDK 中提供的抽象资源类,进行新资源的扩展。
扩展表述生成器。使 SuperMap iServer 服务器能将已有资源发布成新的表述格式。
扩展参数解析器。使 SuperMap iServer 服务器能够识别新的参数传递格式。
扩展 HTTP 请求处理器。可以定制 HTTP 请求在 SuperMap iServer 服务器中的处理过程。
扩展安全机制。使用户可以将自定义的安全机制配置到 SuperMap iServer 服务器上。
客户端访问 SuperMap iServer REST 服务,一个 HTTP 请求在 SuperMap iServer 服务器端的流程如下图所示,其中,绿色的部分为扩展点:
其中,通过 REST SDK 扩展的资源、通过领域组件发布而成的资源和 SuperMap iServer 服务器上原有的资源,都可以进行表述生成器、参数解析器、HTTP 请求处理器的扩展。
本节将按照以下顺序来讲述怎样对基于 Restlet 机制的 REST 服务进行扩展: