-资源环境信息系统-环境GIS软件体系结构课件_第1页
-资源环境信息系统-环境GIS软件体系结构课件_第2页
-资源环境信息系统-环境GIS软件体系结构课件_第3页
-资源环境信息系统-环境GIS软件体系结构课件_第4页
-资源环境信息系统-环境GIS软件体系结构课件_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.1环境GIS设计的目标和任务2.2环境GIS总体框架设计2.3环境GIS数据库设计2.4环境GIS开发技术路线2.5环境GIS工程开发与实现2.6环境GIS软件体系结构2.7环境GIS实用技术第二章环境GIS设计与开发12/9/202212.1环境GIS设计的目标和任务第二章环境GIS设计与开2.6环境GIS软件体系结构

软件体系结构的三要素程序构件(模块)的层次结构构件之间交互的方式数据的结构12/9/202222.6环境GIS软件体系结构

软件体系结构的三要素12/9在软件体系结构设计中的性质结构体系结构设计定义系统的构件、构件打包的方式和相互交互的方式附属的功能体系结构设计描述设计出的体系结构如何实现功能、性能、可靠性、安全性、适应性,以及其它的系统需求。可复用体系结构设计应描述为一种可复用的模式,能复用已有构造块,并可供以后类似系统族的设计使用。2.6环境GIS软件体系结构

12/9/20223在软件体系结构设计中的性质2.6环境GIS软件体系结构

11952年,MIT(美国麻省理工学院)在Whirlwind系统上使用了符号地址,开始使用汇编语言编写程序,这是最早的软件抽象。1957年IBM公司完成的Fortran(Formulatranslation)语言,这是一种用于科学计算的程序设计语言。IBM公司在IBM704机上开发了用Fortran编写的监控程序系统,是操作系统的雏形,也是最早的对硬件的软件抽象。1975年,DeRemer和Kron发明了MIL(ModuleInterconnectionLanguages模块互连语言),MIL提供了描述模块之间的相互关系以及模块如何调用的静态方法。1985年,Microsoft公司开始研究开发用于微型计算机的Windows操作系统。软件体系结构的提出与发展12/9/202241952年,MIT(美国麻省理工学院)在Whirlwind从1995年推出的Windows系列成为独立的操作系统。发布了最流行的应用程序开发框架(Framework)MFC,使Windows应用程序的结构标准化,成为新一代开发应用软件的工具。20世纪90年代,人们逐渐认识到软件体系结构的重要性,软件工程师在描述和理解软件系统是逐渐谈论到软件的体系结构。20世纪90年代中期,一些统称为ADL(ArchitectureDescriptionLanguages体系结构描述语言)的工具被提出,它是一种相对较新的技术,目前尚未有成功的商业应用案例。OMG(ObjectManagementGroup对象管理组织)发布的UML(UnifiedModelingLanguage统一建模语言)是标准化的面向对象分析与设计的表示法,作为一种图形化的语言,它包括一组图表,用于需求采集的用例图和活动图,用于设计的类图和对象图,用于配置的包图和子系统图等等。软件体系结构的提出与发展12/9/20225从1995年推出的Windows系列成为独立的操作系统。发2.6环境GIS软件体系结构

集中式分布式12/9/202262.6环境GIS软件体系结构

集中式12/9/20226一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上。所有的计算任务和数据管理任务都集中在主机上,终端只是主机输入/输出设备的延长。各个用户通过主机的终端并发地存取数据库,共享数据资源集中式12/9/20227一个主机带多个终端的多用户结构集中式12/9/20227优点易于管理、控制与维护缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。集中式的优缺点12/9/20228优点集中式的优缺点12/9/20228数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用。同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。分布式12/9/20229数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。12/9/202210优点12/9/202210分布式客户端/服务器(C/S)两层结构客户机/服务器(C/S)和浏览器/服务器(B/S)三层结构网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器。其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机。12/9/202211分布式客户端/服务器(C/S)两层结构12/9/202211可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。有一组功能各自独立的服务器,为其他子系统提供服务。如打印服务器,文件服务器,编译服务器等。有一组客户机,他们调用服务器提供的服务。也可能存在客户机可并发执行的客户机程序。有一个网络,使得客户机能够访问服务器。在多用户超文本系统中存在若干服务器,它们管理和显示不同媒体的数据。客户机/服务器结构12/9/202212可以充分利用两端硬件环境的优势,将任务合理分配到Client

