如图所示,SuperMap iServer 由一个三层结构体系的开发框架搭建而成。
-
Provider 层的模块:利用 GIS 计算内核或者第三方 GIS 服务实现 GIS 功能的处理,如 UGCMapProvider 利用 UGO 内核实现关于地图操作的 GIS 功能。
-
Component 层的模块:根据 GIS 功能的划分,将各种 Provider 模块进行封装处理。如 Map Component 调用 Provider 层的 Map Provider 类型的模块提供关于地图操作的一系列 GIS 功能。
-
Interface 层的 Servlet 或者 Interface:按照不同服务形式的规则构建 Servlet 或者 Interface,将 Component 模块以各种服务形式对外发布,如将 Map Component 发布为 REST 风格的地图服务,将 Data Component 发布为 WFS 服务等。
三个层次的模块通过统一的接口进行通讯,保证模块间会话的可靠性。通过配置文件(描述上下层模块调用关系)以及依赖注入技术(根据上下层模块关系实现动态调用),动态的为各层次的模块间创建关联关系。SuperMap iServer 提供的各种 GIS 服务就是由这三层中的各种模块相互组合、相互作用构建出来的。
SuperMap iServer 的多层服务结构为用户的领域空间信息服务扩展提供了良好的基础框架。用户根据自身业务需求,可以在 SuperMap iServer 服务体系的任意层次上开发符合自身行业特点的功能模块(即领域空间信息服务模块)。领域空间信息服务模块与 SuperMap iServer 内置的模块具有同样的地位,SuperMap iServer 可以将其最终发布成领域空间信息服务。
关于三个层次模块的具体分类和信息,请参考:各层次模块。