x

五大步骤实现MapGIS Web 功能服务拓展

发布时间:2022-08-09 阅读量:44

MapGIS IGServer(九州)即 MapGIS 九州互联网地理信息系统,是一款基于跨平台内核的传统高性能GIS服务器产品,也是一款浏览器端GIS应用与开发的平台软件。产品致力于为用户提供强大的空间数据管理、分析、可视化及共享服务。不仅如此,还提供工作流和扩展服务两种方式实现功能服务拓展,以便用户进行各行业领域的WebGIS应用开发与扩展,本文主要介绍以扩展服务的方式实现功能服务拓展,关键开发流程如下:

·五大关键步骤·

3f1a59705237bfed7e8202fab6636b6e.png

Step1依赖

服务插件中的依赖已经存在于igserver-webapp进程中,需将其设置为 provided ,因此插件可以共享框架中已存在的依赖。请注意:如果将重复的依赖加入到插件,会增加插件的大小哦~

依赖声明

插件须有以下依赖项,其中mapgis-igs-api需要手动注册,该包位于BOOT-INF/lib下。

2b3289856560e5f4d89fd06078b1a619.png

依赖声明

Step2打包配置

推荐插件打包使用maven-assembly-plugin,打包为one-jar。

84271ef8cff6f796c8344d121e93fba8.png

打包配置

其中要指定插件的属性,注意插件id必须保证唯一性,class为Plugin实现类。如果是扩展的 SpringMvc REST服务,服务承载到IGServer中时将添加

/igs/rest/services/{pluginid}/ExtensionServer,示例如下:

3fb3611f8f7e42ef2cb20d978801b729.png

必备配置项

在插件项目目录下执行:

958710e92e9b81e737eb8eb0b6d4d228.png

将在target目录下生成插件文件 xxx-xxx-plugin.jar

Step3功能开发

创建plugin类,即上文中的plugin.class,示例如下

066396d0896d23b6c855491c77bfea40.png

plugin类

创建SpringMvc Controller扩展服务实现类,添加spring的REST服务注解@RestController或 @Controller,同时必须添加注解@Extension和实现Rest扩展服务接口ControllerExtension,可选择实现FrameworkContextCapable接口来获取框架的IOC容器,示例如下:

826956cd268bb3befc24e30c615d737a.png

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服务管理界面,点击服务发布-功能服务-扩展服务。

c1a17207f33a6c9e0e2215d27c1abbd5.png

选择打包生成的jar包上传即可完成扩展服务发布。

71c65330e688c9818b76f7ba0c6a2aa8.png

重启IGServer服务(扩展服务插件添加、删除后必须重启服务)。

step5访问服务

请求服务基地址 http://localhost:8089/igs/rest/services/igs-demo-   plugin/ExtensionServer ,将返回如下信息:

688317ee9d762974557a228a1917e948.png

请求服务基地址结果

开发者也可实现接口,实现自定义的服务自述信息接口,示例如下:

d0dcd2fcb2f10ebddc5c8222feaeb21a.png

swagger支持访问

http://localhost:8089/webjars/swagger-ui/index.html ,可查看所有扩展服务的REST接口文档。

8de6629265b6d273b05427dbebc9c923.png

扩展服务的REST接口文档

感谢大家一直以来对MapGIS系列产品的使用与支持,MapGIS现已全面升级到MapGIS 10.6版本啦,欢迎下载试用~

MapGIS IGServer(Java)10.6产品开发包下载地址:

http://www.smaryun.com/dev/dev_environment.php

577fcb3209df06deb4af841737e2f13d.png

MapGIS 10 x64 All In One SDK for Windows开发包

MapGIS Objects Java 开发资料获取地址:

http://www.smaryun.com/dev/service-space/resource#/node_id459/item_id453

9e5c20e8477a76b7f9810eaf97707558.png

MapGIS Objects Java 开发资料

MapGIS Objects Java 示例参考地址

http://develop.smaryun.com:8800/

02fff417f3fb870e580a09ff6cc7cc27.png

示例网站

使用过程中有疑问,请访问司马云云听社区提问,有专业工程师解答您的疑惑。

云听地址:

http://beta.smaryun.com/cloudlisten/index.php

ea64633c3d937f3742d87d8c8f2af39a.png

云听社区

随着GIS产品的不断创新发展,GIS平台二次开发技能需求愈发凸显。未来,中地数码将始终践行以“GIS平台+生态发展”的融合创新战略打造GIS生态圈,积极拥抱业内合作伙伴,聚焦二次开发服务,为用户带来更加高效的二次开发技能培训及实战演练,满足用户“简便、易用、高效”的二次开发诉求。


联系我们

武汉中地

400-880-9970

武汉市东湖新技术开发区关山大道598号

北京中地

010-51652066

北京市朝阳区东二环北路内2号天元港中心B座1205

深圳中地

0755-26551638

深圳市南山区高新区科苑南路中地数码大楼A1001

西部基地

028-85230200

成都市锦江区复地金融岛湾流锦宫506

苏州中地

0512-65831998

苏州市姑苏区世界贸易中心A座22层2205室

热线电话

电话咨询

400 880 9970

点击咨询