客户机/服务器(C/S)模式的结构

数据库服务器客户机数据库服务器数据库服务器应用服务器应用服务器客户机客户机两层结构三层结构混合结构12/9/202213客户机/服务器(C/S)模式的结构数据库服务器客用户应用逻辑数据库服务器通讯协议和SQL语言客户端/服务器(C/S)环境GIS模型12/9/202214用户应用数据库通讯协议和SQL语言客户端/服务器(C/客户端/服务器(C/S)两层结构

优点充分利用客户端的性能,使计算能力大大提高;在客户端和服务器两端是易于扩充的;是目前主流的网络计算模式12/9/202215客户端/服务器(C/S)两层结构

优点12/9/202一般C/S模式下GIS访问数据库的框架GIS功能层数据请求层GIS功能层数据请求层GIS功能层数据请求层GIS功能层数据请求层客户端数据库数据库数据库数据库……服务器12/9/202216一般C/S模式下GIS访问数据库的框架GIS功能层数据请求层基于环境空间数据库的C/S结构用户应用程序空间数据库应用程序接口客户端服务器环境空间数据库服务器Oracle、DB2、SQLServer数据库12/9/202217基于环境空间数据库的C/S结构用户应用程序空间数据库应用程序三层C/S结构环境GIS应用程序远程调用数据库存储调用数据库驱动应用程序数据库驱动自定义协议存储过程SQL语言客户机应用服务器数据库服务器12/9/202218三层C/S结构环境GIS应用程序远程调用数据库存储调用数据库三层C/S结构环境GIS的特点用户界面与应用服务器位于不同的平台上,用户可以共享应用服务器。用户可以共享应用逻辑。培训方便且开发成本低。系统层次清晰。12/9/202219三层C/S结构环境GIS的特点用户界面与应用服务器位于不同的浏览器/服务器(B/S)结构Browser/Server结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。用户可以共享应用逻辑。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)

。能有效地保护数据平台和管理访问权限,服务器数据库也很安全。12/9/202220浏览器/服务器(B/S)结构Browser/Server结C/S、B/S软件技术的比较数据安全性比较数据一致性比较数据实时性比较数据溯源性比较服务响应及时性比较12/9/202221C/S、B/S软件技术的比较数据安全性比较12/9/20(1)数据安全性比较

由于C/S结构软件的数据分布特性,客户端所发生的火灾、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点的数据安全都影响了整个应用的数据安全。所以,C/S结构软件的安全性是令人无法接受的。对于B/S结构软件,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以安全问题更有保障。12/9/202222(1)数据安全性比较由于C/S结构软件的数据分布特性,客户(2)数据一致性比较

在C/S结构对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。

12/9/202223(2)数据一致性比较在C/S结构对于异地经营的大型集团都采(3)数据实时性比较

在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据.B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。12/9/202224(3)数据实时性比较在集团级应用里,C/S结构不可能随时随由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。(4)数据溯源性比较

12/9/202225由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各(5)服务响应及时性比较C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务响应时间基本不可忍受。B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。12/9/202226(5)服务响应及时性比较C/S结构软件,由于其应用是分布的,2.1环境GIS设计的目标和任务2.2环境GIS总体框架设计2.3环境GIS数据库设计2.4环境GIS开发技术路线2.5环境GIS工程开发与实现2.6环境GIS软件体系结构2.7环境GIS实用技术第二章环境GIS设计与开发12/9/2022272.1环境GIS设计的目标和任务第二章环境GIS设计与开组件技术应用分布式组件技术应用;联机分析处理技术代理技术应用网络安全技术应用2.7环境GIS实用技术12/9/202228组件技术应用2.7环境GIS实用技术12/9/202228

★组件技术COM(ComponentObjectModel,组件对象模型)为GIS的实现提供了一种高效的实现手段。它是微软定义的一套接口规范。COM的目标和特性:

※建立在二进制代码级上的可重用性(通过包容和聚合)

※语言无关性,只要能生成符合COM规范即可;

※对使用COM对象的客户程序而言的进程透明性;

