领域服务扩展

发送反馈


GIS 服务包括通用空间服务(Generic Spatial Service)和领域空间服务(Domain Spatial Service)。

SuperMap iServer 将空间服务分为两类,一类是通用空间服务(Generic Spatial Service,GSS),如地图服务、空间数据服务、空间分析服务、网络分析服务等,SuperMap iServer 默认提供了这类服务;另外一类服务是领域空间服务(Domain Spatial Service,DSS),用户根据行业特定的业务逻辑,自行构建出的与空间信息相关的服务。

SuperMap iServer 对于服务的构建和发布提供了一套灵活的机制,无论是通用空间服务还是领域空间服务都可以通过 SuperMap iServer 进行灵活的配置和发布。

这里通过一个示例来说明如何创建一个领域空间服务,并配置到 SuperMap iServer 系统中。

该示例主要实现查询某个城市的天气信息,并在地图上进行显示,具体包含:

该示例主要包含以下步骤,每一个步骤完成都是一个独立的示例,可以部署到 SuperMap iServer 中进行发布。示例源代码的获取位置为:%SuperMap iServer_HOME%\samples\code\DSSE 下。

  1. 创建一个 Temperature 服务组件,该服务组件中实现 GetMapImage(获取地图图片)和 GetTemperature(获取天气信息)方法,对应示例 Temperature_SC。
  2. 创建一个 TemperatureProvider 服务提供者,通过该服务提供者的 GetTemperature 方法读取 TemperatureInfo.txt 文件获取天气信息,对应示例 Temperature_SPSC。
  3. 创建一个 TemperatureServlet 服务接口,通过该接口访问天气服务的功能,对应示例 Temperature_SPSCSI。

注意:

从 SuperMap iServer 7C(2015) SP2开始,领域服务扩展开发时,注记中由支持普通 Java 类变更为必须使用接口。即:服务组件注记@Component 中用于申明服务提供者类型的 providerTypes 属性必须是一个或多个 Java 接口;服务接口注记@Interface 中用于申明组件类型的 componentTypes 属性必须是一个 Java 接口。

因此,扩展实现服务组件、服务提供者时,需要将其定义为接口,然后通过接口实现类来实现具体功能。

请参见