5. 信息行业地理处理交互性的基础

5.1. 概述

开放GIS工程在地理处理界是空前的,但它是以前的和正在进行的信息技术(IT)的提供互操作的模型。开放GIS规范本身在地理处理界是前所未有的,因为的交互性,开放GIS标准可应用于分布式计算技术和迅速发展的组件技术。

因为这一大部分技术设施是新建立的,并不是对所有的定义都通用,在产品或工程中执行开放GIS规范需要对这些技术设施进行根本的了解,我们在IT概念的根本基础上写这一章。

本章将对如下几个方面进行阐述:

如何通过规范获得交互功能。

建立通用地理空间类型作为互操作基础和描述使用对象范例类型的想法。

对客户和服务器的总体介绍,描述在客户/服务器环境下进行互操作。

解释了可插组件的计算模型,介绍了如何用互操作组件建立应用程序的关键概念。

5.2. 规范中什么是交互性?

开放GIS中的交互性是指软件组件间进行互操作以避免大量的转换工作、输入/输出障碍和由不同处理环境和数据引擎的访问障碍。“规范中的互操作”意味着软件开发者通过写符合通用标准的软件来获得互操作功能,例如应用软件编程界面(APIs)已经这样做了,但APIs一般要求程序员使用特定的操作系统和编程语言。

以抽象的层表达的规范比在特定操作系统(UNIX,DOS,VMS,等)、编程语言(FORTRAN,C++,Visual Basic等)、操作环境(Windows,X Window System等)或分布式计算平台(DCP,CORBA,OLE/COM,DCE等)中使用的规范应用更广泛,时间更长。为让软件开发者建立的地理应用软件能在当前的DCPs中或DCPs之间进行互操作,所以开放GIS规范是分层次的,有三个概念上的层次。(行业产生新的服务层次时,模型可以扩展到更多层次。)下面是正在设计的对象系统面向对象模型的贯例、定义和符号,这些模型是:

基本模型—-“事实”模型,包括“真实”对象(实体、属性和关系)和即时事件。这是真实世界的编码结构。

规范模型—-软件的通用模型,它处于什么状态,以及它因状态变化或有响应发生时(也是事件),它对这些刺激(事件或信息)做出反应的方式,也就是说,模型包括“理想”软件对象和“理想”事件。

执行模型—-特殊执行软件环境中软件对象的模型以及在这些软件环境中软件对象是如何互操作的。模型是实际软件对象的模型,它具有类型、状态、属性和发送信息的功能。我们希望每一个执行规范的计算环境都有一个执行模型。见(4.2.1)。

面向对象模型与设计中描述了一个相似的分层结构,其中的层被称为对象、动态和功能。总体规范中的图表用一个与Rrmbaugh的OMT贯例略有不同的贯例,如Cook和Daniels中所列出的。

在一个特定的DCP中,规范以一定的时间间隔发生作用。例如:在CORBA环境中,对象格式的通用表示法允许对象在系统间或工具间交换。最低层次,制作和管理的详细句法和草案要求更容易的基础通讯。(对占支配地位的DCPs的详细描述见基本分布式对象指南)。

标准结构语言比DCP高级,如扩充的SQL2或C++,可以提供一个固定的应用软件或用户界面,如果API或用户界面要与更多DCP界面进行互操作需要大量的附加编码。在最高概念层次,地方标准促进了专业领域中交互性应用软件的正确使用,在开放GIS规范中,这是具有共享地理属性类型语义学的信息协会层次,详见第五章。

5.2.1. 开放GIS规范独立于分布式计算平台

所有主要分布计算平台(DCPs),包括微软的组件对象模型(COM)、对象管理组的通用对象要求代理程序结构(CORBA)、开放软件基础的分布式计算环境(DCE)、Sunsoft的Java,使用一个或多个上述的规范层次在组件间获得互操作。另外,它们都支持计算的客户/服务模型。但是不同的DCP用不同的规范语言,例如,OMG的IDL(界面定义语言)只是使用OMG的CORBA的开发者的理想规范语言。(要说明的是:ISO开放分布式计算委员会正在制定一个国际标准的草案使OMG IDL独立—-例如,没有IORBA链接的IDL—-界面定义语言国际标准)。

