基于云计算的WebGIS系统构建探析

2011-08-07 08:21刘云彤吴焱常强贾莹
网络安全技术与应用 2011年8期
关键词:客户端服务器用户

刘云彤 吴焱 常强 贾莹

1 黄河水利职业技术学院测绘工程系 河南 475003

2 新疆师范大学地理科学与旅游学院 新疆 830054

3 河南省电力公司开封供电公司 河南 475004

0 引言

Internet技术的迅速发展为 GIS提供了一种崭新而又非常有效的地理信息载体,尤其是“数字地球”概念的提出引起了人们对GIS技术的广泛关注,这就使得Internet环境下资源共享的空间信息处理技术成为实现“数字地球”的关键支撑技术之一。本文将探讨基于云计算模式下的WebGIS系统分析及构建。享 IT基础架构的方法,可以将巨大的系统池连接起来提供IT 服务,通过安全和可扩展的方式让计算资源可以像虚拟资源一样被访问和共享(如图1)。云计算平台可按需进行动态的供给(provision)、配置(configuration)、重新配置(reconfigure)以及取消服务(deprovision)等。在云计算平台中的服务器可以是物理的服务器或者虚拟的服务器。

1 云计算的定义和特点

云计算的最终目标是将计算机作为一种公共设施(utility)提供给广大用户,使人们能够像使用水、电、煤气和电话那样使用计算资源。在过去的数年间,人们所提出的计算范型(paradigm)包括网格(grid)计算、服务(service)计算、对等(P2P)计算等。在云计算中,都能看到这些技术的影子。

1.1 云计算的定义

