mapgis IGServer(九州)即 MapGIS 九州互联网地理信息系统,是一款基于跨平台内核的传统高性能GIS服务器产品,也是一款浏览器端GIS应用与开发的平台软件。产品致力于为用户提供强大的空间数据管理、分析、可视化及共享服务。不仅如此,还提供工作流和扩展服务两种方式实现功能服务拓展,以便用户进行各行业领域的WebGIS应用开发与扩展,本文主要介绍以扩展服务的方式实现功能服务拓展,关键开发流程如下: ·五大关键步骤· Step1依赖 服务插件中的依赖已经存在于igserver-webapp进程中,需将其设置为 provided ,因此插件可以共享框架中已存在的依赖。请注意:如果将重复的依赖加入到插件,会增加插件的大小哦~ 依赖声明 插件须有以下依赖项,其中mapgis-igs-api需要手动注册,该包位于BOOT-INF/lib下。 依赖声明 Step2打包配置 推荐插件打包使用maven-assembly-plugin,打包为one-jar。 打包配置 其中要指定插件的属性,注意插件id必须保证唯一性,class为Plugin实现类。如果是扩展的 SpringMvc REST服务,服务承载到IGServer中时将添加 /igs/rest/services/{pluginid}/ExtensionServer,示例如下: 必备配置项 在插件项目目录下执行: 将在target目录下生成插件文件 xxx-xxx-plugin.jar Step3功能开发 创建plugin类,即上文中的plugin.class,示例如下 plugin类 创建SpringMvc Controller扩展服务实现类,添加spring的REST服务注解@RestController或 @Controller,同时必须添加注解@Extension和实现Rest扩展服务接口ControllerExtension,可选择实现FrameworkContextCapable接口来获取框架的IOC容器,示例如下: SpringMvc Controller扩展服务实现类 其中注解 @Tag , @Operation 为OpenApi3注解,用于生成swagger文档。 上述示例REST服务的访问基地址为 http://localhost:8089/igs/rest/services/igs-demo plugin/ExtensionServer ,其中demo-plugin为插件id,IGServer自动为扩展服务添加的REST服务前缀,接口ControllerExtension默认实现服务自述信息方法。 Step4发布扩展服务 进入MapGIS IGServer服务管理界面,点击服务发布-功能服务-扩展服务。 选择打包生成的jar包上传即可完成扩展服务发布。 重启IGServer服务(扩展服务插件添加、删除后必须重启服务)。 step5访问服务 请求服务基地址 http://localhost:8089/igs/rest/services/igs-demo- plugin/ExtensionServer ,将返回如下信息: 请求服务基地址结果 开发者也可实现接口,实现自定义的服务自述信息接口,示例如下: swagger支持访问 http://localhost:8089/webjars/swagger-ui/index.html ,可查看所有扩展服务的REST接口文档。 扩展服务的REST接口文档 感谢大家一直以来对MapGIS系列产品的使用与支持,MapGIS现已全面升级到MapGIS 10.6版本啦,欢迎下载试用~ MapGIS IGServer(Java)10.6产品开发包下载地址: MapGIS 10 x64 All In One SDK for Windows开发包 MapGIS Objects Java 开发资料获取地址: MapGIS Objects Java 开发资料 MapGIS Objects Java 示例参考地址 示例网站 使用过程中有疑问,请访问司马云云听社区提问,有专业工程师解答您的疑惑。 云听地址: 云听社区 随着GIS产品的不断创新发展,GIS平台二次开发技能需求愈发凸显。未来,中地数码将始终践行以“GIS平台+生态发展”的融合创新战略打造GIS生态圈,积极拥抱业内合作伙伴,聚焦二次开发服务,为用户带来更加高效的二次开发技能培训及实战演练,满足用户“简便、易用、高效”的二次开发诉求。
|