要写一个与编程语言无关的软件规范,规范编写者用一种象IDL的语言,它具有变换多种编程语言的能力,它们可以用一种或多种下列语言来写规范:正式逻辑语言、正式规范语言如Z、英语(或其它自然语言)或用图表技术如对象模拟技术(OMT)(见面向对象模拟与设计)。具有挑战性的地编写一个完整明确的规范,这独立于执行平台,能被开发者理解。OGC技术委员会用IDL、正式逻辑语言和英语相结合曾写过开放GIS规范,UML已经成为技术委员会提供对象类别和它们的关系和界面的图形和象素描述的主要方法,但它还需要其它界面描述方法如英语来解释在UML中不易表达清楚的地方。OMT图表、Harel状态表和正式成套理论还可以继续使用。读设计对象系统:由Steve Cook和John Danniels编写的《面向对象模型》是告诉了读者为什么这是一种好方法。

表4-1开放GIS规范是一个独立于DC的规范

技术委员会把开放GIS规范作为一个总体规范(例如:它独立于DCP)开发的,而OGC技术提供者开发DCP专门执行规范作为开放GIS总体规范的一部分与技术委员会发布的RFPs相对应。

如表4-1中所表明的,开放GIS总体规范指定了一个详细的软件通用类型代表来识别所有实际中的空间和时间现象。它必须从抽象到能在所有的DCP上以一定的时间间隔对执行软件起作用,就语言式DCP而言,无须规定软件如何神被执行。

为满足给每个DCP制定一个标准规范的需要,OGC技术委员会发布了提议,OGC的技术提供者要对这一提议做出反应。每个RFP负责编写开放GIS规范的一个部分。(开放GIS总体规范还由技术委员会继续开发和扩充,而一部分开放GIS总体规范通过RFP过程执行)。反应包括组成带有工作说明软件的规范,反应要在最后期限前做出。技术委员会经过反复审议接受或拒绝提议的过程,确保每个RFP得到一个满意的执行规范。到此为止,选出的RFP的技术提供者合作编写部分规范并在最后期限前划分工作。

通过这个RFP过程,技术委员会确保了及时发布执行说明书,说明书由技术提供者自行编写。(过程比这里描述的更细,细节写在“OGC技术委员会政策和过程”文献,可以在http:www.opengis.org查到。)

技术委员会希望执行规范与总体规范越相近用户越好,与其它DCPs的互操作性越强越好。DCP间完全互操作超出了开放GIS工程的范畴,由其它人员在做这一工作,OGC部分代表和成员参加。

开放GIS规范的纲领和目录经过多次修改后,开放GIS协会将开始按照以上所讲的步骤去扩展开放GIS规范或重要信息协会所要求的“专业技术”(它是相对于“核心技术”来说的)。行业协会、部或学院,如应用领域中的运输、农业和保险与其他在OGC专业组(SIGs)中的工作人员一起共同策划完成扩展开放GIS规范的工作,SIGs与技术委员会的专业人员把他们的要求提交给技术委员会讨论,这些要求有可能会被RFPs所接纳。通过参与RFP的工作,技术使用者可以直接促进标准产品、面向用户产品的产生,OGC技术提供者可以认识得更早、更确切,使他们的R&D投资有长远的回报并不断开拓新的市场。

5.3. 开放地理数据模型提供了一种通用空间语言

Webster(Webster的第九版新词典,1984)提供了下列在开放GIS规范中使用的定义:

通用语言:任何一种在人们交流中都可使用的通用的或商用的语言,一种类似于公共语言的语言。

词典:有关某种语言的词汇、一套文献的词汇、交谈所需的词汇、某一专业领域的词汇以及其它专业领域词汇的总合。

开放GIS规范的通用语言是基于基本数据类型中定义的通用地理数据类型词汇,它在所有编程语言中都可使用,没有这些通用地理数据类型词汇,我们无法解决互操作性问题。在OGC中,“开放地理数据模型”就是指这一通用的地理数据类型词典。

开放GIS规范词典只限于那些为实现地理空间信息通讯所需要的词汇,一种词汇元素的表达方式应该可被具有互操作性的的组件式软件所解译和使用。

5.4. 面向对象

