APP下载

基于Flex和REST的WebGIS防汛信息管理系统

2017-05-16潘立武扈少华

水力发电 2017年2期
关键词:表示层信息管理系统防汛

潘立武,扈少华,刘 奎

(1.河南牧业经济学院,河南郑州450011;2.华中科技大学水电与数字化工程学院,湖北武汉430074)

基于Flex和REST的WebGIS防汛信息管理系统

潘立武1,扈少华1,刘 奎2

(1.河南牧业经济学院,河南郑州450011;2.华中科技大学水电与数字化工程学院,湖北武汉430074)

针对传统的WebGIS系统研究开发中存在的人机交互性差、运行速度慢等缺陷,提出了基于Adobe Flex框架和表述性状态传递(Representational State Transfer,REST)的WebGIS系统的解决方案,并应用于防汛信息管理系统的开发中。系统采用Flex实现表示层的呈现,降低了系统的开发难度,增强了系统的用户体验性;使用REST技术框架解决了矢量地图的发布繁琐、服务器端和浏览器端之间响应速度慢的问题,为WebGIS的应用开发提供了新的思路。

富网络应用;防汛信息管理系统; Flex;表述性状态传递; WebGIS;Web服务

0 引 言

我国是一个洪灾多发的国家,加强防汛管理信息化建设,构建智能防汛指挥体系,能有效提高防汛的准确性、及时性和协作性,对防灾减灾、保护人民群众生命和财产安全有重要意义[1-2]。传统的人工防汛指挥方式存在效率低,不能充分合理地利用人力和物力资源的不足,难以适应防汛现代化的要求。随着地理信息系统(Geographic Information System,GIS)和计算机网络技术的飞速发展,将GIS 技术应用到防汛信息化建设之中,为构建以地理信息为基础的防汛指挥系统提供了新的思路[3]。

WebGIS是利用Web技术对GIS的扩展和完善,它利用因特网来实现客户端和服务器之间的信息交换(包含地理信息)。通常,WebGIS是一个分布式系统,用户和服务器可以分布在不同的地点和不同的计算机平台上,实现地理信息的分布式、跨平台传输。将WebGIS技术应用到防汛信息化建设之中,就是充分利用现有的各类资源,通过对空间地理、水雨情等数据的采集、组织与管理,构建防汛信息资源共享的网络平台,实现防汛信息的分析、模拟和显示。借助于GIS软件的空间处理和分析功能,能动态展示防汛地理信息的时空变化及其联系,为防汛指挥和决策提供定性和定量的技术支持[4-5]。

然而,传统的WebGIS系统在具体应用中常存在交互性差、地图界面操作体验不佳、响应速度慢、代码模块化程度低及开发维护复杂等问题。针对以上问题,唐芝青等[6]提出了基于Microsoft Silverlight跨平台技术和Windows 通讯开发平台WCF服务的WebGIS应用框架,但WCF框架系统过于庞大,不利于开发和部署,服务器负担重,维护成本高。张帆[7]和刘俊等[8]提出基于Flex RIA富客户端的WebGIS应用。

本文以吉林省白山市松江河智能化水电厂信息化建设为背景,将表述性状态传递(Representational State Transfer,REST)技术引入WebGIS中,开发出基于Flex和REST技术的松江河WebGIS防汛信息管理系统。系统采用Flex富客户端技术构建表示层页面,提高用户的使用体验,增强了WebGIS系统的交互性[9]。为实现Flex与服务器端的通信,采用面向服务的Web Services技术,构建松散耦合的防汛信息管理平台。Web Services具有跨语言、跨平台、易于集成的特点,因此,基于Flex和Web Services能有效解决异构数据集成的问题,开发的系统具有跨平台和易于部署的优点[10-11]。

1 系统采用的关键技术

1.1 Flex

在松江河防汛信息管理系统中,采用Flex技术实现表示层的设计开发,主要完成地理信息和业务数据的友好展示,以及改善人机交互中的相关逻辑,提高用户的使用体验,加快系统的响应速度。Flex是基于Flash开发语言的一个基于WEB浏览器富客服端(RIA)的应用程序开发框架。开发者使用MXML来定义用户界面。MXML是基于XML的,最后由Flex服务器生成SWF格式文件,在Flash Player中运行。

在整个系统结构中,Flex除了实现富应用界面以及增强用户体验外,还负责与后台服务器的通信。Flex表示层接收用户在浏览器发出的请求,并进行分析处理。处理的形式分为2种:一是用户请求只涉及到简单的数据处理和逻辑请求时,不需要服务器来处理,可以直接由Flex进行处理,减轻了服务器的负担;二是用户请求需要后台服务处理时,Flex就将请求发送给后台服务器,后台服务器响应并处理完之后将结果返回,Flex根据返回的结果生成页面呈现给用户。

1.2 REST

