24小时热门版块排行榜    

查看: 207  |  回复: 1
当前主题已经存档。

lichangpo

金虫 (小有名气)

[交流] 【转贴】新一代GIS技术与开发模式

先生们、女士们:
上午好!
近十年来,数字地球、数字城市、数字行业风起云涌,推波助澜,作为数字城市重要的支撑技术,GIS技术迎来了新的发展机遇,但是GIS技术发展走向何方,这是我们都非常关注的,我今天在这里向大家介绍新的一代GIS架构技术和新的一代的开发模式。
综观GIS的发展历史,我们可以把GIS的发展阶段分为三个阶段:数据制图阶段,就是把空间数据进行录入,进行表现,进行分析阶段;第二个阶段就是空间数据库建库阶段;第三个就是跨地区、跨行业,在英特网上应用,或者大众化应用阶段。各个国家、各个地区、各个行业发展都不平衡,有的现在还在制图阶段,有的已经在网上应用了。GIS形势我们可以称做一片大好,但是在这种大好形势下,多少GIS软件企业来势气势磅礴、雄心壮志、想做一番大事业,但曾几何时,有很多消失得无影无踪?有多少用户为此付出了巨额的学费?又有多少企业,特别是软件厂商为此付出沉重代价?原因何在,问题何在,是否能解决?我想就这一点的介绍内容分为四个部分,第一个部分就是新一代的开发模式,第二个就是面向服务的架构技术,第三个就是数据仓库和构件仓库,第四个是数据中心。
首先谈第一个问题,新一代的GIS开发模式。GIS行业欣欣向荣,但是GIS软件企业前赴后继,问题在哪里?很多学者都知道,GIS专业跨学科、跨行业,难度非常大,GIS开发难度也非常大,系统越做越大,应用越来越广,技术难度非常大,现在很多厂家说我这个是面向对象的,是组件化技术的,非常方便开发,这是个误导,面向对象、面向组件并不是容易开发,而是越来越难。第二点就是GIS企业承受了热带高压现象,第一,所谓热带就是用户要求过热,另外一个就是开发商承受的压力过高,项目的时间要求紧了,开发人员加班,管理人员加班,程序员加班,其他人没办法插入手。技术人员面对重复提出新要求,技术支持没办法插手,又要程序员来,程序员编代码编多了,又烦了,程序员又非常珍贵,一个好的程序员对项目影响非常大。在这种情况下,GIS软件企业路在何方?第一条,通过融资加大投入,一个是引入风险投资,一个是融资上市。风险投资在九十年代是很容易的,但是到现在,很多人不敢给软件企业特别是GIS软件企业投资,上市更谈何容易;第二条,改行做数据。数据生产有两个,一个专门做数据,另外一个服务运营,把做的数据放在网上服务,这就是非常好的途径。第三条,技术改革。这种技术不适应需求,所以需要改革,那么就要解决第二次开发难度,技术的改革就要从这里开始。二次开发技术的发展分为三个阶段,前面我们说传统开发模式,后面我们说新一代的开发模式,传统开发模式经过内在结构化程序的开发,即SOD技术,和面向对象组件化的开发,即OOD技术;新一代的面向搭建式的程序开发,即FOD技术。目前大多数的系统都是使用面向组件的OOD技术。传统的与新一代的开发技术比较,传统的开发技术难度会很大,手工作业,不能机器化操作,编程序是靠手工的,调试程序是靠程序员的;新一代的开发模式,搭建式开发技术实现零编程,减少软件的开发量,提升软件的开发质量,降低开发难度,使很多人都能参加开发,另外耦合低,以后很多公司可以共同开发一个软件,可视化软件带来校检和调试方便。传统与新一代的开发模式工作效率比较,传统模式如果业务变了,需求变了,只有程序员来解决,其他人都没办法;新一代模式如果发生变化,大家一起动手,这个肯定是最快的。新一代的开发模式有三种层次的开发:插件式开发、配置式开发、搭建式开发。搭建式开发是基于工作流、动态表单、构件仓库,搭建开发平台和运行平台;插件式的二次开发是基于SOA技术的系统架构,基于OA技术的基础插件、基础视图,加上少量的编程(即需要插件时进行少量编程)。配置式二次开发,是配置资源、目录、工具箱、视图、菜单、程序模板、实例模板、引导式加载程序实例。
第二个问题是面向服务的体系架构。搭建式技术必须有面向服务的架构技术,我们说GIS发展分为三个阶段,这三个阶段对应着三个不同的架构技术,一个是面向过程的程序架构技术,一个是面向系统的架构技术,现在提的比较多的就是面向服务的架构技术。我们给这三种架构技术还有个定义,第一个叫个体经济,第二个叫计划经济,第三个叫市场经济,这个是非常形象的描述,我们跟学生讲课的时候,你怎么讲都讲不清楚,但是你把这三个词讲出来他就清楚了。一个面向系统的架构技术,也就是对应的计划经济,所有的都有计划,包括我们的学校,做一个系统什么都有,食堂、幼儿园 、医院等等,一个国家也是,管理机构非常庞大,目前大多数系统是面向系统这种架构技术。面向过程的架构技术是适应面向结构化的程序开发技术,面向系统的架构技术是适应面向对象组件化开发技术,只有面向服务架构的SOA技术才是适应搭建式的程序开发。新一代开发模式的效率,从开发周期来看,同样的任务,同样的人,开发周期是原来的五分之一,也就是说,原来需要一年的开发,在新的开发模式底下,大概就两个多月就可以完成了,非常高的开发效率。从开发质量来看,我们以初次上线测试的BUG量来比较,传统的开发模式,初次测试的时候BUG一般在三百多个以上,现在我们统计一下用新一代的开发模式,我们初次测试BUG在三十个以下,也就是相当于质量提高了十倍。
第三个问题谈谈数据仓库与构件仓库。有很多企业有库房,库房把货物摆在一起,库房有什么货物,货物放在哪个货架上都有记录,要用的时候按照记录去库房领,这是手工操作;仓库不一样,仓库的目录是用计算机来记录的,它的运送货物的自动化的。我们举个例子,数据库和数据仓库,数据库也是把相同的数据放在一个表里面,需要提取的时候编程序,手工操作,检索提取,这是数据库的特点,它的目录是定的。但是数据仓库不一样,它的目录是可以重新变化,重新设置的。它可以地区、类型、年度分类来安排目录,也可随便变化,按年度、类型、地区来分类。它的数据的维护,包括数据的重写、数据的上载、数据挖掘,它有工具、有服务方法,都是全自动的。另外谈谈构件库与构件仓库,构件库和库房是差不多的,但构件仓库不一样,面向服务的构件,它按标准来,它里面有接口管理、配置可视化,再配上搭建平台就可以搭建了,构件仓库与数据仓库应该来说是类似的。
再讲一下数据中心,我们先看一下中心与堆场的关系。把数据库放在一起我们认为是堆场,把数据仓库和构件仓库放在一起我们叫做中心,物流中心是由仓库群组成的,而且这些仓库是分在各地的,货物堆在一起就叫堆场,库房放在一起就是货物堆场。那么我们以此类推,数据仓库和构件仓库群放在一起可以是数据中心,数据中心和物流中心是差不多的,它可以根据需求配置物流,配置它的使用情况,数据仓库可能是在不同的地方、不同的地域。
下面谈谈搭建平台,搭建式开发改变软件整个生产流程,改变它的效率和模式,同样的任务、同样的人员,搭建式开发方式大大缩短了开发时间,节约80%以上的开发成本,提高60%以上的工作效率,对开发人员的要求大大降低。凡属大学本科毕业的相关专业,有一定的计算机应用基础的人,只要通过一周左右的时间,就能掌握搭建系统的使用方法,让用户从关心技术、实现细节功能,转向关心业务。这是GIS二次开发模式的重大变革,是一场革命。采用零编程搭建式开发方式使用户只要着眼于专业流程分析,而不要花更多的时间投入于业务系统的开发。如果系统底层功能仓库能提供足够强大的功能构件,二次开发用户基于这些功能构件,就可搭建出面向专业的应用系统。
以上是我从事GIS开发二十多年的体验和经验,二十多年的经验使我们深深体会到:我们的事业是伟大的,我们的道路是艰难的。我们深信在面向服务第四代的地理系统MAPGIS7的强有力的支持下,随着MAPGIS的数据中心和搭建平台的推出和应用推广,必将引起地理信息系统二次开发的革命式变革,把我们从传统的软件的开发模式解放出来,彻底地改变目前只有程序员才能进行软件开发的现状,使我们的增值开发商我们合作伙伴和我们的广大用户如虎添翼,受益匪浅,共同创造美好的GIS明天。最后感谢会议的主办方为我们提供很好的交流平台。
谢谢大家!
(本文为中地数码集团董事长吴信才教授在第三届(深圳)数字城市国际大会的主题报告)

[ Last edited by ewigkeit on 2008-4-12 at 10:48 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lichangpo 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见