12/9/202229★组件技术12/9/202229COM与C++的区别对象是COM的基本要素之一,和C++的对象不同的是其封装特性是真正意义上的封装,对于对象使用者(通常称为客户)而言是不可见的.COM对象的可重用性表现在COM对象的包容和聚合,一个对象可完全使用另一对象的所有功能,而C++对象的可重用性表现在c++类的继承性。

※COM在目标代码级支持面向对象;※C++是在源代码级支持面向对象;12/9/202230COM与C++的区别对象是COM的基本要素之一,和C++的对★按组件存在的位置分为三类:※进程内(DLL)※本地(同一计算机上不同进程中的EXE)※远程内(不同计算机中的DLL或EXE)12/9/202231★按组件存在的位置分为三类:12/9/2022★组件技术组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。组件间的接口通过一种与平台无关的语言IDL(InterfaceDefineLanguage)来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提供的是原代码级的重用,只适用于比较小规模的开发形式;而组件则封装得更加彻底,更易于使用,并且不限于C++之类的语言,可以在各种开发语言和开发环境中使用。12/9/202232★组件技术12/9/202232★组件技术组件式软件技术已经成为当今软件技术的潮流之一,为了适应这种技术潮流,GIS软件象其他软件一样,已经或正在发生着革命性的变化,即由过去厂家提供了全部系统或者具有二次开发功能的软件,过渡到提供组件由用户自己再开发的方向上来。无疑,组件式GIS技术将给整个GIS技术体系和应用模式带来巨大影响。12/9/202233★组件技术12/9/202233基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。小巧灵活、价格便宜无须专门GIS开发语言,直接嵌入MIS开发工具强大的GIS功能开发简捷更加大众化组件式GIS系统的特点12/9/202234基本思想是把GIS的各大功能模块划分为几个控件,每个(1)小巧灵活、价格便宜

由于传统GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地实现与自己最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担。组件化的GIS平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅是传统GIS开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格比获得或开发GIS应用系统。12/9/202235(1)小巧灵活、价格便宜12/9/202235(2)无须专门GIS开发语言,直接嵌入MIS开发工具。

传统GIS往往具有独立的二次开发语言,对用户和应用开发者而言存在学习上的负担。而且使用系统所提供的二次开发语言,开发往往受到限制,难以处理复杂问题。而组件式GIS建立在严格的标准之上,不需要额外的GIS二次开发语言,只需实现GIS的基本功能函数,按照Microsoft的ActiveX控件标准开发接口。这有利于减轻GIS软件开发者的负担,而且增强了GIS软件的可扩展性。GIS应用开发者,不必掌握额外的GIS开发语言,只需熟悉基于Windows平台的通用集成开发环境,以及GIS各个控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境很多,如VisualC++、VisualBasic、VisualFoxPro、BorlandC++、Delphi、C++Builder以及PowerBuilder等都可直接成为GIS或GMIS的优秀开发工具,它们各自的优点都能够得到充分发挥。这与传统GIS专门性开发环境相比,是一种质的飞跃。12/9/202236(2)无须专门GIS开发语言,直接嵌入MIS开发工具。12(3)强大的GIS功能新的GIS组件都是基于32位系统平台的,采用InProc直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。小小的GIS组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。12/9/202237(3)强大的GIS功能12/9/202237(4)开发简捷由于GIS组件可以直接嵌入MIS开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且,GIS组件提供的API形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS开发人员能够较快地过渡到GIS或GMIS的开发工作中,从而大大加速GIS的发展。12/9/202238(4)开发简捷12/9/202238(5)更加大众化组件式技术已经成为业界标准,用户可以象使用其他ActiveX控件一样使用GIS控件,使非专业的普通用户也能够开发和集成GIS应用系统,推动了GIS大众化进程。组件式GIS的出现使GIS不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理的的可视化工具。12/9/202239(5)更加大众化12/9/202239组件式GIS是面向数据使用者和浏览者12/9/202240组件式GIS是面向12/9/202240基础组件

