1、内容大纲一 行业背景二 系统架构设计三 GIS开发模式四 GIS发展方向1.1GIS综述 GIS基本概念:地理信息系统是对地理信息进行有效管理与处理的系统。是计算机科学同地学相结合的一个产物,通过对空间地理分布数据进行一系列分析,为地球科学、环境科学、工程设计乃至企业管理提供对规划、管理和决策有用的信息,它是反映人们赖以生存的现实世界的现状和变迁等各类空间数据及描述这些空间数据特性的属性,在计算机软、硬件的支持下,以一定的格式采集、存储、管理、分析、查询这些空间信息的计算机综合应用系统。GIS与多种技术集成 各个行业涉及的信息都和地理空间位置有着或多或少的联系,当行业应用和地理空间位置结合时,
2、可以采用GIS技术地理数据分类地理数据分类几何数据几何数据关系数据关系数据属性数据属性数据度量关系延伸关系拓扑关系几何坐标定性定量项目应用中数据内容分析 根据数据类型、数据内容的不同,从实现技术的角度考虑,政府各职能部门生产、管理的数据可以分为四大类:矢量数据、影像数据、元数据、文件数据(如:各种文档资料、统计表格、图件、扫描件等)矢量数据:各职能部门已经积累了大量的基础地理、土地、矿产、基础地质和地质环境、房产、规划等方面的图形化数据,并逐步形成了动态更新机制,在一定程度上保证数据的更新维护。影像数据:主要指各种卫星遥感影像和航空遥感影像,影像数据在数据的现势性和更新周期上具有直观性、高效性
3、、实用性和真实性的优势,尤其是高分辨率影像数据。国家级影像数据主要包括2.5米-30米分辨率影像数据,省级影像数据主要包括0.6米-2.5米影像数据,市级影像数据主要包括0.2米-1米分辨率影像数据。元数据:用于描述矢量、影像等数据的内容、覆盖范围、质量、管理方式、数据的所有者、数据的提供方式等有关的信息。矢量、栅格元数据一般的存储格式有mat、txt、xml、Excel等格式。文件数据:各职能部门在办公业务过程中,形成了大量的文档、统计表格、图件、扫描件等业务数据。GIS发展历史 1.起步阶段(起步阶段(60年代),年代),注重空间数据的地学处理注重空间数据的地学处理。1963年,加拿大测量
4、学家年,加拿大测量学家R.T.Tomlinson首先提出首先提出GIS 这一术语,建立加拿大地理信息系统(这一术语,建立加拿大地理信息系统(CGIS););1969年,年,ESRI(环境系统研究所)建立;(环境系统研究所)建立;1969年,年,Integraph公司建立。公司建立。2.发展阶段(发展阶段(70年代),年代),注重空间地理信息的管理注重空间地理信息的管理,受到,受到 政府部门、商业公司和大学的普遍重视。政府部门、商业公司和大学的普遍重视。1978年,年,ERDAS成立成立。3.推广应用阶段(推广应用阶段(80年代),年代),注重空间决策支持分析注重空间决策支持分析。1981年,年
5、,ESRI ARC/INFO GIS发布;发布;1985年,年,GPS成为可运行系统;成为可运行系统;1986年,年,MapInfo建立;建立;1986年,年,SPOT卫星首次发射;卫星首次发射;1987年,地理信息系统的国际杂志出版;年,地理信息系统的国际杂志出版;1988年,美国人口调查局第一次公开发布年,美国人口调查局第一次公开发布TIGER;1988年,年,GIS World 首次发行;首次发行;1989年,年,Ingegraph 发布发布MGE;4.用户时代(用户时代(90年代后)年代后),注重注重GIS社会应用与服务社会应用与服务,GIS技术迅猛发展。技术迅猛发展。控件式控件式GI
6、S成为成为GISTools的发展方向的发展方向;WebGIS蓬勃发展蓬勃发展;三维三维GIS崭露头角。崭露头角。5.国外主流国外主流GIS软件软件 ARC/INFO(ArcView、ArcObject、ArcIMS)GENAMAP MGE(Modular GIS Environment)()(GeoMedia)MapInfo(Mapinfo Proserver、MapX、MapXtreme、SpatialWare)ERDAS GIS在中国我国我国GIS的发展的发展 1.准备阶段(准备阶段(70年代)年代)2.试验阶段(试验阶段(80年代)年代)3.全面发展阶段(全面发展阶段(90年代)年代)4
7、.国产主流国产主流GIS软件软件 GeoStar MapGIS SuperMap CityStar1.2行业特点 空间可视化 空间地物轮廓特征的可视化 具有空间参照特点的地物专题属性信息的可视化 数据驱动 数据生产获取难度大、费用高、更新周期长 在项目中,数据经费与软件经费相差大 政府主导 政府主导行业的发展 政府是GIS软件的主要使用者1.3行业生命线(行业本质)数据采集 采购测绘仪器,野外测量 数据生产 内业数据处理 数据质检 数据质量评价 数据建库 各种数据建库、管理系统的开发 数据应用 数据交换共享 数据在各行各业的应用二、系统架构设计1.软件体系结构基本概念2.软件体系风格3.软件体
8、系结构应用框架4.软件设计模式2.1体系结构基本概念 2.1.1定义 软件体系结构,也称软件架构,是软件工程的重要研究领域。从90年代开始,很多专家学者对软件体系结构引起广泛的关注,到目前为止,软件体系结构并没有统一的定义,综合软件体系结构的定义,只有比较权威的定义性论述。权威的定义性软件体系结构是设计过程的一个层次,它处理那些超越算法和数据结构的设计,研究整体结构设计和描述方法。体系结构包括:总体组织结构、全局控制结构、通信和同步以及数据存取的协议、设计元素的功能、物理分布与合成、设计方案的选择、评估和实现等。2.1.2软件的基本结构软件技术的发展与硬件技术密不可分。软件结构的基础受硬件结构
9、的制约,目前,在计算机基本硬件结构的基础之上,软件体系结构的基本元素和结构包括如下几种:数据类型结构,包括基本数据类型结构、抽象数据类型结构 控制流连接结构,也称调用结构包括:条件连接结构、循环连接结构、控制转移结构;其调用连接方式,包括链询式、分析式、代理式 中断触发连接结构,包括内部进程连接结构、独立进程同步连接结构、独立进程异步连接结构 层次结构,包括单向依赖层次结构、开放式层次结构2.1.3软件体系结构设计的基本策略和原则 在大量的软件开发的设计实践中,始终存在对设计原则和策略的探讨和总结,很多被普遍性采用的原则和策略,一直被广泛使用,并不断验证和改进,它们独立于具体的软件开发方法。这
10、些原则和策略包括:抽象 分而治之,层次化分解 封装和信息隐蔽 模块化高内聚和低耦合关注点分离策略和实现分离接口和实现分离2.1.4风格、框架、模式 在软件体系结构的研究中,有三个重要的术语需要明确:软件体系结构风格(Architecture Styles),风格是描述特定系统组织方式的惯用范例(idiomatic paradigm),强调组织方式和习惯用法;组织方式是用静态形式表述的系统结构,而惯用范式,则可反映众多系统共有的结构和语义。应用框架(Application Framework),框架是待实例化的、可复用的大粒度部件结构。框架面向不同规模的应用问题,是通用的结构。强调针对实际的应用
11、问题和通用结构。软件设计模式(Design Pattern),设计模式是软件问题高效和成熟的设计模板(pattern),模板包含了固有的问题的处理逻辑,强调处理逻辑采用方式的直接复用。3.2软件体系结构风格 体系结构风格是对软件系统组织结构的惯用形式总结。认识特定软件结的原理及适合的计算模式,为软件体系结构设计提供必要的选择空间,对于软件设计来说是重要的技术途径。目前经典的体系结构风格包括:l管道过滤器风格l主程序与子程序风格l数据抽象与面向对象风格l黑板知识库风格l虚拟机(解释器)风格l时间驱动隐式调用风格l过程控制回路风格l部件链接器C2风格2.3软件体系结构应用框架 软件体系结构应用框架
12、,是在大量成功的应用系统中,被广泛使用并得到验证的系统结构。它们大都有相应的软件产品或开发环境的工具所支持。各大软件开发商,都在相互竞争地围绕这些应用的软件体系结构,发展自己独特性能的构造工具和产品,并且,不断创造新的更具优势的结构概念,以研制更多的产品占领软件开发市场。2.3.1客户/服务器(Client/Server)C/S结构在信息产业的系统结构中占有重要地位。是随着网络时代的发展,从集中式计算到分布式计算重大演变的产物。基本概念:C/S结构是分布式系统结构,分布式系统是由多个自主的处理器,平行地处理所各自独立的系统部分,来同共完成一个业务过程。它们之间不共享存储,仅通过封装的接口传递信
13、息。C/S结构是分布式系统结构。C/S结构的消息传递特征,消息传递是分布系统结构的基础,C/S结构采用消息传递的关系模式。即客户向服务者发送消息,客户是消息的发送者,也是请求服务者;而服务器是消息的接收者,它响应消息并执行服务。C/S结构既是指硬件也是指软件。并且,通常用来表明一种消息交互的形式C/S体系结构硬件 客户机通常采用个人微机,在自身操作系统控制下,执行系统的应用程序。服务器,采用高级计算机系统,提供多用户方式下的数据库服务、文件服务、网络通信、打印服务、电传及传真等设备服务等。Internet客户机1打印机调制解调器服务器其他公用设备客户机2客户机3客户机4客户机5C/S结构的软件
14、系统分布 C/S结构是资源不对等结构。常被形象地称为“胖客户机结构”客户处理机担任应用程序的全部系统处理,包括:操作界面、业务逻辑及数据计算的所有处理运行。服务处理机担任多个客户应用的数据管理,包括:数据库服务器、网络服务、应用请求响应服务。应用接口 数据库系统 Core 操作系统 用户界面 应用系统 数据库系统 运行环境 Form Report SQL 操作系统跨平台跨地域接口数据存储管理ServerClientC/S结构发展的必然趋势 在应用系统中,有时一个数据查询,需要多次循环的查询数据集合,由于全部数据运算都在Client端,需要多次频繁而大量的数据从服务器端传过来,造成网络传输的风险
15、和压力。随着计算机硬件技术的发展,以及远程过程存储及远程过程调用RPC(Remote Procedure Call)技术的发展,使分布式系统结构得以实现 随着Internet网络技术,以及WWW技术的发展,三层的C/S结构,直接对应浏览器/服务器结构的基本结构形式。2.3.2浏览器/服务器结构(Browser/Server,B/S)B/S结构,针对Internet国际互联网络形式的系统应用问题,结合了成熟的WWW(World Wide Web)技术,是三层C/S结构的一种特定形式的实现。WWW技术的基本原理:采用超文本标记语言(Hypertext Markup Language,HTML),以
16、互联网络上全体共识的格式,在浏览器中展现资源信息。WWW技术仍然采用的C/S消息传递方式:浏览器作为信息系统的前端,仅负责操作请求及取回信息展示给外界 服务器以多用户处理方式,响应浏览器的请求,执行搜索、整理和存储各种WWW资源。B/S结构的基本形式 WWW技术仅针对HTML文本资源的处理,而B/S结构所面对的除了HTML文本资源,主要是针对应用系统程序的运行资源。因为,大量的应用系统越来越多地建立在Internet互联网络的基础之上。客户端计算机运行浏览器,服务器计算机运行逻辑上划分的Web服务器和数据服务器 客户浏览器1)用统一资源定位器URL来识别对应请求的Web服务器2)通过解释HTM
17、L页面来显示信息3)用超文本传输协议HTTP来传输请求4)取回处理结果,转换成HTML页面信息 Web服务器各个业务的处理包装成对应的应用服务,并执行下列任务:1)验证客户端的业务请求2)执行相应的业务处理代码程序3)发送必要的请求给数据服务器,并取回结果数据4)按事先给定的结果页面准备好执行结果 数据服务器数据服务接受对应的数据请求与数据库及文件系统交互,建立并管理数据,执行检索、修改、删除等数据操作2.3.3对象中间件结构 中间件基本概念 中间件的产生与C/S结构的发展密不可分。由于C/S结构存在着操作系统、文件格式、网络协议、服务等相互多元异构的问题。希望通过中间件,能够屏蔽差异,实现异
18、构环境下,建立具有可扩展能力的分布式软件框架。中间件的定义:中间件是为解决异构环境的分布计算问题,是位于平台和应用之间、具有标准接口和协议的通用服务。对象中间件 随着软件技术的不断发展,软件结构设计的抽象程度越来越高,从基本数据结构、模块,子程序、对象类,直到对象构件。以对象构件为基础建造的系统,不但需要对象构件本身,还需要对象构件的运行机制来管理和控制,以实现构件的建立和撤销、构件的加入与退出,以及构件之间的相互访问等,这个机制就是“对象中间件”。对象中间件的理解要点:对象构件是包含独立数据和功能的大粒度的对象实体,是系统建设的构造块 在分布式网络环境下的对象构件系统中,对象构件不分客户还是
19、服务者,它们的角色可以互换,并可以即插即用对象中间件的三大主流结构 由国际OMG(Object Management Group)制定的ORB和CORBA对象中间件规范 以SUN公司Java技术为基础的对象组件和中间件体系EJB Microsoft公司Windows环境的COM/DCOM/COM+构件技术系列CORBA对象中间件 由国际OMG(Object Management Group)制定的软件跨平台交互操作标准。目标是:无论在什么地方,用的什么语言或是什么操作系统,应用程序都能在独立的情况下,透明访问对象。在此目标下,制定统一的应用软件标准,规划分布对象的体系结构,以及在此结构下对象的
20、产生、消亡和运用方式。这套规定包括:OMA(Object Management Architecture)对象管理体系结构 ORB(Object Request Broker)对象请求代理者 CORBA(Common Object Request Broker Architecture)公共对象请求代理者体系结构EJB构件系统开发环境 EJB和J2EE J2EE(Java2 Enterprise Edition)是SUN公司开发的具有性能保证,安全防护、事务处理,以及集群(cluster)管理等综合技术标准的应用系统软件开发框架。包含网络服务支持和软件开发工具(Software Develop
21、ment Kit,SDK)等很多的概念和技术。其中,核心的技术就是EJB。除了EJB之外,还包含JNDI(Java Naming and Directory Interface)、JMS(Java Message Service)、JCA(Java Connector Architecture)、JTA(Java Transaction API)等重要的技术。它们可以配合EJB完成企业应用系统的开发和建设。J2EE只是个标准,它依赖于各厂商的产品实现。EJB(Enterprise Java Bean)是J2EE的一部分,是基于组件式企业系统应用的软件开发标准。EJB提供可视化操作的构件系统装配
22、工具和环境,是能在服务器上运行的,一个特定的JavaBean。COM、DCOM、COM+对象组件技术 COM与OLE、ActiveX的关系 OLE(Object Linking and Embedded)对象连接和嵌入技术,是将应用程序的数据交换提高到“对象之间的交换”。早期的OLE技术是为了开发时能够容易地控制连接多媒体混合文档而实现的。OLE中的数据对象被称为“复合文件”,可在任一应用程序中,对其进行编辑、更新、打印等功能的操作。随着组件技术的发展,在OLE2.0技术的基础上,建立了COM(Component Object model)组件对象技术规范,或者说OLE技术是COM的一个技术应
23、用。ActiveX是在原OLE技术的基础上,支持网络环境上的对象组件集成和交互的技术,它扩展了OLE 仅针对Windows系统内应用软件的集成和交互的技术。COM对象组件模型及实现过程33 客户应用,是使用对象组件的应用 COM库,提供COM对象组件的创建和标识、内存管理、对象构件程序连接等函数 注册表,操作系统范围公用的信息,是客户应用、对象购件与COM库用以信息交换的共享区 对象构件,创建COM对象构件的特殊类,用特殊接口提供标准的操作,得到构件的实例化对象2.3.4面向服务的体系结构 基本概念 面向服务的体系结构(Service Oriented Architecture,SOA),是另
24、一种形式的分布式系统构造模型。它将分布在网络中被称为服务的应用程序或功能单元,通过协议方式的连接机制联系起来。而这个服务的连接机制是独立于服务运行环境的硬件平台、操作系统和编程语言的执行机构。理解要点 SOA的“服务”不同于“组件”。组件也称为“构件”,是系统构造过程中的构造块。“构件可动态连接”仍然是指系统建造过程中的操作,因此,它们或被代理预置,或被事先部署,总之是非运行过程的操作。“服务”是运行中特定功能的网络实体,它们是通过独立连接机制,可动态发现并建立连接运行执行成分。使得“服务”能够被发现,并建立连接的机制,是采用统一的协议方式,独立于服务运行环境的运行机构,而不是单纯的构件接口方
25、式。仅从字面意义理解“服务”和“构件”的区别就不难看出,SOA结构比起对象组件结构,可以构成更松散的耦合关系。SOA和网格计算 SOA的产生与网格技术密不可分,是网格(grid)技术的实际应用和技术扩展。网格的概念借鉴了电力网的概念,希望像使用电力网一样使用网络资源。水力发电(地点A)火力发电(地点B)风力发电(地点C)核力发电(地点E)电力网输入输出电力电力电力电力电力网构成示意:网格计算 网格计算,为解决超大型计算问题,是集成计算资源环境的问题求解体系结构。它将各种计算资源转化成一种随处可得的、可靠的、标准的、同时还是经济的计算能力。资源包括计算机、网络通信、数据资源、仪器设备等。网格计算
26、,是继Internet之后又一次重大科技进步,它代表了先进的技术和基础设施。系统M(地点A)系统N(地点B)数据信息(地点C)设备仪器(地点E)网格输入输出计算计算计算计算网格组成示意:Web Services的基本思想 Web Service的“服务”,是可被Internet协议的URL统一资源定位器识别的应用软件成分。服务的接口是采用Internet协议可被直接访问的XML(eXtensible Markup Language)消息形式描述。所有信息及信息处理都被视为同一形式的网络运行资源,包括物理设备及软件运行的逻辑成分;统称为“服务”服务可以被动态发现和邦定,并在生命期内被管理运行。W
27、eb Services体系结构 服务提供者是提供Web服务的供应商,它实现Web服务,并放置在在线服务器上供请求服务者使用,同时,还要将服务发布到注册中心 服务注册中心是Web服务的注册地,它包含所有注册了的Web服务的有关信息,提供商业化注册手段,并有发现为Web服务的能力 Web服务的请求者,向服务注册中心发出查找服务的请求,当得到回应找到了合适的Web服务后,从服务注册中心获取Web服务的信息引用,通过动态绑定机制建立Web服务,得到所需要的服务。.Net 基于网格计算的Web Service受到业界广泛的关注,形成了新的产业协议,其中包括Microsoft公司的.Net,以及SUN公司
28、的Sun One等。因此,.Net技术属于面向服务的体系结构,是基于XML Web services标准的应用系统开发环境,被称为.Net平台.Net技术的基本思想.Net技术的基本理念,不再关注单个网站和与Internet连接的单个设备,而是要让所有的计算机和相关设备,以及应用服务协同工作。使人们能控制信息并让所需信息在指定的时间,以指定的方式传送给自己。.Net平台结构 Operating System运行在Windows 2000 Server等多种操作系统中.Net Enterprise Servers提供企业应用系统使用的服务器产品.Net Building Block Servic
29、es,提供可采用付费方式直接访问的成型服务,如:Passport服务。Visual Studio.Net提供 C#语言、.Net VB、.Net XML、等开发环境。可开发桌面应用程序、Web应用程序、智能设备等应用程序。Visual Studio.NETOperating System.NETEnterpriseServers.NET Framework.NET BuildingBlockServices3.4设计模式 设计模式设计模式:是面向对象的软件开发经验的总结,是面向对象的软件开发经验的总结,其中包含了软件设其中包含了软件设计中很多问题的解决方案和设计思路,是可直接利用的程序结构。计
30、中很多问题的解决方案和设计思路,是可直接利用的程序结构。按照以下按照以下要点要点理解理解设计设计模:模:模式名称:表达设计思想的简单名字模式名称:表达设计思想的简单名字 设计意图:针对的问题和解决问题的思路设计意图:针对的问题和解决问题的思路 实现效果:达到的实际效果及作用实现效果:达到的实际效果及作用 技术途径:采用的技术方法和策略技术途径:采用的技术方法和策略2.4.1设计模式分类 构造式:涉及对象创建过程的模式构造式:涉及对象创建过程的模式 结构式:涉及对象类组合的模式结构式:涉及对象类组合的模式 行为式:涉及对象之间交互操作的模式行为式:涉及对象之间交互操作的模式构造式:涉及对象创建过
31、程的模式设计模式设计模式 简要说明简要说明抽象工厂抽象工厂(Abstract Factory)(Abstract Factory)提供创建相关的一组对象的接口,不需提供创建相关的一组对象的接口,不需要指定它们的具体实现要指定它们的具体实现构造器构造器(Builder)(Builder)将对象的结构与它的表示分离,可用同将对象的结构与它的表示分离,可用同样的结构得到不同的表示样的结构得到不同的表示工厂方法工厂方法(Factory Method)(Factory Method)定义创建对象的接口,但由子类来决定定义创建对象的接口,但由子类来决定实例化实例化原型原型(Prototype)(Proto
32、type)用原形实例指定创建对象的种类,并通用原形实例指定创建对象的种类,并通过拷贝原形来创建新的对象过拷贝原形来创建新的对象单例单例(Singleton)(Singleton)保证一个类仅有一个实例,提供访问它保证一个类仅有一个实例,提供访问它的全局访问点的全局访问点结构式:涉及对象类组合的模式 设计模式设计模式 简要说明简要说明适配器适配器(Adapter)(Adapter)为接口加载转换接头,以解决接口不为接口加载转换接头,以解决接口不兼容兼容桥接桥接(Bridge)(Bridge)为未来的灵活变化,将分离的两部分为未来的灵活变化,将分离的两部分进行桥接进行桥接合成合成(Composit
33、e)(Composite)将对象组成树形将对象组成树形“整体整体-部分部分”结构,结构,使单独或复合对象的引用形式统一使单独或复合对象的引用形式统一装饰器装饰器(Decorator)(Decorator)动态地为对象添加新的操作功能动态地为对象添加新的操作功能外观外观(Facade)(Facade)统一子系统中不同的接口统一子系统中不同的接口享元享元(Flyweight)(Flyweight)利用共享达到细粒度对象的集合引用利用共享达到细粒度对象的集合引用代理代理(Proxy)(Proxy)以相同的方式访某对象的替代者以相同的方式访某对象的替代者行为式:涉及对象之间交互操作的模式 设计模式设计
34、模式 简要说明简要说明责任链责任链(Chain of(Chain of Responsibility)Responsibility)将相关责任的对象形成链,使对它们的请将相关责任的对象形成链,使对它们的请求成为统一的链询方式求成为统一的链询方式命令命令(Command(Command Processor)Processor)将请求封装为独立对象,可通过不同参数将请求封装为独立对象,可通过不同参数的实例对象得到不同的请求的实例对象得到不同的请求解释器解释器(Interpreter)(Interpreter)应对给定语言和文法的特定问题,建立语应对给定语言和文法的特定问题,建立语言解释器基本方式言
35、解释器基本方式迭代器迭代器(Iterator)(Iterator)封装访问聚合对象的操作成为独立对象,封装访问聚合对象的操作成为独立对象,可应对不同的聚合对象访问可应对不同的聚合对象访问中介中介(Mediator)(Mediator)使用中间对象,维持对象相互引用的关系,使用中间对象,维持对象相互引用的关系,达到对象间的松散耦合达到对象间的松散耦合备忘录备忘录(Memento)(Memento)在不破坏封装的前提下,获得对象内部状在不破坏封装的前提下,获得对象内部状态的访问和控制权。态的访问和控制权。观察者观察者(Observer)(Observer)建立对象与依赖它的对象之间的变化建立对象与
36、依赖它的对象之间的变化-通知通知机制。机制。状态状态(state)(state)使对象在其内部状态发生变化时发生类似使对象在其内部状态发生变化时发生类似类行为的改变。类行为的改变。策略策略(Strategy/Policy)(Strategy/Policy)定义可以替换的算法,使得算法的变化可定义可以替换的算法,使得算法的变化可以独立于用户。以独立于用户。模板方式模板方式(Template(Template Method)Method)定义某个算法的计算过程框架,具体计算定义某个算法的计算过程框架,具体计算步骤到子类中加以实现,在不改变算法构步骤到子类中加以实现,在不改变算法构架的同时改变某些计
37、算步骤的实现。架的同时改变某些计算步骤的实现。访问者访问者(Visitor)(Visitor)表示作用于对象结构中各元素的操作,从表示作用于对象结构中各元素的操作,从而在不改变元素类的情况下定义对它们的而在不改变元素类的情况下定义对它们的新的操作。新的操作。抽象工厂(Abstract Factory)模式 AbstractFactory AbstractFactorycreateProductA()createProductA()createProductB()createProductB()ConcreteFactory2ConcreteFactory2createProductA()cre
38、ateProductA()createProductB()createProductB()ConcreteFactory1ConcreteFactory1createProductA()createProductA()createProductB()createProductB()AbstractProductAAbstractProductAAbstractProductBAbstractProductBProductA1ProductA1ProductA2ProductA2ProductB1ProductB1ProductB2ProductB2 Client Client结构结构三、GIS
39、开发模式1.GIS软件二次开发及系统架构技术的发展2.新一代的GIS软件开发技术变革的动力3.基于SOA技术的数据中心与电子政务4.国土组件平台介绍3.1.1GIS发展的三个阶段科学计算与数据处理阶段数据库与信息系统建设阶段跨地区跨行业应用阶段3.1.2二次开发技术的发展二次开发技术发展的三个阶段Object Oriented Development(面向对象组件化程序开发OOD 技术)Structure Oriented Development(面向结构化程序开发SOD 技术)Framework Oriented Development(面向搭建程序开发FOD 技术)目前绝大多数系统使用3.
40、1.3体系架构技术的发展体系架构技术发展的三个阶段Entirety Oriented Architecture(面向系统的体系架构EOA技术)Process Oriented Architecture(面向过程的体系架构POA 技术)Service Oriented Architecture(面向服务的体系架构SOA技术)目前绝大多数系统使用3.1.4架构技术与设计思想的发展跨地区跨行业应用阶段科学计算与数据处理阶段数据库与信息系统建设阶段 体系架构技术 设计思想 应用规模 GIS发展阶段 Process Oriented Architecture(面向过程的体系架构POA 技术)面向业务设计
41、思想(个体经济)面向系统设计思想(计划经济)面向服务设计思想(市场经济)单一业务个人使用单位或行业使用跨行业跨地区全球应用Entirety Oriented Architecture(面向系统的体系架构EOA技术)Service Oriented Architecture(面向服务的体系架构SOA技术)机制与体制3.1.5体系架构与软件开发技术的发展 GIS发展阶段 中国GIS软件 开发技术 体系架构 设计思想组件与搭建3.1.6GIS体系SOA技术的演变与开发技术的进化 搭建技术软件技术的发展面向过程设计结构化设计面向对象设计组件软件技术单机主机联机终端网络Client/ServerInte
42、rnetBrower/Server多层结构硬件结构的演变集成式GIS单机式GISCOM+、EJB和Web ServiceJ2EE、.NET 分布组件技术服务组件技术模块式GIS组件式GIS瘦客式GIS分布式GIS客服式GISPC微机3.1.7SOA技术与FOD技术发展的动力 互联网的发展提出更高要求 人类社会进入二十一世纪以来,互连网的发展和信息化的深入,信息系人类社会进入二十一世纪以来,互连网的发展和信息化的深入,信息系统越来越庞大,如统越来越庞大,如“行业信息化行业信息化”、“金土工程金土工程”、“数字城市数字城市”、“智慧城市智慧城市”“”“数字地球数字地球”、“智慧地球智慧地球”等等等
43、等,而这些系统都是跨地,而这些系统都是跨地区跨部门的。这些庞大的信息工程耗资巨大,区跨部门的。这些庞大的信息工程耗资巨大,“硬件硬件”、“软件软件”、“数据数据”投入都是数以亿计的数目投入都是数以亿计的数目,如何充分发挥效益,如何解决这如何充分发挥效益,如何解决这些些资源在互连网层面上的共享资源在互连网层面上的共享,成为技术焦点。,成为技术焦点。在互连网难以支持如此规模的跨地区、大范围、大数据量、大用户量的在互连网难以支持如此规模的跨地区、大范围、大数据量、大用户量的应用,特别是跨地区空间数据调用速度问题非常突出,因此,而怎样才应用,特别是跨地区空间数据调用速度问题非常突出,因此,而怎样才能在
44、互连网层面上能在互连网层面上实现软件移动(数据不移动实现软件移动(数据不移动)和软件服务(软件功)和软件服务(软件功能共享)能共享),解决,解决原材料与加工厂原材料与加工厂的问题,给系统架构技术提出了新的要的问题,给系统架构技术提出了新的要求。求。目前目前“面向系统面向系统”的设计思想导致一个系统必须是的设计思想导致一个系统必须是一家公司研制一家公司研制,然而,然而上述跨部门的功能庞大的系统给上述跨部门的功能庞大的系统给软件研制工作量软件研制工作量以非线性比例上升,没以非线性比例上升,没有一家软件公司有实力能胜任如此大工作量的系统研制,因此怎样才能有一家软件公司有实力能胜任如此大工作量的系统研
45、制,因此怎样才能解决解决多家共同开发问题多家共同开发问题,系统架构与开发技术的变革势在必行。,系统架构与开发技术的变革势在必行。3.1.8SOA技术的优点 支持跨地区跨平台的共享与互操作支持跨地区跨平台的共享与互操作 支持互连网上的分布式处理支持互连网上的分布式处理 可实现可实现纵向多层横向网格纵向多层横向网格系统系统 可实现真正意义上的软件移动计算可实现真正意义上的软件移动计算 可实现可实现0 0编程的编程的搭建式二次开发搭建式二次开发基于EOA技术的系统开发工作量 跨行业、跨部门的功能齐全的信息系统需要巨大的开发工作量跨行业、跨部门的功能齐全的信息系统需要巨大的开发工作量 信息系统开发队伍
46、不堪负重,软件公司难以支撑,质量难以保证信息系统开发队伍不堪负重,软件公司难以支撑,质量难以保证部门1部门2部门3部门4功能工作量工作量=1/2*功能 2系统开发工作量基于SOA技术的系统开发工作量部门1部门2部门3部门4部门1部门2部门3部门4部门1部门2部门3部门4POA技术EOA技术SOA技术功能工作量工作量=1/2*功能2功能工作量工作量=1/2*功能工作量工作量=3/5*功能新一代的二次开发模式以插件模式将扩展模块集成到系统中以向导模式生成应用系统框架可视化搭建应用系统及业务流程基于SOA技术的新一代开发模式 搭建式二次开发 工作流、电子表单、基于SOA技术的方法库、搭建平台、运行平
47、台 插件式二次开发 基于SOA技术系统框架、基于SOA技术基础插件、基础视图、少量编程 配置式二次开发 配置资源、目录、程序模板、实例模板、引导式加载程序实例横向网格、纵向多层结构广州数据软件网络调度InternetInternet上海北京数据软件数据软件武汉数据软件系统架构(软件模块层次图)数据管理层基础平台层专业平台层Web服务层搭建平台层应用系统层信息系统集成搭建平台工作流控制器业务逻辑分析处理器服务平台(专业)服务平台(通用)基础平台基础数据管理工具基础驱动工具数据引擎专业分析处理平台三维动态建模、分析、可视化应用领域业务分析、处理综合集成应用系统数据管理层基础平台层专业平台层Web服
48、务层搭建平台层应用系统层基础平台基础数据管理工具基础驱动工具数据引擎信息系统集成搭建平台工作流控制器业务逻辑分析处理器服务平台(专业)服务平台(通用)专业分析处理平台三维动态建模、分析、可视化应用领域业务分析、处理综合集成应用系统3.2.1GIS行业的机遇与风险并存 纵观中国纵观中国GISGIS的历史:从的历史:从“数字制图数字制图”阶段起步,经历了不寻常的阶段起步,经历了不寻常的“数据库与信息系统建设数据库与信息系统建设”阶段,目前正进入了逢勃发展的阶段,目前正进入了逢勃发展的“跨跨地区跨行业应用地区跨行业应用”阶段,形势一片大好。阶段,形势一片大好。“江山如此多娇,引无数英雄竞折腰江山如此
49、多娇,引无数英雄竞折腰”。多少企业来时气势磅礴,。多少企业来时气势磅礴,曾几何时消失无影无踪;多少曾几何时消失无影无踪;多少GISGIS用户为此支付巨额学费,又有多用户为此支付巨额学费,又有多少少GISGIS软件厂商为其付出沉重代价。原因何在?软件厂商为其付出沉重代价。原因何在?3.2.2GIS软件行业现状 GIS行业欣欣向荣行业欣欣向荣 GIS软件开发企业前仆后继软件开发企业前仆后继 GIS专业学科专业学科 开发难度大开发难度大 提供的开发手段不方便提供的开发手段不方便3.2.3GIS项目软件开发过程中的问题 开发单位问题 开发人员珍贵且对项目影响大;开发人员珍贵且对项目影响大;开发人员对代
50、码重复编写产生厌烦;开发人员对代码重复编写产生厌烦;时间急迫,开发人员加班,周围人帮不上忙;时间急迫,开发人员加班,周围人帮不上忙;技术支持人员面对百般挑剔的用户无技可施技术支持人员面对百般挑剔的用户无技可施;用户问题 进入新行业时,有些用户急于看原型系统进入新行业时,有些用户急于看原型系统 机会不可失,用户政绩有周期,时间长黄花菜也凉了机会不可失,用户政绩有周期,时间长黄花菜也凉了 实拖时间太长,产生新的需求,项目永远结不了题实拖时间太长,产生新的需求,项目永远结不了题3.2.4GIS项目软件开发过程中的问题 业务变化了,软件如何应对政策变化了用户认识提高了新业务来了应用系统客户程序员技术支
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。