云计算(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展。“云”就是计算机集群(cluster),每一群包括了几十万台、甚至上百万台计算机。

云计算的基本原理是,计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。Sun公司的口号是“网络就是计算机”,这一口号很好地描述了云计算的工作方式。云计算是一种共

图1 云计算工作原理

云计算的关键是云架构:一个大规模的、由服务器甚至是个人计算机构成的网络,这些服务器和个人计算机在网格环境中互联在一起进行并行运行。用户通过界面选择一个任务或服务,其请求被发送给系统管理,找出正确的资源并调用合适的系统服务,加载相应的Web应用程序,创建或打开所要求的文件。Web应用启动之后,系统的监测和计量功能跟踪云的使用,确保资源分配和归属于合适的用户。

云计算的一个主要用途就是存储数据。利用云存储,数据被存放到多个第三方的服务器上,数据存储时,用户看到的是一个虚拟服务器,但在现实中,那个地方并不存在,而是使用一个假名,用来指示云中划分出来的虚拟空间。另外,通过云计算提供的任何基于 Web的应用或服务都称为云服务,利用云服务,应用程序本身就处在云中。

1.2 云计算的特点

云计算实现了从计算机到使用者,从应用到任务,从孤立的数据到可以随处访问、可以与任何人共享的数据的转变。使用者可以不再从事数据管理的任务,甚至无须记住数据的位置。从以上角度归纳起来,云计算有以下几个关键特点:

(1) 云计算是以用户为中心的;

(2) 云计算是以任务为中心的;

(3) 云计算的强大运算能力;

(4) 云计算的易于访问性;

(5) 云计算的智能性;

(6) 云计算的自编程性。

2 WebGIS系统简介

WebGIS(网络地理信息系统)是指基于Internet平台、客户端应用软件采用 WWW 协议运行在网络上的地理信息系统。它是利用互联网技术来扩展和完善GIS的一项新技术,其核心是在GIS中嵌入HTTP和TCP/IP标准的应用体系,实现互联网环境下的空间信息管理等地理信息系统功能。

由于 WebGIS系统充分利用了分布式体系结构Client/Server(客户端/服务器)的技术特点,因而客户端具有获得各种空间信息和应用的功能,在服务器端系统向客户端提供信息或系统服务。对于GIS应用来说,用户要求在互联网上不仅能够浏览文字信息,而且需要浏览大量的动态交互图形信息,并且不同的用户有着不同的需求。静态页面不能满足要求,需要采取双向交互式方法的动态页面来实现,即根据用户的指定从数据库里面查寻数据生成页面,分发给用户(如图 2)。WebGIS一般由四部分组成:WebGIS浏览器(Browser),可以通过Web服务器连通到任何地点的另一个数据服务器上,读取各种地理信息;WebGIS信息代理(Information Agent),是空间信息网络化的关键部门,提供直接访问数据库的功能;WebGIS服务器,能解释中间代理请求及操作数据库服务器和实现浏览器与服务器的动态交互;WebGIS编辑器(Editor),具有可视化、多窗口的功能,能建立GIS对象、模型和进行空间数据的编辑及显示。

图2 WebGIS分布式地理信息系统模型

WebGIS的主要特点有以下几点:

(1) 基于Internet/Intranet标准、分布式服务体系结构;

(2) 发布速度快、范围广,维护方便;

(3) 数据来源丰富、分布存储;

(4) 用户界面友好、建设投资少;

(5) 系统安全性强、协同性好。

3 基于云计算的WebGIS系统构建

WebGIS系统开发最初采用通用网关接口技术,以及相继发展起来的IDC、ASP、ISAPI、NSAPI等技术方法,后来又产生了被称为“插件”(Plug-in)的应用技术。目前采用比较流行的技术,一是Java语言,包括Java小程序Applet和Java虚拟机(VRM)等;二是采用ActiveX控件及 COM 组建对象模型等网络开发技术。目前采用的技术方法实现的WebGIS系统平台在许多领域都得到了很好的应用。

图3 WebGIS系统开发构建模型

归纳起来,无论是云计算还是目前WebGIS的发展,相同之处与关键点都是要把相关的操作、软件、硬件、服务、数据维护、信息获取等从个体PC迁移到网络,两者均是由多主机、多数据库与多台终端,通过Internet/Intranet连接而组成的,在线的空间数据仓库、库目录为Web用户提供在线数据服务,使任何地方的任何 Internet用户都可获得感兴趣的地理信息和使用GIS空间分析功能,以满足不同层次用户对GIS数据的使用需求,让这一切都能够随时随地在互联网上进行。构建的系统模型如图3所示。

3.1 WebGIS系统的层次结构

基于云架构的WebGIS系统采用浏览器技术,采用三层结构或者多层结构,多层结构的优点在于减少业务逻辑实现中出现的困难,客户端仅仅实现用户的界面、基本的数据完整性的验证等,而真正的数据、逻辑思想都存放在服务器端,从而使得企业逻辑体现得更独立,业务的变更对客户端的影响也会减少到最低程度,使客户端真正形成“瘦客户”。多层结构可以划分为浏览器层、Web服务器层、应用服务器(统计、查询逻辑对象)层、数据库服务器层。

在系统的使用过程中,用户通过局域网或拨号方式连接到 Web服务器,以使用 J2EE平台为例,使用浏览器调用Web服务器的应用程序或JSP脚本文件,Web服务器的应用程序或HTML脚本文件再调用应用服务器内SERVLERT,EJB,WebService对象(封装了查询逻辑),该对象负责连接主机数据库,保证系统高效运行。

在三层客户端/服务器模式上架构的应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、跨平台、可扩展性强、开发周期短等优点。而交易中间件作为构造三层结构应用系统的基础平台,提供两个主要功能:负责客户机和服务器间的联接和通讯;提供一个三层结构的应用开发和运行平台。

目前有多种的平台以及产品支持多层体系结构,其中主流的开发平台有两种:基于Java的J2EE技术以及基于微软产品的.NET技术。

3.2 WebGIS应用体系结构设计

3.2.1 用户层

(1) 个性化:按照不同层次的用户的需求可以进行定制用户常用的功能界面;

(2) 统一的信息门户:采用Web浏览器作为系统的统一入口,采用统一的应用支撑平台作为统一的信息门户,易于使用、易于管理、易于维护、易于扩充;

(3) 实时消息:系统提供及时的消息传递功能,对于例如区域性的天气预报、地震洪水灾害等重要事件可以进行及时的提醒功能;

(4) 扩展功能:采用B/S体系,同时结合C/S体系的优点,可提供灵活的数据统计、空间分析、与其它系统集成等扩展功能,满足用户的需要。

3.2.2 应用层

(1) 协同工作:通过同步(实时通讯)或者异步(电子邮件)的方式,实现多个地址、多个用户之间的数据交换及交流;

(2) 辅助决策支持:在细节数据积累的基础上,结合数据运作的模型,由计算机生成辅助决策的统计报表、分析结果、监控数据、预测等,为决策层提供有用的信息而不是大量杂乱无章的数据。

3.2.3 数据层

(1) 地图数据中心:以栅格数据和矢量数据为主的、以地图数据服务器为载体的工作流控制中心;

(2) 信息中心:包括基础地理数据、业务空间数据、元数据目录数据、地理实体编码数据及三维景观数据;

(3) 属性数据中心:以关系型数据库为载体的生产数据中心。

3.3 应用服务器集群

采用三层结构的应用模型,为用分布式环境处理关键性业务提供了一个结构化的解决方案。中间件应用设计应该是从异构的计算资源中创建一个“虚拟主机”,在分布式应用系统环境下提供可管理的相互关联的资源。

中间件提供了一个基础的框架去帮助用户建立、运行和管理一个三层客户端/服务器模式的应用,而不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。

复杂的业务系统能够支持的并发用户数往往非常有限,有时仅仅几十个并发用户就可以让CPU达到极限,中间件可以使云计算拥有强大的网络资源优化能力,将有限的硬件资源优化到极限,同时,中间件让云计算具有强大的动态负载均衡能力,平时可以分配普通的资源,当并发用户猛增时,云计算可以动态分配更多的资源和带宽以进行负载均衡,一切处理均自动完成,从而使得 SaaS软件有效的在不同的负荷下工作。

在三层结构的应用模式中,表示逻辑层和资源管理器作为应用界面和数据的管理者,在传统的二层模式中已有相关的标准和稳定的实现,而作为三层结构核心的中间层,由于其担负“承上启下”的枢纽作用,在实际的应用系统中扮演着至关重要的角色。中间件在对事务完整性的保证、对大规模并发处理的响应、对异构系统互联的透明支持,以及对应用数据的安全性保护等方面的表现将成为应用系统成败的决定性因素。

GIS服务器软件可以使用现阶段较为成熟的 ESRI公司的ArcGIS Server。ArcGIS Server是一个用于构建集中管理、支持多用户的企业级GIS应用平台。ArcGIS Server在请求式架构中是可行的候选者,缓冲地图碎片可以上传给像亚马逊简单存储服务(S3)之类的云计算销售商,以此在云中形成数据中心。ArcGIS Server可以完成空间数据管理、二维三维地图可视化,数据编辑、空间分析等即拿即用的应用和类型丰富的服务。作为集成云,ArcGIS在线内容共享程序使得用户和组织机构能提供地理数据内容。另外,地理信息共享和地图发布则可以通过ArcIMS完成如图4。

图4 ArcGIS Cloud工作界面

4 结语

云计算作为一种技术趋势正迅速兴起,几乎在提供或者消耗软件、硬件以及基础设施的每个产业中都能得以应用。在未来的 WebGIS产品平台解决方案中,基于云架构的WebGIS系统能够满足海量数据的存储和访问,云服务和部署模型所提供的技术和体系结构是研究和发展的关键领域。同时,云计算使得WebGIS组织机构变得更加具有成本效益,更多产且更灵活,从而能快速的提供新功能。

虽然云计算有许多优点,但了解它的风险以及在云体系中工作的时机是非常重要的。安全和隐私是IT专业人士作为供应商、经纪人或者用户考虑转移到云环境时最关心的两大问题,尤其是GIS数据的安全性问题。基础地理信息通常是保密级别的,由于数据不是放置在本地,而是放置在服务商的云计算机上,数据泄密就有可能发生。一旦泄密,数据拥有者将面临巨大的风险和信任危机。

本文通过对传统的WebGIS实现方法的局限性的分析研究,在基于云计算的框架下探讨了WebGIS系统的分析与构建,但是如果要搭建较为实用与完善的WebGIS系统,还需要更加深入地探讨系统的应用需求和开发环节。云计算结合WebGIS开拓了地理信息资源利用的新领域,为GIS信息的高度社会化共享提供了可能,为GIS信息的提供者和使用者提供了有效途径,为传统地理信息系统的发展提供了新的机遇。

[1] 刘南,刘仁义.WebGIS原理及其应用[M].北京:科学出版社.2002.

[2] Michael Miller.云计算[M].北京:机械工业出版社.2009.

[3] 陈旭东,刘迪仁.JSP 2.0应用教程[M].北京:清华大学出版社.北京交通大学出版社.2006.

[4] 赵玉国.基于云计算的WEBGIS系统构架研究[J].西昌学院学报:自然科学版.2010.

[5] 刘建川,杨军.基于ArcGIS Server的专题地图服务设计与实现[J].ArcGIS中国通讯.2009.

猜你喜欢
客户端服务器用户
通信控制服务器(CCS)维护终端的设计与实现
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
中国服务器市场份额出炉
关注用户
得形忘意的服务器标准
关注用户
计算机网络安全服务器入侵与防御