SuperMap iServer 对于服务的构建和发布提供了一套灵活的机制,无论是通用空间服务还是领域空间服务都可以通过 SuperMap iServer 进行灵活的配置和发布。
这里主要以自定义领域空间信息服务到经典版 iServer为例,说明如何创建一个领域空间服务,并配置到 iServer 系统中。
该示例主要实现查询某个城市的天气信息,并在地图上进行显示,具体包含:
- 输入某个城市的名称(比如北京)。
- 并从 TemperatureInfo.txt 文件中读取城市的天气信息。
- 在地图上显示某个城市(北京)的天气信息。
该示例主要包含以下步骤,每一个步骤完成都是一个独立的示例,可以部署到 SuperMap iServer 中进行发布。示例源代码的获取位置为:%SuperMap iServer_HOME%\samples\code\DSSE 下。
- 创建一个 Temperature 服务组件,该服务组件中实现 GetMapImage(获取地图图片)和 GetTemperature(获取天气信息)方法,对应示例 Temperature_SC。
- 创建一个 TemperatureProvider 服务提供者,通过该服务提供者的 GetTemperature 方法读取 TemperatureInfo.txt 文件获取天气信息,对应示例 Temperature_SPSC。
- 创建一个 TemperatureServlet 服务接口,通过该接口访问天气服务的功能,对应示例 Temperature_SPSCSI。
注意:
从 SuperMap iServer 7C(2015) SP2开始,领域服务扩展开发时,注记中由支持普通 Java 类变更为必须使用接口。即:服务组件注记@Component 中用于申明服务提供者类型的 providerTypes 属性必须是一个或多个 Java 接口;服务接口注记@Interface 中用于申明组件类型的 componentTypes 属性必须是一个 Java 接口。
因此,扩展实现服务组件、服务提供者时,需要将其定义为接口,然后通过接口实现类来实现具体功能。
请参见