论文部分内容阅读
随着计算机技术的快速发展,地理信息系统(简称GIS)以其地理信息的电子化、可视化、中央存储管理等优点在信息领域得到很大的发展。近年来在国防、交通运输、农业、林业、水利、电力,管理等各个行业中地理信息系统得到了更进一步的拓展。随之而来的,用户需求和GIS的功能和规模之间的矛盾日益扩大。没有一个GIS系统能够充分满足用户的所有需求。同时,根据传统观念开发的GIS,由于其自身不可定制、功能组织缺乏弹性,使它与用户的需求差距不断的加大。另外由于GIS软件具有专业性强的特点,因此针对某些具体行业的需求,必须由各领域的用户进行二次开发才能解决。
为此本文通过把柔性软件的思想应用于实践,提出了基于Web服务的地理信息系统二次开发平台软件应用框架。为了使系统具有面向不同领域用户的柔性,该解决方案提出了二级定制结构。该结构使得定制过程更为灵活,同时使定制本身的复用成为了可能。又由于方案采用了构件加脚本的模式,既不同于现有的宿主型开发模式GIS(只依赖脚本语言实现),又不需要像组件式GIS那样需要有专业的编程语言的支持,因此本系统能尽量满足不同层次用户对二次开发的需求。
在系统设计过程中,采用了软件构件的思想,将已有的部分系统,分离、扩展、重构为CAT、WFS和WMS三种相对独立的客户端功能构件。每类功能构件可以分别连接一类地理信息Web服务,并提供基本的浏览、查询、显示等功能。这大大提高了系统的可复用性。另外,为了提供对构件定制新功能的支持,每一种构件分别设计了面向用户的可调用接口。每个接口方法对应于构件所能提供的每项基本功能。这使得用户为系统定制新的功能成为可能。
此外为了描述定制信息,在系统中设计使用了基于XML的专用定制脚本。为了适应系统的二级定制结构,定制脚本同样被设计为用于描述程序主框架中包含组件类型、数量的系统定制脚本和用于描述单个功能构件的具体功能的构件功能定制脚本两级。
系统实现过程中反射技术的采用,使系统动态改变自身的能力,大于脚本的描述的范围。使扩展脚本和系统功能成为可能,从而增加了系统的可扩展性。
在本文提出的二次开发平台解决方案的设计与实现过程中,力图使系统在用户需求发生变化时,系统不必由开发人员修改。不同层次的用户都能够对系统的功能进行动态配置和调整,并且调整后的软件不需要进行编译即可以使用。