高级通用组件行业性组件组件式GIS开发平台的三级结构12/9/202241基础组件组件式GIS开发平台的三级结构12/9/20224(1)基础组件面向空间数据管理,提供基本的交互过程,并能以灵活的方式与数据库系统连接;(2)高级通用组件由基础组件构造而成,面向通用功能,简化用户开发过程,如显示工具组件、选择工具组件、编辑工具组件、属性浏览器组件等。它们之间的协同控制消息都被封装起来。这级组件经过封装后,使二次开发更为简单。如一个编辑查询系统,若用基础平台开发,需要编写大量的代码,而利用高级通用组件,只需几句程序就够了。面向通用功能。12/9/202242(1)基础组件12/9/202242(3)行业性组件抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。以GPS监控为例。对于GPS应用,除了需要地图显示、信息查询等一般GIS功能外,还需特定应用功能,如动态目标显示、目标锁定、轨迹显示等。这些GPS行业性应用功能组件被封装起来后,开发者的工作就可简化为设置显示目标的图例、轨迹显示的颜色、锁定的目标,以及调用、接受数据的方法等。12/9/202243(3)行业性组件12/9/202243GIS组件的构成空间数据获取坐标转换图形编辑数据存储数据查询数据分析制图表示GIS软件模型包含功能单元:12/9/202244GIS组件的构成空间数据获取GIS软件模型包含功能可以想象要把这些所有的功能放在一个控件中几乎是不可能的,即使实现也会带来系统效率上的低下。一般可以认为GIS构件的设计主要遵循应用领域地需求。例如ESRI地MapObjects就是以空间数据访问、查询、制图为主要目标的GIS构件。12/9/202245可以想象要把这些所有的功能放在一个控件中几乎是不可能MapObjects功能利用MapObjects,开发人员可以实现如下的GIS功能:显示具有多个图层的地图地图的放大、缩小和漫游增加点、线、圆和多边形等各种图形增加文本显示特征的属性利用图形选择特征利用邻近分析选择特征

12/9/202246MapObjects功能利用MapObjects,开发人员利用SQL表达式选择特征选择特征的统计查询和更新选择特征的属性数据各种专题制图按字段的高程或测量值显示按字段值对特征进行标号显示遥感图像

12/9/202247利用SQL表达式选择特征12/9/202247实时或时间序列数据的动态显示地理编码利用特征的测量值显示点和线事件地图坐标转换地图的空间操作地图的旋转

12/9/202248实时或时间序列数据的动态显示12/9/202248

应用及评价

软件的构件化已成为软件技术发展的潮流。基于DCOM的ActiveX构件实现,已成为软件工业的一种标准。伴随着未来其它非Windows平台对ActiveX的支持,ActiveX构件化的GIS软件系统将对GIS的体系结构和GIS将来的应用前景产生深远影响。虽然采用GIS构件在开发上有许多优势,但是不可避免的也存在一些功能上的欠缺和技术上的不成熟,主要包括以下几个方面:与专业的GIS客户端软件相比,采用构件技术不可避免的带来效率上的相对低下,这在访问超大空间数据(如大数据量的遥感图象)的时候表现得尤为明显;支持的空间数据量有限;支持的功能有限,由于是构件,只覆盖了GIS系统的部分功能,于是对于特殊领域,它就显得无能为力。12/9/202249应用及评价12/9/202249ArcObjects

ArcObject是ESRI公司Arcinfo系列软件的底层组件集,是基于COM技术所构建的一系列COM组件集。AO是基于微软的COM技术来构建的,因此它的开放性和扩展性很强大,可以有VB、VC++、Delphi等多种支持COM标准的开发工具,而扩展性是指AO组件没有提供的功能,如需要定义一种新的数据格式,可利用COM技术来写自己的COM组件,对AO组件库进行扩展补充。12/9/202250ArcObjects

ArcObject是ESRI公司Ar功能

MapObjects

MapX显示的地图数据格式

Arcview的SHP、ARC/INFO的coverage、SDE图层MapInfo的数据格式叠加栅格图像

有对地图的常用操作

放大、缩小、漫游等

放大、缩小、漫游等图层控制

增加、移走、设置当前层

增加、移走、设置当前层属性数据绑定

有地图信息查询方式

1.通过鼠标选取特征

2.通过SQL查找特征

3.通过空间操作选取特征

1.通过鼠标选取特征

2.通过SQL查找特征

3.通过空间操作选取特征专题地图

较弱

有GPS集成

有用户绘图图层

有生成/编辑地图对象

较弱

较弱地图标注

有地图符号化

较弱

较强分析功能

无地理编码

有开发语言

VC、VB、PowerBuilder、Delphi、Access等

VC、VB、PowerBuilder、Delphi、LotusNotes等12/9/202251功能

MapObjects