在传统的计算机程序中,完成某一任务的函数或过程与它们使用的数据是分离的。数据文件有多少个函数就会打开多少个数据文件,这样就会产生多个新的数据文件。与传统的计算机程序相比较,面向对象(OO)编程是由叫做对象的结构块组成,每一个自包含软件模块中都包括与给定任务中需要的所有命令(在对象术语中叫“方法”)和数据。当对象接收到执行任务的数据时它就开始执行该任务,因为在这种方法中,对象是“被封装起来的”,所以对象作为一个单元可以在许多程序中重复使用。经过设计,面向对象编程更容易产生自动继承原有对象功能的新对象,编程者用这种方法可以不必重新启动即可修改方法或添加新方法。下面是一个地理处理的例子:一个具有地理坐标(纬度和经度)的对象可以继承另一个对象的功能,从地理坐标转换到广域横向墨卡托圆柱坐标。

这似乎是在纸上谈兵,最初的对象设计是一项很重要的工作,面向对象编程(OOP)最适合于可能需要不断修改和扩充的大型编程工程(或规范,如开放GIS规范)。

OGC技术委员会的大部分成员相信这种对象方法是实现上述章节中所提到的目的的理想方法,但是相信者中,大部分是软件开发者,此外他们还相信,只有对象技术和DCPs的成熟(每个DCP具有它自己的对象方法),大部分开放GIS执行规范才会包括大量常规结构化编码(“结构化编码”是指设计的软件作为一个小型核心程序可以与外部程序库中的子程序互操作:它是与具有集成功能和子程序的大型单片机程序的“空心粉条”编码相对照的,这一方法可以使应用软件编程接口(APIs)提供一种标准连接,通过它一个程序可以与其它程序合作。)

下面的段落列出了对象范例来说明在对象中执行开放GIS规范的优点,请参阅有关对象的参考条目。

5.4.1. 封装与接口

在OO软件环境中,对象是通过接口来发生作用的,这种接口是程序和程序员所不能改变的,除非通过以上提到的继承方法来扩展它们。封装通过改变对象的方法来改变成对象的数据从而改变对象的状态,通过提供一种模块方法来保持状态和方法的一致,封闭方法在系统的设计和构成中也趋向于更方便,更符合人的思考方式。

对象接口的背后,对象方法的扩充,封装数据的格式和编排是对象所私有的。这种私有性使对象用户可以集中于提供的功能(由接口定义的)而不是集中于内部执行的细节。这种封装概念允许通过接口去定义开放GIS规范。这一点很重要,当地理数据处理开发者把地理数据集成到以前无地理数据处理功能的系统中去时,只要他们具有一致的接口规范,通过封装这种数据集成就变得很容易。

5.4.2. 执行继承与接口继承的比较

继承是指一个对象的功能优于某一对象的同时,具有这对象的某些功能的能力叫做继承。对象实际执行的这种继承在软件开发过程中是非常有用的,但是这种继承是靠具有继承性的编程语言来实现的。接口的继承是指一个对象重复使用另一对象的接口(不需要重复执行)的功能,这在大部分的编程语言中都是可行的。开放GIS规范采用接口继承为开发者提供采用面向对象编程语言或非面向对象编程语言的自由,同时保留了继承的建模功能。

5.5. 开放GIS环境中的客户和服务器端口

5.5.1. 概述

开放GIS的服务器模型是一种客户\服务器模型,也就是说,客户端程序或客户端对象是通过接口与“服务器端”进行通讯的。服务器端是可对客户端的请求进行响应的程序和对象,为客户端返回响应信息或向客户端提供一种进程函数。不是所有开放GIS执行工具都是传统意义上在客户端进程和服务器端进程间建立一对一的客户服务器,有的服务器可能提供多种不同的服务,有的客户可以通过网络访问多个服务器。根据这种情况,用 “服务器端口”这个术语比用 “服务器”更确切。开放地理模型词典为通用地理数据传输和客户与服务器端间的地理数据处理界面提供了基础。

在查看分布式地理数据处理基础技术过程中,我们把数据访问作为分布式地理数据处理的一个特殊而重要的方面,因为:

地理数据库一般包括大量的数据。

当前对这些不同种类(先前独立的)数据库的分布式访问需求量很大。

数据库访问是一般客户/服务计算的一个重要的任务。

常用的数据库—-一般都包括街道地址字段,它们都可作为地理数据。

近来功能强大的常规相关或位置相关数据库产品包括管理空间数据的工具,移动某些传统GIS功能到操作领域的研究可以由数据库很好地执行。

