十年打造SuperMap三大技术体系

宋关福

Built Three Technical Systems of SuperMap in Ten Years SuperMap

论文来源:《地理信息世界》 2011年4月

摘要:2000年10月30日,历时4年研发的全组件式GIS平台软件SuperMap 2000正式公开发布,SuperMap 2000因其大型全组件式的创新定位,引起了业界关注。

关键词: SuperMap

  2000年10月30日,历时4年研发的全组件式GIS平台软件SuperMap 2000正式公开发布,SuperMap 2000因其大型全组件式的创新定位,引起了业界关注。随后几年,基于组件的GIS二次开发逐渐被业界广泛接受。超图正是抓住了GIS组件化的技术变革机遇,为以后的快速发展奠定了基础。

  时光荏苒,2010年过去了,SuperMap 2000发布已经整整十年。十年里,超图没有躺在组件式GIS上睡觉,技术创新步伐一直没有停止过,并成功构建了SuperMap GIS的三大技术体系。

  1)Unive rs al GIS,让您的GIS应用支持更多的硬件平台和操作系统

  2001年,超图以组件式GIS平台为核心,构建了桌面GIS,We-bGIS和嵌入式GIS的产品线,组件式GIS软件平台的技术也取得了长足进展,应用越来越广泛,发展形势一片大好。但与此同时我们也意识到,一场新的技术变革的机遇正在走来。

  当时,GIS已经完成了从单机系统到网络系统的转型,主流的应用普遍采用客户/服务器(C/S)结构,与此同时,随着WebGIS的广泛应用,浏览器/服务器(B/S)架构的应用需求在日益增长。C/S结构是胖客户端,主要GIS功能在客户端实现;而B/S结构下则是瘦客户端,主要GIS功能在服务器端实现。从C/S到B/S,GIS功能重心经历着从客户端向服务器端转移的变迁。

  功能重心的转移带来的是GIS所支持操作系统的迁移。Windows垄断了客户端电脑,但服务器端还是Unix,Linux和Windows三分天下的格局。几种服务器操作系统又各具特色,Windows操作简便,Linux成本低,而Unix则主宰了高端服务器(如小型机等),Linux和Unix服务器的高稳定性和高并发访问能力,对于服务器操作系统而言非常重要。

  问题出来了,当时的主流GIS平台,包括SuperMap 2000,ArcGIS8和更早发布的GeoMedia,其内核都是基于Windows构建的。当大量IT系统采用了Linux或Unix服务器时,国内外GIS厂商都不得不建议用户采用Windows作为GIS应用服务器,超图也不例外。有的单位即使拥有了Unix小型机这样强大的服务器,还必须另行采购安装Windows的PC服务器来运行GIS服务器端软件。难道GIS用户都必须放弃Unix/Linux操作系统和小型机等功能强大的服务器设备么?

  超图想改变这个格局,于是,一个名叫Universal GIS的庞大研发计划出炉。Universal GIS(共相式GIS)是一种高性能、跨操作系统的GIS技术架构体系。基于标准C++完全重构了GIS的功能内核,并以此内核为基础来开发GIS系列平台软件,这些软件可以在Unix,Linux和Windows等多种操作系统上高性能运行。基于该技术体系的服务器端GIS软件可以很好地支持IBM,HP,SUN等高端Unix/Linux服务器,为高端用户和大规模计算用户提供专享的GIS平台支撑。

  实施Universal GIS计划意味着要基于标准C++重写SuperMapGIS全部内核,并基于该内核重新构建一系列GIS软件,包括组件式GIS,WebGIS和桌面GIS。这是一项工作量极其浩大的工程。

  基于Windows开发类库的SuperMap平台花费了5年的研发时间,鉴于新的产品体系要支持多种操作系统,因此工作量比单纯支持Windows要大得多。这也意味着超图的软件功能的进步比原计划要有所延迟,超图的市场发展进度也将因此而受影响!是不是真的要执行这个庞大的技术改造计划,这在超图公司内部引起激烈争论。

  GIS软件功能复杂,运算量大,非常需要高端服务器;GIS服务器端软件对并发访问能力和稳定性要求很高,也非常需要Unix和Linux操作系统。为了不让用户因为选择了GIS就不得不放弃高端操作系统和服务器设备,从2002年开始,超图最终还是决定执行该计划。

  2005年,Universal GIS内核(UGC)1.0完成,并基于该内核构建了初步组件式GIS和WebGIS软件。2007年,超图发布了UGC 2.0、组件式GIS--SuperMap Objects Java/.NET 2.0和服务式GIS--SuperMap iServer 2.0。2009年,超图发布了UGC 6.0,SuperMap Objects Java/.NET 6R,SuperMap iServer 6R和新一代桌面GIS平台--SuperMap Deskpro.NET。

  Universal GIS技术越来越成熟,产品线也日臻完善。从此,您不再因为选择了GIS就必须放弃Unix小型机和众多的Linux计算平台。

  2)Se rvice GIS,业务敏捷的GIS之道

  在GIS应用发展过程中,还面临着一个困境,那就是系统很难跟得上需求的快速变化,系统开发过程中,一旦业务内核或流程发生了调整,系统就需要不断修改调整,工作量十分巨大,以至于出现开发商辛苦却没有多少利润空间,用户投入巨大但应用效果不满意的局面。

  因此,GIS应用需要业务敏捷。所谓业务敏捷包含两层含义:第一,IT在业务提出变化之后一个恰当的时间段里响应这种变化;第二,IT所做出的变化能够恰当地反映出业务的需求。业务敏捷就是随需应变。

  那么,如何才能实现业务敏捷呢?在IT领域,SOA正是解决业务敏捷之道。SOA不是一种具体的软件,而是一种架构思想,即使采用已有的WebGIS平台也可以构建SOA的应用系统。但是,WebGIS功能简单,技术体系陈旧,无法满足面向服务体系下的所有GIS功能需求,为了在GIS领域更加方便地实施业务敏捷,需要基于面向服务的软件工程方法,研发新一代服务器GIS平台———Service GIS(服务式GIS)。

  Service GIS是一个完整的、面向服务的GIS软件技术体系。在组件式GIS功能强大的组件群基础上,Service GIS采用面向服务的软件工程方法,把GIS的全部功能封装为Web服务(Web Service),从而实现了被多种客户端跨平台、跨网络、跨语言调用,并具备了服务聚合能力以集成来自其他服务器发布的GIS服务。基于Service GIS构建应用系统,可以通过聚合和集成已有的应用服务快捷地构建新的应用系统或升级已有的应用系统,以满足快速变化的用户需求。Service GIS为GIS应用系统开发的SOA实践提供了最佳支持。

  Service GIS是在组件式GIS基础上的质的飞跃,是Web服务版的组件式GIS,是组件式GIS基于面向服务思想的升华。Service GIS不是对WebGIS的升级,但可以替代WebGIS;同时,在很多情况下Service GIS还可以替代组件式GIS构建应用系统,所不同的是基于组件式GIS构建的是胖客户端的C/S结构应用系统,而基于Service GIS可以构建的是瘦客户端/富客户端的B/S结构应用系统,而且基于Service GIS也可以构建C/S结构应用系统。

  2006年,超图基于UGC技术启动了Service GIS的研发工作;2007年年底发布了Service GIS开发平台———SuperMap iServer 2.0;2009年年底发布了功能更为强大的SuperMap iServer 6R。SuperMap iServer支持Unix,Linux和Windows,是目前全球唯一一套支持IBM小型机的大型Service GIS开发平台。

  从组件式GIS到服务式GIS的关键一跳是GIS软件技术发展的重要里程碑,其意义绝不亚于十年前从传统GIS到组件式的一跳。在GIS领域,Service GIS也将成为继组件式GIS之后新的主流GIS开发平台。

  3)Reals pace GIS,二三维一体化推动3维GIS技术深度应用

  自2004年Google Earth发布以来,3维GIS得到业界广泛关注,一时间成为研究和应用的热点,加上有美国宇航局(NASA)的WorldWind等开源项目代码可供参考,各厂商纷纷推出3维可视化软件,并建立了不少应用系统,于是可视化效果比2维更加逼真的3维应用系统很快得到应用单位的青睐。

  当时国内不少公司也致力于3维可视化软件,一时间各种以Globe和Earth命名的3维可视化软件层出不穷,其中大部分基于国外开源项目开发。当时,超图也基于某开源软件项目研发了一套3维可视化软件,很快投入了应用,还基于此开发了多个行业应用系统,也与SuperMap GIS 2维GIS平台实现一定的技术对接,深受用户欢迎。

  2006年,当该产品渐入佳境之际,超图决定终止对该软件的研发投入。超图发现,不少3维可视化系统建设后,除看一看和查一查以外,很快就被束之高阁,应用单位开始不满足于“面子工程”或“花架子”的3维可视化效果,3维技术很难深度应用,很难为业务管理和分析提供支持。而已有的开源项目的定位是3维可视化而非3维GIS,不仅当前无法满足3维技术深度应用的需要,而且后续功能发展受到开源项目架构的限制会越来越多。砍掉该研发项目,可能会让超图在各厂商纷纷推出全球3维软件时存在相当长一段时间的产品缺位(事实上以前就有人在网上批评超图在3维方面无所作为),但从长远发展考虑,超图还是决定停止继续发展该3维可视化软件。

  3维可视化技术强于视觉呈现效果,是偶像派;2维GIS表现平实但功能强大,是实力派。在实际应用中,2维GIS无法满足用户对视觉效果的追求,仅仅3维可视化软件无法满足GIS高端分析的需求,因此用户同时需要2维功能和3维表现,二者应该结合在一起。通过二次开发集成2维GIS平台和3维可视化软件来实施项目,在一定程度上实现了2维和3维一体化。但由于两套软件技术内核不同,数据模型不同,很难实现真正的一体化,甚至还不得不在应用系统中把数据同时存储在两套软件中,数据同步更新代价大。

  因此需要一个从软件底层、数据模型和数据结构都实现了2维和3维一体化的GIS技术体系。2006年,超图放弃了原有的3维可视化软件研发项目,重新启动的Realspace GIS项目,正是这样的二三维一体化的GIS技术体系。

  Realspace GIS(真空间GIS)技术体系突破了2维GIS平台与3维GIS平台割裂的局面,构建了2维与3维一体化的GIS平台,实现了数据存储、数据管理、可视化、分析功能等多方面的二三维一体化应用。该技术体系能保证2维与3维GIS技术的无缝融合,包括:2维与3维在数据模型、数据存储方案、数据管理、可视化和分析功能的一体化,提供海量2维数据直接在3维场景中的高性能可视化、2维分析功能在3维场景中的直接操作和越来越丰富的3维分析功能。

  2009年年底,超图发布了基于二三维一体化技术体系的产品系列———SuperMap GIS 6R,其中字母R即为Realspace。具体产品包括二三维一体化的服务式GIS———SuperMap iServer 6R、二三维一体化的组件式GIS———SuperMap Objects Java/.NET 6R和二三维一体化的桌面GIS开发平台———SuperMap Deskpro.NET 6R。

  Realspace GIS突破了3维GIS以前只能满足“查一查”、“看一看”的应用瓶颈,推动了3维GIS的深度应用,并将在越来越多的行业得到广泛应用。

  4)SuperMap,将会给您带来更多!

  在SuperMap 2000发布之后的十年里,超图不断创新,完成了SuperMap GIS的三大技术体系的构建。三大技术体系包括:2005年发布的Universal GIS、2007年发布的Service GIS和2009年发布的Realspace GIS。三大技术体系支撑着SuperMap GIS平台软件产品系列,并对SuperMap GIS系列产品的后续发展产生深远影响。

  IT技术的创新和发展日新月异,我们也一直坚持探索,创新永不停息,正是坚持不懈的创新精神,让超图有机会生存并发展到今天。无论是什么时候,我们必须紧跟用户需求、IT变化和行业发展,必须时刻思考未来会有什么新的技术变革。

  今后,超图不仅会持续完善三大技术体系,还会不断探索创新GIS软件技术,为业界带来更实用、更强大和更先进的GIS产品和技术。一年以前,超图也开始了GIS云计算等新技术的研究,相信不久会给大家带来更多惊喜。