MapX显示的地图数据格式

A★Web技术应用※网络为环境GIS发展提供了一种新的机遇。※改变了GIS数据信息的获取、传输、发布、共享、应用和服务等过程和形式。※WebGIS是GIS软件发展的必然趋势。※一个完整的WebGIS应该是服务器端策略和客户端策略的集合体。12/9/202252★Web技术应用12/9/202252WebGIS的组成1)Web浏览器是用户和WebGIS的交互接口,用来显示地图和实现客户端的在线查询和分析功能;2)Web服务器响应来自Web浏览器的请求,通过CGI、Servlet将请求传递给Map服务器,并从Map服务器得到请求结果发还给浏览器;3)Map服务器是WebGIS的核心,它负责将Web服务器转发过来的用户请求分配给相应的GIS服务器或空间数据库,并能够实现网络的负载平衡;4)GIS服务器是WebGIS的底层GIS软件,它提供了空间数据的存取、查询、分析、处理等功能;5)空间数据库是用来存储和管理空间数据;浏览器和服务器之间是通过超文本传输协议HTTP来发送请求和结果数据,数据传输的格式有基于栅格的、基于矢量的和基于XML的;以上不同的服务器可以部署在不同的计算机上。12/9/202253WebGIS的组成1)Web浏览器是用户和WebGIS的交互传统GISvs.WebGIS共享性差系统成本高没有面向大众集中式软件操作复杂培训成本访问范围广,面向大众资源共享发布速度快,范围广,维护方便数据来源丰富、分布存储分布式计算系统建设投资少操作简单跨平台传统GIS的问题:WebGIS的优点:12/9/202254传统GISvs.WebGIS共享性差访问范围广,面向大众★Web技术应用实现地理信息的共享与交流,用户可以在Web上浏览和使用空间数据,支持客户端的在线处理和互操作等。互联网为用户提供电子地图服务,提供各种地理信息的访问、检索和查询。

12/9/202255★Web技术应用12/9/202255

★Web技术应用※从网络的任一节点,用户根据各自的访问权限浏览WebGIS站点中的空间数据、各种专题图,可以进行各种空间分析和空间数据操作。※国外ESRI、Maplnfo、AutoDesk等著名公司已经开发出各自的WebGIS产品。在国内,武汉吉奥公司和北京超图公司也实现了WebGIS技术,国家遥感应用工程技术研究中心研制出相关的产品地网GeoBeans。

12/9/202256★Web技术应用12/9/202256Thanks.12/9/202257Thanks.12/9/2022572.1环境GIS设计的目标和任务2.2环境GIS总体框架设计2.3环境GIS数据库设计2.4环境GIS开发技术路线2.5环境GIS工程开发与实现2.6环境GIS软件体系结构2.7环境GIS实用技术第二章环境GIS设计与开发12/9/2022582.1环境GIS设计的目标和任务第二章环境GIS设计与开2.6环境GIS软件体系结构

软件体系结构的三要素程序构件(模块)的层次结构构件之间交互的方式数据的结构12/9/2022592.6环境GIS软件体系结构

软件体系结构的三要素12/9在软件体系结构设计中的性质结构体系结构设计定义系统的构件、构件打包的方式和相互交互的方式附属的功能体系结构设计描述设计出的体系结构如何实现功能、性能、可靠性、安全性、适应性,以及其它的系统需求。可复用体系结构设计应描述为一种可复用的模式,能复用已有构造块,并可供以后类似系统族的设计使用。2.6环境GIS软件体系结构

12/9/202260在软件体系结构设计中的性质2.6环境GIS软件体系结构

