最近15年里,工业界和应用部门在设计开发和维护大型
的GIS软件和应用系统时发生了很大的变化。最初,我们使用的是大型的基于主机系统(例如VAX11系列)
的GIS软件和应用。这些系统都包含有各自独特的显示
单元,功能模块和数据存取单元。它们基本上是不能与
其他系统共享数据的。为了使不同系统的用户能够存取
相冋的数据,通常的做法是在不同的系统里存储同样数
据的多个备份。这种巨无霸技术和客户-服务器模型的
系统。这样的客户-服务器系统通过利用网络、个人计
算机、图形用户界面和关系数据库把集中式的巨无霸
系统分解为较小的单元,从而简化了复杂的信息系统的
开发与管理。然而在G1S领域,这种转变在最近几年才发生。这和GIS最初局限于制图和地学应用有关。直到最近几年,由于GIS的应用已经远远超出了纯粹的地学范畴,市场的
扩大促使信息工业的积极介入,并主导了G1S在技术上的发展方向。
新的客户-服务器系统把GIS应用分解为两个部分:
客户单元和服务器单元。客户单元包括应用的表达单元
(图形用户接口)和部分功能单元(分析,转换,制图等等)。服务器单元是GIS的功能单元(分析,转换,制图等等)的组合。数据存取单元可以放在客户端或者服务器端。这仅仅取决于
实现的策略。从现有的客户-服务器模式的GIS系统来看,通常足服务器端只包括数据的存取单元,而所又的功能
单元和gui都放在客户端;或者把部分分析功能放在服
务器端(例如Esri,Beniley,Mapinfo1的相关产品)。具体而言,这种模式实际上是利用了中间件技术,使GIS
作为关系数据库(RDBMS)的前端应用,其间的联结部分就
进数据存取单元,典型的客房-服务器架构的GIS。
显然,这样的客户-服务器解决方案只是简单地把原来
的巨无霸系统变成了两个仍然巨大的系统。系统的建立
管理和维护以及应用扩展仍然是一件艰难的事情。我们
还必须一遍又一遍地重复编写已有的功能,代码的再利
用是件很困难的事。通常这意味着代码的拷贝、修改和
再开发。因此,一部分代码的改变可能会影响到整个
系统相关代码的修改。
第二次转变是从经典的客户-服务器计算模項转变到以
构件开发为基础的分布式计算模型,信息工业用了很
长的时间完成这种转变,而GIS这一次却紧紧地跟上了
信息产业的脚步。新的模型把现在仍然庞大的两段式客
户-服务器GIS分解成自我管理的构件或称对象。这些构
件之间可以跨网络和跨操作系统进打互操作。应用开发人
员可以很容易地通过对这些构件的组装去发展新的应用和
软件。这种转变和互联网的快速扩张和普及密切相关,互
联网提供了分布式软件构件的应用市场。