借助于ArcGIS API for Flex提供的REST接口,可以方便地访问GIS地图和使用REST接口提供的查询及分析功能。REST是基于HTTP协议的,最大的特点就是将数据和服务抽象为资源,用统一资源标识符(Uniform Resource Identifier,URI)来进行访问操作。通过HTTP协议提供的GET、POST、PUT和DELETE方法,对资源进行获取、创建、修改和删除,能通过Internet方便地实现对地图资源的操作。Flex与ArcGIS Server的通信只需通过MXML和ActionScript脚本代码,调用ArcGIS Flex API中的类编写代码调用每个资源的URI,就可获取ArcGIS Server中的资源。Flex应用REST接口获取地理信息的流程见图1。在本系统中,创建、发布和使用地理服务的流程见图2。

图1 Flex应用REST接口获取数据

图2 创建、发布和使用地理服务流程

1.3 WEB SERVICES

由于Flex页面不能直接与后台数据库进行交互,本文提出使用Web Services来解决这个问题,通过Web Services的中转作用最终实现Flex与后台的间接通信。Web Services基于简单对象访问协议SOAP通讯协议,在客户端的SWF格式文件中设定了需要访问的Web Services服务器的地址,根据这个地址向Web Services服务器提出访问请求;Web Services服务器收到请求后,分析请求内容,并将数据以XML文件的形式存储在客户端的Web Services对象之中;Flex调用Web Services,解析返回的XML文件,获得相关数据信息。调用Web Services服务的过程见图3。

图3 Web Services服务调用过程

2 基于Flex的WebGIS系统设计

2.1 系统体系结构设计

根据系统需求和涉及到的关键技术,松江河防汛信息管理系统采用R/S(RIA/Services)架构进行设计和开发。系统硬件体系结构分为表示层、Web服务层、应用服务层和数据服务层4个部分(见图4)。表示层直接面向用户,并且向Web服务器发送请求;Web服务器处理表示层发来的请求和 Web Services请求,根据请求内容,向应用服务层的GIS服务器获取相关服务,或者通过Web Services与数据服务层的数据库交互;GIS服务器主要负责地图服务的发布,通过REST接口,可以在Flex环境下开发应用系统。本系统使用Flex 作为前端展现,后台连接ArcGIS Server REST Services。客户端只需安装了Flash Player插件的浏览器即可,服务端选用的是ArcGIS Server 10。系统逻辑体系采用典型的三层结构模式(见图5)。

图4 系统硬件结构

图5 系统体系结构

2.2 系统功能结构设计

松江河防汛信息管理系统是松江河智能化水电厂建设的一个重要内容,是提高松江河防汛指挥数字化和信息化的重要体现。根据需求分析,系统功能分为防汛值班管理系统和防汛物资储备与队伍管理系统2个子系统。系统功能结构见图6。通过该系统,实现了水雨情监测、救援路径规划、分布式防汛物资管理、防汛人员自动值班管理、防汛调度数字化方案模型等功能。

图6 系统功能结构

借助WEBGIS和REST 技术,WebGIS防汛系统除了实现一般信息管理系统的功能外,还增加了许多地理信息处理功能。如可结合示范区的地理信息生成电子地图,在电子地图上标注抢险队伍、防汛物资、防汛抢险点的分布位置,并且实时更新分布情况;根据人员的分工(如防汛领导和主要防汛人员等),实时跟踪和显示防汛人员地理位置,并提供行动路线GIS查询功能,为抢险队伍人员的合理分配提供科学依据;将实际抢险调度工作与电子地图跟踪相结合,能及时掌握现场实际调度抢险情况,提高防汛工作效率和险情快速反应能力;根据示范区险情信息和实际工程需求,制定防汛调度方案,拟定合适的人员物资撤离路线和工程救援路线等。

图7 库存信息查询

3 系统的实现

根据需求,本防汛信息管理系统采用Flex进行WebGIS系统的表示层开发,页面开发采用EXTJS+Structs2,服务器端采用Java技术实现。GIS服务器选择ARCGIS Server 10,数据库管理系统使用的是Oracle 10g Enterprise Edition,WEB服务器是Apache-Tomcat 6.0。以站点信息查询模块为例,用GIS服务器提供地图服务,用Web服务器提供数据服务,根据数据处理和地图操作的不同,客户端和服务器端分别以不同的协作方式进行处理。表示层的设计是在Flex Builder中完成,将GIS服务器地址配置正确,并且解析Web Services的数据,最后编译生成SWF格式文件,以URL地址的形式在HTML网页文件中使用。将开发完成后的系统部署在网络上,就能顺利使用系统功能了。

库存信息查询见图7。站点信息查询见图8。防汛调度方案结合电子地图显示见图9。在图9中,防汛调度方案显示在电子地图上并标记出受灾位置的地理信息,受灾区基本信息可以弹出框的形式出现,可以直观地标注和分配的防汛物资。

4 结 语