开放GIS数据访问模式要能给不同的贮存系统包括传统系统提供一种通用的接口。因为数据集成、执行、可用贮存、预算或所有权的原因,某些地理数据只能对一种存储机制有效。要获得单独数据通道可通过开放GIS数据访问服务器,不必复制包含地理编码信息的数据库。

5.5.1.1. 分布式计算定义

客户—-在客户\服务器环境中,客户是一个要求服务的组件。尽管在客户服务器模型中,客户也可能会为更高级别的客户提供服务,但在以下讨论中客户是指请求的发出端。

服务端—-在客户\服务器环境中,服务端是组件,它会对客户端提出的具体请求作出响应。尽管在客户\服务器模型中服务端也可能是客户,但在本次讨论中它是指请求的响应者。

数据访问服务器—-在客户\服务器环境中,数据访问服务器是组件,为客户的具体请求提供数据访问,尽管在客户\服务器模型中,数据访问服务器也可能会充当客户发出请求,但在本次讨论中它是指数据访问的提供者。

在所有的客户\服务器环境中,客户向服务器或服务端提出请求,服务器或服务端提供相应的服务。在具有统一开放GIS规范的客户\服务器的互操作中,客户和服务器组件界面与开放GIS规范中所描述的数据类型和软件界面一致。客户端提出请求和服务端作出响应所用的词汇、句法和协议都应该是客户和服务端都能理解的。这种基本的请求\响应机制是由分布式计算平台(DCPs)提供的,DCPs的句法和协议与开放GIS规范的词汇相结合可提供地理数据互操作处理的全部请求\响应功能。相似地,数据库管理功能通过数据库语言实现,当数据库语言与开放GIS规范词汇相结合时就构成了通用地理数据访问服务的句法和协议。

5.5.2. 开放GIS规范在发展中的客户\服务器模型中

客户\服务器模型使应用软件开发者能把应用软件的需求和功能独立出来并确定组件的作用和相互关系以满足不同层次的需求。层次开放界面服务的出现使组件增生(产生更多功能选择)互操作性提高。通常,大多数厂家的产品都是为高档的需求提供低档的服务或者产品间的功能是有差别的。这些通用的低档服务移植到一个具有标准界面的服务端中后就会成为一个小型的、便携的、具有不同功能的平台。表4-2说明发展中的分布式计算平台环境中地理处服务端的进展情况。

表4-2用开放GIS规范,地理数据处理情况反映分布式计算的发展。

表4-2显示从单片机地理处理向分布式对象地理处理的进展,纵向地看其历史发展情况:

单片机系统中,所有的层都紧密地结合在一起,一般不向其它系统开放,除非在单片机系统中通过基本数据交换方法与同样的单片机系统交换数据或从其它系统转换数据。这种数据交换是指“数据转移”。理论上有上百种格式,有私用的也有开放的,有上百种过滤器和转换用的通用程序来执行格式间的转换,还有许多交互式格式如SDTS、SAIF、GeoTIFF、国家图像格式转换标准和DXF,DXF代表地理数据互操作性的前期开放GIS方法。最近的调查显示,最通用的互交换格式是简单ASCII文本文件。

在DCP发展的第一阶段,DCP管理地理处理应用软件(如X Window系统或Visual Basic)与应用软件上的用户界面间的通讯,但其它界面仍然是内部的私有的。空间数据访问的提供者懂得应用软件的地理数据模型并能把基于模型的地理数据查询翻译成能被数据库软件懂得的查询,但这种情况下这种服务是与数据库相结合的。通过插件或远程调用来提供通讯,这种方式不如使用DCP简便。1995年,这种空间数据访问端在商业上用于提供对特殊合理数据库管理系统访问的具体GIS功能,这种数据库管理系统的合理模型和速度是优于私有空间数据库解决方案。空间数据访问端和通用数据库之间的接口不是开放的,但其模块便于使用者与其它数据库集成。图表中的开放GIS接口反应出厂家正在开发、把开放GIS规范的基本部分编纂成最终执行规范并即将投入市场的基于开放GIS规范的应用软件和空间数据访问端。开放GIS接口将使这一服务层向其它厂家和集成者开放。