11952年,MIT(美国麻省理工学院)在Whirlwind系统上使用了符号地址,开始使用汇编语言编写程序,这是最早的软件抽象。1957年IBM公司完成的Fortran(Formulatranslation)语言,这是一种用于科学计算的程序设计语言。IBM公司在IBM704机上开发了用Fortran编写的监控程序系统,是操作系统的雏形,也是最早的对硬件的软件抽象。1975年,DeRemer和Kron发明了MIL(ModuleInterconnectionLanguages模块互连语言),MIL提供了描述模块之间的相互关系以及模块如何调用的静态方法。1985年,Microsoft公司开始研究开发用于微型计算机的Windows操作系统。软件体系结构的提出与发展12/9/2022611952年,MIT(美国麻省理工学院)在Whirlwind从1995年推出的Windows系列成为独立的操作系统。发布了最流行的应用程序开发框架(Framework)MFC,使Windows应用程序的结构标准化,成为新一代开发应用软件的工具。20世纪90年代,人们逐渐认识到软件体系结构的重要性,软件工程师在描述和理解软件系统是逐渐谈论到软件的体系结构。20世纪90年代中期,一些统称为ADL(ArchitectureDescriptionLanguages体系结构描述语言)的工具被提出,它是一种相对较新的技术,目前尚未有成功的商业应用案例。OMG(ObjectManagementGroup对象管理组织)发布的UML(UnifiedModelingLanguage统一建模语言)是标准化的面向对象分析与设计的表示法,作为一种图形化的语言,它包括一组图表,用于需求采集的用例图和活动图,用于设计的类图和对象图,用于配置的包图和子系统图等等。软件体系结构的提出与发展12/9/202262从1995年推出的Windows系列成为独立的操作系统。发2.6环境GIS软件体系结构

集中式分布式12/9/2022632.6环境GIS软件体系结构

集中式12/9/20226一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上。所有的计算任务和数据管理任务都集中在主机上,终端只是主机输入/输出设备的延长。各个用户通过主机的终端并发地存取数据库,共享数据资源集中式12/9/202264一个主机带多个终端的多用户结构集中式12/9/20227优点易于管理、控制与维护缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。集中式的优缺点12/9/202265优点集中式的优缺点12/9/20228数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用。同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。分布式12/9/202266数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。12/9/202267优点12/9/202210分布式客户端/服务器(C/S)两层结构客户机/服务器(C/S)和浏览器/服务器(B/S)三层结构网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器。其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机。12/9/202268分布式客户端/服务器(C/S)两层结构12/9/202211可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。有一组功能各自独立的服务器,为其他子系统提供服务。如打印服务器,文件服务器,编译服务器等。有一组客户机,他们调用服务器提供的服务。也可能存在客户机可并发执行的客户机程序。有一个网络,使得客户机能够访问服务器。在多用户超文本系统中存在若干服务器,它们管理和显示不同媒体的数据。客户机/服务器结构12/9/202269可以充分利用两端硬件环境的优势,将任务合理分配到Client

客户机/服务器(C/S)模式的结构

数据库服务器客户机数据库服务器数据库服务器应用服务器应用服务器客户机客户机两层结构三层结构混合结构12/9/202270客户机/服务器(C/S)模式的结构数据库服务器客用户应用逻辑数据库服务器通讯协议和SQL语言客户端/服务器(C/S)环境GIS模型12/9/202271用户应用数据库通讯协议和SQL语言客户端/服务器(C/客户端/服务器(C/S)两层结构

优点充分利用客户端的性能,使计算能力大大提高;在客户端和服务器两端是易于扩充的;是目前主流的网络计算模式12/9/202272客户端/服务器(C/S)两层结构

优点12/9/202一般C/S模式下GIS访问数据库的框架GIS功能层数据请求层GIS功能层数据请求层GIS功能层数据请求层GIS功能层数据请求层客户端数据库数据库数据库数据库……服务器12/9/202273一般C/S模式下GIS访问数据库的框架GIS功能层数据请求层基于环境空间数据库的C/S结构用户应用程序空间数据库应用程序接口客户端服务器环境空间数据库服务器Oracle、DB2、SQLServer数据库12/9/202274基于环境空间数据库的C/S结构用户应用程序空间数据库应用程序三层C/S结构环境GIS应用程序远程调用数据库存储调用数据库驱动应用程序数据库驱动自定义协议存储过程SQL语言客户机应用服务器数据库服务器12/9/202275三层C/S结构环境GIS应用程序远程调用数据库存储调用数据库三层C/S结构环境GIS的特点用户界面与应用服务器位于不同的平台上,用户可以共享应用服务器。用户可以共享应用逻辑。培训方便且开发成本低。系统层次清晰。12/9/202276三层C/S结构环境GIS的特点用户界面与应用服务器位于不同的浏览器/服务器(B/S)结构Browser/Server结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。用户可以共享应用逻辑。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)

