今天阅读了一篇关于组件式地理信息系统的论文,将部分内容摘录如下:
论文名称:《组件式地理信息系统研究与开发》
作者:宋关福 钟耳顺
来源:中国图象图形学报 1998年4月第3卷第4期
组件式软件是新一代GIS的重要基础,ComGIS是面向对象技术和组件式软件在GIS软件开发中的应用。认识ComGIS,首先需要了解所依赖的技术基础——组件式对象模型和ActiveX控件。
COM是组件式对象模型(Component Object Model)的英文缩写,是OLE(Object Linking & Embedding)和ActiveX共同的基础。COM不是一种面向对象的语言,而是一种二进制标准。COM所建立的是一个软件模块与另一个软件模块之间的链接当这种链接建立之后,模块之间就可以通过称之为“接口”的机制来进行通信。COM标准增加了保障系统和组件完整的安全机制,扩展到分布式环境。这种基于分布式环境下的COM被称作DCOM(Distributed COM)。DCOM实现了COM对象与远程计算机上的另一个对象之间直接进行交互。
ActiveX是一套基于COM的可以使软件组件在网络环境中进行互操作而不管该组件是用何种语言创建的技术。作为ActiveX技术的重要内容,ActiveX控件是一种可编程、可重用的基于COM的对象。ActiveX控件通过属性、事件、方法等接口与应用程序进行交互。
ComGIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,它们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。
传统GIS软件与用户或者二次开发者之间的交互,一般通过菜单或工具条按钮、命令以及二次开发语言进行。ComGIS与用户和客户程序之间则主要通过属性、方法和事件交互。
属性(Properties):指描述控件或对象性质(Attributes)的数据,如:BackColor(地图背景颜色)、GPSIcon(用于GPS动态目标跟踪显示的图标)等。可以通过重新指定这些属性的值来改变控件和对象性质。在控件内部,属性通常对应于变量(Variables)。
方法(Methods):指对象的动作(Actions),如:Show(显示)、AddLayer(增加图层)、Open(打开)、Close(关闭)等。通过调用这些方法可以让控件执行诸如打开地图文件、显示地图之类的动作。在控件内部,方法通常对应于函数(Functions)。
事件(Events):指对象的响应(Responses)。当对象进行某些动作时(可以是执行动作之前,也可以
是动作进行过程中或者动作完成后),可能会激发一个事件,以便客户程序介入并响应这个事件。比如用鼠标在地图窗口内单击并选择了一个地图要素,控件产生选中事件(如ItemPicked)通知客户程序有地图要素被选中,并传回描述选中对象的个数、所属图层等等信息的参数。属性、方法和事件是控件的通用标准接口,适用于任何可以作为ActiveX包容器的开发语言,具有很强的通用性。