在DCP发展的第二阶段,我们看到应用软件已经分离了某些通用服务到应用软件服务器。在这一阶段,应用软件便于嵌套进特定的工作流程。大量在单片机GIS系统提供的多余功能在分布式计算环境中作为应用软件服务器和空间数据访问端使用,由更多组成GIS厂家最高增值功能的焦点或用户应用软件开放使用。除了GIS,对地理处理领域也适用。为表明有多种途径为地理数据服务,图表显示空间数据访问端接受从一个通用数据库或数据查询中提取数据,这些数据库是一组不由全属性相关或对象数据库管理系统包含或管理的数据文件和元数据文件,开放GIS接口将提供内部层间进行通讯的通用语言。

DCP发展第三阶段,描述了许多专家预言的完全面向对象的应用软件,其中的应用程序是applet的临时应用程序,用户可以使用各种服务,数据库管理系统并可查询对象“群”和占据很大网络空间的查询对象代替。

横向地观察表4-2,查看开放GIS规范适合每一层的:

影像层:应用软件的扩充依靠操作环境(X Window系统、Visual Basic和“Control”等)中的用户界面源,而不是专用的或与应用软件密切结合的用户界面。为管理不同绘图和互操作数据处理问题,这一层要使用开放GIS。即使用户界面调用的基本服务,如打开某一区域或全幅显示功能,也位于不同的平台和操作系统,“最接近观察孔”的应用软件部分要用到特殊的开放GIS接口。例如:用户在察看一个地理影像并放大或缩小它时,如果开发者要包含或移除某一用于显示的地理属性或标志用户界面要与应用软件服务器或其它基本的贮存或处理这些属性的层通讯。这本书中,我们把用户界面和相关程序管理叫做“仿人技术界面”。

应用软件层和应用软件服务器层:常规应用软件即使在桌面计算环境中,也正日渐组件化,卸载了直接通用功能,如地图显示、用户互操作、打印、传真和在线帮助。应用软件服务器都具有这些功能,它们可以在任何符合它们服务界面的应用软件操作环境中使用。如以上所述,地理处理应用软件正发生着这一变化,放弃普通地理数据处理功能,改用计算环境允许的软件服务器共享工具。地理数据处理软件“Applets”和以下提到的地理处理过渡软件将通过开放GIS界面通讯,这些小型应用软件很容易写,因为它们可以通过编写简单的界面来提供服务而不是用集成的子程序。用户也因为从出现的大量可选的产品中受益,地理处理软件“applets”很少出现在以前的地理处理应用软件环境中,集成者可以廉价快速地把应用软件集成到工作流程的解决方案中。

空间数据访问端:空间数据访问端在应用软件语义和数据库语义间可双向翻译,例如:一个应用程序向一个数据库查询,它可能是以一个特殊的地理数据模型发送查询信息,而数据库只能理解SQL或专用的查询语言,除了媒介查询和回应,这个层使应用软件和应用软件服务器能访问其它与安全、版本控制等相关的数据库管理服务。这一层中还包括当前可用的商业产品,这些产品为GIS应用软件提供了一个与特殊目的相关数据库管理系统间的界面。将来,这个层中被提议的开放GIS一致性中间软件为所有开放GIS一致性应用软件提供访问任何配有中间软件的数据库管理系统中的数据。

数据库层:我们用术语“数据库”指数据库管理软件产品,如Oracle或Access,不只是简单的地理数据集。近来,主要的数据库厂家越来越对提供适合地理数据的数据库产品感兴趣,这对地理处理协会有利,因为:1)现代的数据库很快,而且提供一系列属性如安全性和版本控制,这些在传统私有空间数据库系统中不能使用;2)用户的地理数据与其它数据在同一数据库中,集成者和它们的客户可以更容易把地理处理集成到软件和决策过程中。将来的面向对象时代,传统的数据库可以服从随遇的数据对象。现在大部分地理数据(尤其是考虑地球图像数据时)贮存在文件中或目录中,这些文件或目录具有固定的结构,它们中没有一个的灵活性或功能可以与现代的数据库相比,有些地理数据库现在是通过配有开放GIS接口的专门目的查询系统访问,但几乎所有这种将被代替的地理数据都将在五年内转换成能管理大量无表格数据的现代数据库。

硬件和网络层:DCPs、硬件与网络标准使硬件与网络层对地理处理问题是透明的。

5.5.3. 开放GIS界面可用面向对象和非面向对象技术执行