。能有效地保护数据平台和管理访问权限,服务器数据库也很安全。12/9/202277浏览器/服务器(B/S)结构Browser/Server结C/S、B/S软件技术的比较数据安全性比较数据一致性比较数据实时性比较数据溯源性比较服务响应及时性比较12/9/202278C/S、B/S软件技术的比较数据安全性比较12/9/20(1)数据安全性比较

由于C/S结构软件的数据分布特性,客户端所发生的火灾、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点的数据安全都影响了整个应用的数据安全。所以,C/S结构软件的安全性是令人无法接受的。对于B/S结构软件,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以安全问题更有保障。12/9/202279(1)数据安全性比较由于C/S结构软件的数据分布特性,客户(2)数据一致性比较

在C/S结构对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。

12/9/202280(2)数据一致性比较在C/S结构对于异地经营的大型集团都采(3)数据实时性比较

在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据.B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。12/9/202281(3)数据实时性比较在集团级应用里,C/S结构不可能随时随由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。(4)数据溯源性比较

12/9/202282由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各(5)服务响应及时性比较C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务响应时间基本不可忍受。B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。12/9/202283(5)服务响应及时性比较C/S结构软件,由于其应用是分布的,2.1环境GIS设计的目标和任务2.2环境GIS总体框架设计2.3环境GIS数据库设计2.4环境GIS开发技术路线2.5环境GIS工程开发与实现2.6环境GIS软件体系结构2.7环境GIS实用技术第二章环境GIS设计与开发12/9/2022842.1环境GIS设计的目标和任务第二章环境GIS设计与开组件技术应用分布式组件技术应用;联机分析处理技术代理技术应用网络安全技术应用2.7环境GIS实用技术12/9/202285组件技术应用2.7环境GIS实用技术12/9/202228

★组件技术COM(ComponentObjectModel,组件对象模型)为GIS的实现提供了一种高效的实现手段。它是微软定义的一套接口规范。COM的目标和特性:

※建立在二进制代码级上的可重用性(通过包容和聚合)

※语言无关性,只要能生成符合COM规范即可;

※对使用COM对象的客户程序而言的进程透明性;

12/9/202286★组件技术12/9/202229COM与C++的区别对象是COM的基本要素之一,和C++的对象不同的是其封装特性是真正意义上的封装,对于对象使用者(通常称为客户)而言是不可见的.COM对象的可重用性表现在COM对象的包容和聚合,一个对象可完全使用另一对象的所有功能,而C++对象的可重用性表现在c++类的继承性。

※COM在目标代码级支持面向对象;※C++是在源代码级支持面向对象;12/9/202287COM与C++的区别对象是COM的基本要素之一,和C++的对★按组件存在的位置分为三类:※进程内(DLL)※本地(同一计算机上不同进程中的EXE)※远程内(不同计算机中的DLL或EXE)12/9/202288★按组件存在的位置分为三类:12/9/2022★组件技术组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。组件间的接口通过一种与平台无关的语言IDL(InterfaceDefineLanguage)来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提供的是原代码级的重用,只适用于比较小规模的开发形式;而组件则封装得更加彻底,更易于使用,并且不限于C++之类的语言,可以在各种开发语言和开发环境中使用。12/9/202289★组件技术12/9/202232★组件技术组件式软件技术已经成为当今软件技术的潮流之一,为了适应这种技术潮流,GIS软件象其他软件一样,已经或正在发生着革命性的变化,即由过去厂家提供了全部系统或者具有二次开发功能的软件,过渡到提供组件由用户自己再开发的方向上来。无疑,组件式GIS技术将给整个GIS技术体系和应用模式带来巨大影响。12/9/202290★组件技术12/9/202233基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。小巧灵活、价格便宜无须专门GIS开发语言,直接嵌入MIS开发工具强大的GIS功能开发简捷更加大众化组件式GIS系统的特点12/9/202291基本思想是把GIS的各大功能模块划分为几个控件,每个(1)小巧灵活、价格便宜

由于传统GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地实现与自己最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担。组件化的GIS平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅是传统GIS开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格比获得或开发GIS应用系统。12/9/202292(1)小巧灵活、价格便宜12/9/202235(2)无须专门GIS开发语言,直接嵌入MIS开发工具。

