Abstract Based on an analysis of the evolution of Information Technology (IT) and Geographic Information
Systems (GIS) in recent years, this paper explores the technical trends in GIS in the Internet age and discusses
three software models which may deeply influence both users and developers of GIS products: component
model, service model, and distributed model. Previous monolithic GIS software products can now be subdivided
into GIS components which provide specific services and allow application developers to assemble these
components quickly to make their business systems. A new Web-based GIS architecture on the CORBA
object bus has been introduced. Issues on the applications of the network-centric GIS as well as its impacts
on the industry have also been discussed briefly
.Keywords Internet,WWW,GIS, Component, CORBA
摘 要 本文通过分析近年来信息技术和地理信息系统(GIS)的进展,探讨在互联网时代的地理信息系统的发展趋势和技术,提出了以构件化的分布式地理信息系统的发展方向,并以新的概念探讨了以互联网为平台的GIS构件模型和客户-服务器模型为基础的GIS服务模型。在此基础上讨论了以CORBA为载体的基于万维网的GIS的体系结构、应用前景和对GSI产业的影响。
关键词 互联网 万维网 地理信息系统 构件服务模型 分布式对象 CORBA
分类号 P208
1 前言
1996~1997年度是地理信息系统(GIS)发展变化最大的一年。回顾过去的一年,由于信息技术的快速发展,GIS软件在以下几个方面取得了很大的进展[1][12]:
(1) 开放GIS的研究。开放GIS研究的目的是保证用户可以存取广泛分布在网络上的GIS数据和处理单元,而不考虑数据和处理的源地和规格。一个由用户和开发商组成的联盟(OGIS)已经成立并开始为GIS的互操作与数据共享制订标准。
(2) 关系数据库(RDBMS)和GIS的结合。利用RDBMS存储GIS数据,并通过RDBMS存取和操纵这些数据。新的RDBMS也将支持新的对象-关系模型(ORACLE),从而可以更好地支持空间数据类型。
(3) GIS构件(Component)的开发。原来的巨型GIS系统现在正迅速走向构件化,分解为基本的GIS构件。标准的包装技术(Wrapper)已经出现,从而使GIS应用的开发者可以利用这些元件快速地组装GIS应用软件。
(4) 互联网(Internet),尤其是万维网(WWW),已经成为GIS的新的操作平台。GIS在互联网上的应用目前主要集中在空间数据的发放,地址的查询和地图的显示,并开始出现更为复杂的GIS应用[2]。将来会允许对专家功能系统的存取。
这些技术实际上是相互关联和相互影响的,并以多层次,分布式对象技术为核心,以万维网为载体。本文将围绕这四个方面的变化探讨互联网时代的GIS软件与应用所面临的问题和可能的对策。
2 信息技术(IT)对GIS的影响
最近15年里,工业界和应用部门在设计开发和维护大型的GIS软件和应用系统时发生了很大的变化。最初,我们使用的是大型的基于主机系统(例如VAX11系列)的GIS软件和应用。这些系统都包含有各自独特的显示单元,功能模块和数据存取单元。它们基本上是不能与其他系统共享数据的。为了使不同系统的用户能够存取相同的数据,通常的做法是在不同的系统里存储同样数据的多个备份。 这种巨无霸系统只能是低效和高代价的。在信息技术的其他领域,它很快就让位于关系数据库技术和客户-服务器模型的系统。这样的客户-服务器系统通过利用网络、个人计算机、图形用户界面和关系数据库把集中式的巨无霸系统分解为较小的单元,从而简化了复杂的信息系统的开发与管理。然而在GIS领域,这种转变在最近几年才发生。这和GIS最初局限于制图和地学应用有关。直到最近几年,由于GIS的应用已经远远超出了纯粹的地学范畴,市场的扩大促使信息工业的积极介入,并主导了GIS在技术上的发展方向。
新的客户-服务器系统把GIS应用分解为两个部分:客户单元和服务器单元。客户单元包括应用的表达单元(图形用户接口)和部分功能单元(分析,转换,制图等等)。服务器单元是GIS的功能单元(分析,转换,制图等等)的组合。数据存取单元可以放在客户端或者服务器端。这仅仅取决于实现的策略。从现有的客户-服务器模式的GIS系统来看,通常是服务器端只包括数据的存取单元,而所有的功能单元和GUI都放在客户端;或者把部分分析功能放在服务器端(例如Esri,Bentley,Mapinfo等的相关产品)。具体而言,这种模式实际上是利用了中间件技术,使GIS作为关系数据库(RDBMS)的前端应用,其间的联结部分就是数据存取单元,典型的客房-服务器架构的GIS如图1。
显然,这样的客户-服务器解决方案只是简单地把原来的巨无霸系统变成了两个仍然巨大的系统。系统的建立管理和维护以及应用扩展仍然是一件艰难的事情。我们还必须一遍又一遍地重复编写已有的功能,代码的再利用是件很困难的事。通常这意味着代码的拷贝、修改和再开发。因此,一部分代码的改变可能会影响到整个系统相关代码的修改。
第二次转变是从经典的客户-服务器计算模型转变到以构件开发为基础的分布式计算模型(Component-based Distributed Computing Model),信息工业用了很长的时间完成这种转变(这个过程仍然还在继续),而GIS这一次却紧紧地跟上了信息产业的脚步。新的模型把现在仍然庞大的两段式客户-服务器GIS分解成可自我管理的构件(或称对象)。这些构件之间可以跨网络和跨操作系统进行互操作(虽然目前还未见到这样的GIS构件出现,但已经有很多基于单一的操作系统平台的GIS构件出现在市场)。应用开发人员可以很容易地通过对这些构件的组装去发展新的应用和软件。这种转变和互联网的快速扩张和普及密切相关,互联网提供了分布式软件构件的应用市场。
图1
3 互联网上的GIS的构件模型
GIS第二次技术上的转变的核心是构件化(Componentization),即把已有的GIS分解为可互操作的自我管理的构件。它们建立在分布式的对象结构基础之上,应用了最新的分布式技术(例如OMG的CORBA[3]和Microsoft的OLE/COM[4],以及SUN的Java技术[5])。然而,基于构件技术的GIS设计和传统的巨无霸式系统或两段式客户-服务器系统设计有不同的方法和模式,其基本的框架结构也有差异。例如,传统的GIS模型包括十个功能单元:获取,转换,验证和编辑,存储,重购,综合,变换,查询,分析及表现[6],然而,由于存储和查询部分现在已纳入RDBMS,因此,在一个以万维网为平台的分布式GIS中基本的。