如以上提到的,执行者可以用常规结构编程或面向对象技术建立基于开放GIS规范的解决方案,DCPs和OO编程成熟后,许多集成工作,包括开放GIS集成工作将涉及到常规和OO编程两种技术。

常规结构编程模型中,当客户提出请求,服务器检查其有效性,然后调用符合请求的API功能。这些功能可能在一个地址空间(处理范围)内部调用,也可能跨地址空间或跨机器和地址空间范围。在后两种情况中,必须使用某些互操作通讯机制。

面向对象模型提供相同的功能,但对应用软件开发者来说,它通常是一个对象API(换言之,

一个类库)。在分布式对象系统中,由服务端给出的API压缩成一套对象接口,接口带有执行服务端的服务功能的方法。分布式对象系统对应用软件开发者隐藏地址和机器范围细节。

我们在这里说明二者的区别,因为开放GIS接口使用常规和面向对象客户和服务端都要可执行,用来集成常规与对象执行的组合。表4-3描述了为进一步解释常规执行与OO开放GIS执行间弹性互操作的四个例子。例1显示一个常规客户通过功能API访问一个常规服务端;例2描述对象客户通过对象API访问一个对象服务端;例3描述在某种情况下,一个对象客户要访问一个常规服务端,为完成例3,要插入一个对象包提供具有它需要界面的对象客户,术语“包”是指变换一个API到另一个所需要的软件。包可以压缩常规服务端;例4与例3相反,它显示要给常规客户提供它想要的接口必须插入一个常规包。

表4-3常规客户、面向对象客户和服务端

开发者用开放GIS总体规范来构成功能API和对象API,现代计算环境各种元素的开放GIS界面系统由“可插入计算模型”阐明。

5.6. 可插入计算模型—-IT环境中的开放GIS技术

5.6.1. 介绍

可插入计算模型提供一个概念框架把开放GIS规范放入信息技术的广阔环境中,(这个概念框架一般被称为“参考模型”)。可插入计算模型的目的是定义高层次建筑学概念,不是提出一个执行方法或加入设计强制,除非在最高层。

5.6.2. 技术环境—-与非地理处理软件的关系

可插入计算模型描述关于基本功能元素(客户和服务端)内部连接的计算以及它们之间的界面,模型把开放GIS放在信息技术的大环境中。特别地,模型相对与DCP、数据库、人类智能技术、界面和其它非地理处理软件定义开放GIS服务模型。可插入计算模型基于标准,实际上是进化的,不是所有要求的功能,尤其是将来需要的和环境的功能都好理解,可插入计算模型的目的只是提供一个通用的参照为:

  • 描述并比较现有技术和标准,包括开放GIS规范;
  • 确定一套通用服务支持升级、扩展和无缝集成互操作地理处理功能;
  • 确定环境组件间的界面和相互关系;

表4-4中显示的可插入计算模,把一个完整的开放GIS应用软件环境分成为一个应用软件提供特殊功能的多个服务,每个服务元素是一个面向任务实体,具有一个特定界面和固定行为。服务集中在一起反应计算环境的基本功能区。

表4-5中显示的可插入工具模型的阴影部分代表从开放GIS服务模型到服务的界面,注意表4-4中的较大的可插入计算模型表的无阴影元素,你可以看到:开放GIS 适合的应用软件依赖其它必要的服务,这些服务不是开放GIS服务,如数据管理、DCP和人工智能界面服务。

可插入计算模型中定义的服务用来进行三种基本的系统集成:

  • 数据集成—-从事数据管理服务
  • 控制集成—-人工智能技术界面和DCP服务
  • 图像集成—-人工智能界面服务

集成者要使系统向异种地理数据开放需要在一个或多个层次上使用开放GIS规范。

表4-4可插入计算模型

以下列出模型中显示的多种服务:

人工智能技术接口服务包括相似的属性(如窗口和计算机上的指示设备),使用户可以与信息附件互相作用,建立在这些基本服务元素上的是另一个人工智能接口服务叫绘图用户接口(GUI),它附属于一个标准风格向导通过应用软件产生一个固定的外观和感觉。这些服务支持可视图像和相关行为与驱动这些行为的潜在工具服务区别开,人工智能技术接口服务还把问题范围与工作流控制、任务排序和事件通告的组织范围问题相结合,这一组中的服务包括管理、文献编辑、估计、估价、政策执行、维护和其它行为。例如,一个集成者可以用Visual Basic建立一个用户接口来推动部门的全球命令处理操作,与命令处理相关因素地理显示的用户操作由与一个或多个可插入工具合作的定制接口执行。