传统GIS往往具有独立的二次开发语言,对用户和应用开发者而言存在学习上的负担。而且使用系统所提供的二次开发语言,开发往往受到限制,难以处理复杂问题。而组件式GIS建立在严格的标准之上,不需要额外的GIS二次开发语言,只需实现GIS的基本功能函数,按照Microsoft的ActiveX控件标准开发接口。这有利于减轻GIS软件开发者的负担,而且增强了GIS软件的可扩展性。GIS应用开发者,不必掌握额外的GIS开发语言,只需熟悉基于Windows平台的通用集成开发环境,以及GIS各个控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境很多,如VisualC++、VisualBasic、VisualFoxPro、BorlandC++、Delphi、C++Builder以及PowerBuilder等都可直接成为GIS或GMIS的优秀开发工具,它们各自的优点都能够得到充分发挥。这与传统GIS专门性开发环境相比,是一种质的飞跃。12/9/202293(2)无须专门GIS开发语言,直接嵌入MIS开发工具。12(3)强大的GIS功能新的GIS组件都是基于32位系统平台的,采用InProc直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。小小的GIS组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。12/9/202294(3)强大的GIS功能12/9/202237(4)开发简捷由于GIS组件可以直接嵌入MIS开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且,GIS组件提供的API形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS开发人员能够较快地过渡到GIS或GMIS的开发工作中,从而大大加速GIS的发展。12/9/202295(4)开发简捷12/9/202238(5)更加大众化组件式技术已经成为业界标准,用户可以象使用其他ActiveX控件一样使用GIS控件,使非专业的普通用户也能够开发和集成GIS应用系统,推动了GIS大众化进程。组件式GIS的出现使GIS不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理的的可视化工具。12/9/202296(5)更加大众化12/9/202239组件式GIS是面向数据使用者和浏览者12/9/202297组件式GIS是面向12/9/202240基础组件

高级通用组件行业性组件组件式GIS开发平台的三级结构12/9/202298基础组件组件式GIS开发平台的三级结构12/9/20224(1)基础组件面向空间数据管理,提供基本的交互过程,并能以灵活的方式与数据库系统连接;(2)高级通用组件由基础组件构造而成,面向通用功能,简化用户开发过程,如显示工具组件、选择工具组件、编辑工具组件、属性浏览器组件等。它们之间的协同控制消息都被封装起来。这级组件经过封装后,使二次开发更为简单。如一个编辑查询系统,若用基础平台开发,需要编写大量的代码,而利用高级通用组件,只需几句程序就够了。面向通用功能。12/9/202299(1)基础组件12/9/202242(3)行业性组件抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。以GPS监控为例。对于GPS应用,除了需要地图显示、信息查询等一般GIS功能外,还需特定应用功能,如动态目标显示、目标锁定、轨迹显示等。这些GPS行业性应用功能组件被封装起来后,开发者的工作就可简化为设置显示目标的图例、轨迹显示的颜色、锁定的目标,以及调用、接受数据的方法等。12/9/2022100(3)行业性组件12/9/202243GIS组件的构成空间数据获取坐标转换图形编辑数据存储数据查询数据分析制图表示GIS软件模型包含功能单元:12/9/2022101GIS组件的构成空间数据获取GIS软件模型包含功能可以想象要把这些所有的功能放在一个控件中几乎是不可能的,即使实现也会带来系统效率上的低下。一般可以认为GIS构件的设计主要遵循应用领域地需求。例如ESRI地MapObjects就是以空间数据访问、查询、制图为主要目标的GIS构件。12/9/2022102可以想象要把这些所有的功能放在一个控件中几乎是不可能MapObjects功能利用MapObjects,开发人员可以实现如下的GIS功能:显示具有多个图层的地图地图的放大、缩小和漫游增加点、线、圆和多边形等各种图形增加文本显示特征的属性利用图形选择特征利用邻近分析选择特征

12/9/2022103MapObjects功能利用MapObjects,开发人员利用SQL表达式选择特征选择特征的统计查询和更新选择特征的属性数据各种专题制图按字段的高程或测量值显示按字段值对特征进行标号显示遥感图像

12/9/2022104利用SQL表达式选择特征12/9/202247实时或时间序列数据的动态显示地理编码利用特征的测量值显示点和线事件地图坐标转换地图的空间操作地图的旋转

12/9/2022105实时或时间序列数据的动态显示12/9/202248

应用及评价

软件的构件化已成为软件技术发展的潮流。基于DCOM的Ac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论