基于Flex和REST的WebGIS的防汛信息管理系统作为防汛决策系统的重要组成部分,为松江河当地的防汛工作提供了技术支持。系统克服了传统的WebGIS系统应用开发中遇到的用户体验性差、响应速度慢等缺陷。Flex为用户提供了页面表现力更丰富、交互性更强的操作界面,提高了对图形元素的处理功能,为WebGIS提供了一种全新的表现机制。REST技术框架的应用,解决了系统开发过程中遇到的开发效率低、服务器负担重、维护成本高等问题。设计开发的WebGIS防汛信息管理系统具有操作简单、跨平台、可扩展、信息分布共享、高效的负载平衡等特点[12-14],实现了防汛信息的实时更新和共享,提升了防汛指挥的信息化水平,提高了工作效率。随着Flex技术框架的不断完善,REST风格的系统架构不断丰富和发展,Flex和REST将会在WebGIS的研究开发中得到越来越多的应用。

图8 站点信息查询

图9 防汛调度方案结合电子地图显示

[1]吴頔, 轩玮. 建议加强防汛管理信息化建设[N]. 中国水利报, 2015-03-10(4).

[2]汪洋. 切实增强责任感紧迫感 全面做好防汛抗洪工作[J]. 中国应急管理, 2016(6): 27.

[3]刘奎. 基于WEB2.0的松江河防汛信息管理系统研究与设计[D]. 武汉: 华中科技大学, 2013.

[4]韦朝振, 郑伟. 基于WebGIS的河南作物适宜性分析系统的设计与实现[J]. 地矿测绘, 2016, 32(1): 12-15.

[5]李建国. 基于GIS的防汛信息监测与分析系统的设计与实现[D]. 济南: 山东大学, 2015.

[6]唐芝青, 吴斌辉, 黄逸帆, 等. 基于Silverlight技术和WCF服务的WebGIS应用框架研究[J]. 国土资源导刊, 2014, 11(10): 137-142.

[7]张帆. 基于RIA的构件式WebGIS的研究与实现[D]. 郑州: 郑州大学, 2011.[8]刘俊, 谭建军, 邵长高. 基于Flex的WebGIS框架设计与实现[J]. 计算机工程, 2010, 36(10): 242-244.

[9]王丽君. 基于RIA技术的县级山洪预警WEBGIS发布系统[D]. 长春: 吉林大学, 2014.

[10]邬伦, 唐大仕, 刘瑜. 基于Web Service的分布式互操作的GIS[J]. 地理与地理信息科学, 2003, 19(4): 28-32.

[11]王非. Web Services在Flex系统中的应用实现[J]. 微型电脑应用, 2009, 27(3): 30-32.

[12]张元栋, 杨联安. 主流WebGIS构建方法的研究分析[J]. 陕西师范大学学报: 自然科学版, 2008, 36(S1): 168-170.

[13]吴博, 吴俐民. WebGIS的防汛抗旱信息管理系统设计与实现——以曲靖市麒麟区为例[J]. 地下水, 2012, 34(6): 137-139.

[14]李海奔. 基于WebGIS的聊城市水情信息系统平台建设研究[D]. 济南: 山东农业大学, 2015.

(责任编辑 杨 健)

WebGIS Flood Control Information Management System Based on Flex and REST

PAN Liwu1, HU Shaohua1, LIU Kui2

(1. Henan University of Animal Husbandry & Economy, Zhengzhou 450011, Henan, China; 2. School of Hydropower and Information Engineering, Huazhong University of Science and Technology, Wuhan 430074, Hubei, China)

As the defects of traditional research and development on WebGIS, such as poor man-machine interaction and slow response and so on, a solution based on Flex and Representational State Transfer (REST) technologies is introduced to build flood control information management system. The presentation layer of the system is implemented by means of Flex, which can reduce the difficulty of system development and enhance user experience. Some problems of WebGIS application system, such as complicated release of vector map and slow interaction between server side and the client side, is solved by using REST technical framework. The application of Flex and REST provide a new thought for the application and development of WebGIS.

Rich Internet Application(RIA); flood control system; Flex; Representational State Transfer(REST); WebGIS; Web Service

2016-09-27

河南省科技厅重点科技攻关项目(152102210320);河南牧业经济学院科技创新团队(HUAHE2015006)

潘立武(1971—),男,河南杞县人,副教授,博士,研究方向为系统集成、软件开发、嵌入式等.

TP311.52

A

0559-9342(2017)02-0094-05

猜你喜欢

表示层信息管理系统防汛
夏季防洪防汛
三维可视化信息管理系统在选煤生产中的应用
信息管理系统在工程项目管理的应用
防汛当前莫添乱
基于三维TGIS的高速公路综合信息管理系统
基于Spring的企业级Web项目架构设计研究
防汛,就是要和隐患“对着干”
淮委组织开展2017年防汛抢险联合演练
人事档案信息管理系统的设计与实现
ASP.NET三层构架解析