工具服务提供支持终端用户和应用软件的所有附加功能,工具服务的例子包括数据对象的程序处理功能(对应于用户处理)(如地理数据、图像、图形、音频和视频的处理)、与外部格式或环境间的数据交换、工作流或决定过程支持的数据分析(许多当前的单片机GIS产品厂家将成为GIS工具厂家—-组件和applet—-例如一般计算模型转向可插入计算模型)。

数据管理服务处理以下管理工作—-结构数据、文本、图像、图形和其它数据—-建立或使用它们独立于过程的如声音和视频,它们可以长期维护并在许多程序间共享。这些服务广泛地覆盖对象实体和它们间相互关系的定义、贮存、维护、管理和访问,这些数据库厂家提供的附产品,如以前讨论过的客户服务数据访问体系,它们也可以由专用的文件管理程序或对象系统提供。

分布式计算平台(DCP)提供一种标准通讯机制,可用于在分布网络环境中交互工具和交互服务通讯。服务包括信息发布、程序调用、远程调用、数据通讯、透明文件访问和网络安全。

操作系统服务包括管理硬件资源的低档服务和高档的软件服务—-支持用户和应用软件与硬件和操作系统相互作用。

硬件平台包括工作站或服务器的硬件组件,硬件平台提供中心处理器、局部存贮器、和组成系统实体组件的通讯设备。外围设备一般附属于硬件平台,独立于构造的其它部分,通过其它系统服务如操作系统服务访问。

除了定义应用软件平台的基础设备,可插入计算模型描述应用软件开发者怎样使用服务界面建立工具。如表4-3显示,每个可插入工具与数据管理服务、DCP服务或人工智能服务的界面中是一个APE,它定义行为并隔离服务要求和服务提供的执行细节。模型中的工具是数据和可执行编码的结构包,除了它们自己的域种或专用的算法或数据,它还参照平台服务(通过继承的被支持界面)。

表4-5 可插入工具,每个可插入工具具有算法、数据和分布式计算环境中与服务的界面。

5.6.3. 可插入计算模型的优点

可插入计算模型为给模型每个服务区的特定部分分配技术功能提供了一个一致基础,模型的一致性将有利于:

  • 促进在信息技术的大环境中更好地理解开放GIS规范的重要作用;
  • 增加组织和程序间的共享资源;
  • 增强用户和应用软件间数据的连通性;
  • 提高开发者和用户把新的功能集成到现有环境并把传统系统结合到新环境中的能力。

这些是开放系统和开放系统环境的优势,开放系统定义的核心内容是可升级、可扩充的、具有合成性和互操作性,这些“特性”在以下的段落中会详细描述以说明开放系统的特性和环境。可插入计算模型对描述支持一般开放系统环境和开放GIS规范的特殊应用环境的属性和服务行为帮助。

可升级应用软件环境可以灵活匹配,可以根据地理处理应用软件的需要合理精简工具(模型中的工具服务)。例如:不是所有的地图显示应用软件都要求全套的地理数据管理功能,因此这些应用软件只需访问开放GIS服务的子集。可升级环境中的工具配置可以基于整个应用软件的任务和特性,而不是全套单机软件包的所有内容。

可扩充性系统支持把外部数据和软件同化到一个软件环境中,包括通过打包继承前系统(已有的数据和软件)的功能,提供一个界面赋予它们标准对象行为,这样它们就成为了面向对象环境的一部分。或扩充地理处理应用软件的功能可以随着地理应用软件的成熟不断扩展。

多样系统通过可扩充性和现有工具中丰富的功能支持不同的应用领域,可以认为多样系统是“横向”或“企业”应用软件环境,它支持不同类型的工作并融合不同数据类型到同一组织的工作流过程中。

互操作系统支持集成、合作和可交换工具,给互操作工具授权机制主要由应用软件平台的基础结构服务支持:人工智能界面服务器、数据管理服务器和可插入计算模型的DCP服务器。互操作系统的工具可以代替,因此无需与环境中其它工具交换,新工具自动与环境中的其它工具互操作。

下一章,我们详细描述开放GIS总体规范,这一规范建立了一个界面框架,使地理处理的可插入计算模型得以实现。