1、数据中心技术的诞生
经过几十年的发展,GIS应用的领域越来越广泛。GIS应用系统需要访问分布在多个数据源的异构数据,也需要整合诸如文档、数据库属性表等非空间数据。如何在分布式异构环境下对空间数据及非空间数据进行有效的集成管理,成为一个亟待解决的问题。与此同时,GIS应用系统本身也变得越来越复杂,从处理来自多种数据库的异构数据,到使来自多种GIS平台的功能能够协同工作;从GIS空间分析,到复杂的领域业务逻辑的实施;从单机单应用程序到分布多服务器集群的运用等等;除此之外,用户的需求不断变动,系统地设计不断调整,使系统的开发与维护面对巨大的挑战,用户也未真正参与到系统的开发过程中,不能自发的对新的需求做出响应,哪怕看似简单的功能调整也需要请求原开发商通过需求变更、系统软件版本升级等软件过程才能解决;随着信息化应用和发展,信息系统越来越庞大,以致任何一个软件公司都无法独立完成开发。如何使多家厂商能共同一起合作开发同一个系统,是急需解决的问题。
在这种形势下,中地公司于2000年提出新一代GIS架构技术及新一代GIS开发模式,也就是“面向服务的GIS架构技术”及“搭建式、插件式、配置式GIS开发模式”,并加大力度组织了强大的力量开始技术攻关,决心率先推出世界第一个GIS搭建式开发平台,实现了“零编程、巧组合、易搭建”的可视化开发,使不懂编程人员开发GIS软件的梦想成为现实,从而推动了人们从重视开发技术细节的传统开发模式向重视专业、业务的新一代开发模式转变,促进GIS开发和应用领域的一场变革。这一举措得到国家科技部、国家863项目的支持,使其如虎添翼。与此同时,面向服务的系统架构技术的逐渐形成、组件技术的日趋成熟、插件式开发的开始普及、Web Service技术的日益盛行,使开发具备高可伸缩性,使分布式环境下的数据集成及应用程序集成的软件开发模式成为可能。经过五年的艰苦攻关,于20004年底推出了基于新一代GIS架构技术“面向服务的GIS架构技术”的“超大型GIS平台”,2007年10月正式推出“数据中心集成开发及运行平台1.0版”简称为“数据中心”,2008年8月功能完备、实用性强的数据中心2.0版正式面市,基于新一代GIS架构技术及新一代开发模式的集成开发技术-----数据中心技术应运而生。
2、数据中心技术的定义
基于新一代GIS架构技术及新一代开发模式的集成开发平台“数据中心集成开发平台”简称为“数据中心”。
数据中心既是一个“资源管理器”又是一个“系统开发器”,“资源管理器”管理两大资源:(1)数据资源:数据资源是通过数据仓库来管理;(2)功能资源:功能资源是通过功能仓库来管理。
数据中心是各种数据的集成与交换中心,是集“基础”与“应用”为一体的综合开发与应用集成平台。
数据中心技术的目标是提供适合于多种GIS应用领域的应用系统快速构建技术,为多领域应用系统的集成及功能复用提供手段;实现多源异构数据的统一、层次化管理;能够在统一的框架下实现多个地理信息系统的协调工作;支持应用方案的集成搭建和配置可视化,增强GIS应用系统适应需求不断变化的能力,降低GIS应用系统的开发难度,为开发地理信息应用系统提供基础支撑。
建立数据中心的基本原则是采用柔性设计理念,系统能够被快捷地搭建出来,且能适应需求的变化迅速做出调整。
数据中心是适应多种应用概念及各领域解决方案的综合体,从不同的方面入手可以得到不同语义的数据中心定义。
数据中心是一种可扩展的程序设计思想,它定义了一系列的规范,可以使功能模块的可复用度达到搭建级别,搭建级别的可复用是运行时级别的可复用,通常需要一种脚步语言对功能进行重组,数据中心主要通过采用工作流技术实现功能的重组。
数据中心是一种强兼容性的数据仓库,可以在同一个框架下,把来自不同生产厂商,不同格式,不同标准,分布在不同位置的数据统一在一个系统之下;即实现对分布式多源异构空间数据的管理能力。
数据中心是一个定义完备的功能仓库,支持和管理以多种方式(组件、插件、流程、动态库、程序片断、脚本)提供的功能,并能对这些功能以一种一致的方式进行调用及执行。
数据中心是一种应用集成系统,它根据行业的标准建立起功能与界面相分离的具有高度可定制性的应用系统解决方案,以更容易地适应需求的变动、使用户 参与到设计开发过程中、当开发类似系统时最大程度的复用以前所做的工作。
数据中心是一种搭建平台,提供对流程、表单、应用程序界面、数据等的完整的搭建方案,因而也是关于应用系统的集成设计器。
数据中心是一种工具箱,提供一系列的完整语义的地理数据处理功能。
数据中心是一套解决方案,该方案由一系列的程序模块及数据组成。
数据中心是一个资源管理器,提供对资源的windows资源管理器式的管理,且能根据关心主题的不同,按主题层次重新生成资源管理器目录结构。
3、数据中心能做什么
数据中心是基于新一代开发技术的集成开发环境,使用新一代的开发模式,新一代开发模式是由插件式开发,配置式开发和搭建式开发三种方式组成。搭建式开发,是基于工作流、电子表单、基于SOA的构件仓库(功能仓库)、搭建平台和运行平台组成。插件式二次开发,基于SOA技术系统框架、SOA技术的基础插件、基础视图、少量编程(即需要插件时进行少量编程)。配置式二次开发,是配置资源、目录、工具箱、视图、菜单、程序模板、实例模板、引导式加载程序实例。
数据中心有四个关键部件:(1)是面向服务的体系架构,传统的面向系统的架构只能用于面向对象和组件化的程序开发,面向服务的体系架构才能支持搭建式的程序开发;(2)功能完备的构件仓库(有时也称功能仓库)。构件仓库是松耦合的,不是构件库,也不是动态库,更不是组件库。动态库、组件库是紧耦合的,是通过程序员手工编程来连接调用的。构件仓库是可以搭建的。(3)管理方便数据仓库,数据中心的数据仓库提供异构GIS数据的中间件、数据目录管理、数据维护及安全机制,提供数据入库管理的清洗机制和方法,数据的挖掘(提取、分析、检索)等等;(4)方便灵活的可视化搭建平台以及安全可靠的运行管理平台。
数据中心使用新一代的开发模式改变了软件整个生产流程,改变它的效率和模式,同样的任务、同样的人员,新一代的开发模式大大缩短了开发时间,节约80%以上的开发成本,提高80%以上的工作效率,对开发人员的要求大大降低。凡属本科毕业的相关专业,有一定的计算机应用基础的人,只要通过一周左右的时间,就能掌握系统的使用方法,让用户从关心技术、实现细节功能,转向关心业务。这是GIS二次开发模式的重大变革,是一场革命。采用零编程搭建式开发方式使开发者只要着眼于专业流程分析,而不要花更多的时间投入于业务系统的编程。
数据中心使用的新一代的开发技术与传统的开发技术相比,传统的面向对象组件化的开发技术难度大,对计算机程序员要求过高,手工作业,不能机械化生产,也就是说靠程序员来手工编程来调试。新一代的软件开发技术,搭建式的开发技术,实现零编程或微编程,可以减少软件开发量,提升软件开发质量,降低开发难度,是很多人都可以参与,甚至老总都可以参与,学习更方便,维护更简略。
数据中心使用的新一代的开发技术与传统的开发技术的工作效率相比较:传统的模式如果是软件需求变化了需要修改程序,只有程序员在忙,其他的人在边上干着急,帮不上忙。新一代开发模式如果是软件需求变化了需要修改程序,大家都可以一起来分挑,一起来工作,所以这两者效率相比起来相差是非常大的。新一代开发模式的效率,从开发周期来看,同样的任务,同样的人,开发周期是原来的五分之一,也就是说,原来需要一年的开发,在新的开发模式底下,大概就两个多月就可以完成了,非常高的开发效率。从开发质量来看,我们以初次上线测试的BUG量来比较,传统的开发模式,初次测试的时候BUG一般在三百多个以上,现在我们用新一代的开发模式,我们初次测试BUG在三十个以下,也就是相当于质量提高了十倍。
传统的开发模式对程序员依赖性非常大,而且程序员非常宝贵,难得培养。传统的开发模式与新一代开发模式人员结构比较:从人员结构上传统的开发模式以程序员为主体,新一代开发模式程序员少而工作轻松。我们深信在面向服务第四代的地理系统
mapgis7的强有力的支持下,随着MAPGIS的数据中心和搭建平台的推出和应用推广,必将引起地理信息系统二次开发的革命式变革,把我们从传统的软件的开发模式解放出来,彻底地改变目前只有程序员才能进行软件开发的现状,使我们的增值开发商我们合作伙伴我们的广大用户如虎添翼,受益匪浅,共同创造美好的GIS明天。
数据中心是管理和组织各种数据资源和功能资源的集成框架,数据资源包括各种GIS数据(如MAPGIS6X、MapGIS7X、ArcGIS、Oracle Spatial数据等)、各种数据库数据(Oracle、SQLServer、Access等)以及各种文档数据(如Word、PDF、excel、access、图像等);功能资源包括不同开发商已开发的各种组件、构件、流程、动态库、程序片断、脚本、功能中间件等。它通过目录配置、可视化配置和功能搭建充分利用功能仓库和数据仓库的管理机制,功能仓库可集成管理已有的组件资源和针对具体业务开发相应业务组插件,从而配置、搭建出具体业务的应用系统的解决方案,如国土资源应用系统、管网资源应用系统、电信资源应用系统等;数据仓库中的异构空间数据库引擎中间件实现多源异构数据的统一管理。
4、数据中心组成
数据中心技术是依托于MapGIS7平台提供的空间数据管理能力构建数据仓库系统,依托于MapGIS7平台的空间处理功能构建功能仓库系统,依托MapGIS7搭建平台对数据与功能实现可视化的搭建,利用MapGIS7二次开发组件体系作为基础开发手段,探索并实现MapGIS7平台与具体应用相结合的一般模式、软件规范、通用模块及技术,以提供完整的GIS应用系统搭建解决方案,最终达到配置式、搭建式的开发。
数据中心由三个主要的功能集群组成,如图1-4-1所示:仓库系统、工作空间系统、设计管理与部署系统;仓库系统包括:元数据仓库、目录系统、功能仓库、数据仓库、资源注册与发现系统、权限系统、数据资源与功能资源、驱动体系;工作空间系统包括:地图文档及工程管理、图层及其扩展体系、集成视图、交互体系;设计管理与部署系统包括:设计器、工作流、框架界面、帮助系统、查询检索系统、插件体系。
数据中心首先应是一个数据仓库,按照一定的主题域进行数据组织,可以存放和管理各种类型的数据(信息)资源和系统自身的信息;数据中心其次是一个服务中心,可以向外提供各种服务。数据中心是采用可定制的目录树结构管理数据,实现层次化的管理。在实际应用中,可根据系统的实际应用主题域进行配置。图1-4-2是国土应用系统中的一个实例。
基于MapGIS7x的数据中心可针对各领域的业务特点,进行基于各领域的业务应用的领域分析,从中提取共性需求与功能,采用面向服务的架构思想,设计开发出相应的抽象功能模块,而每个功能模块又由若干基本功能单元构成,如异构数据的视图、GIS功能、处理数据的工作空间,保障数据安全性的权限管理模块等;而对特定业务领域提供标准的功能模块扩展接口,支持特定业务逻辑的集成,特定业务的功能开发完成后,也可以纳入数据仓库中,成为数据仓库的有机部分,从而实现特定业务功能的可重用性。
数据中心功能模块与功能模块之间的连接是采用一种“松耦合”方式。“松耦合”方式是互连网的最佳耦合方式,(结构灵活、可扩展性强)它受网络环境影响最小。操作采取面向“服务”方式进行,就是把“进行数据存取操作”变为“请求数据存取服务”,“数据存取服务”是所有“服务”的特例,充分体现“面向服务”的最新设计思想。
数据中心采用了多种数据管理分析新技术,这些技术包括:多源、多尺度数据集成管理技术;海量空间数据快速访问技术;多级数据交换更新技术;版本增量结合的历史管理技术;多源数据动态叠加分析技术;多源数据调阅技术;海量空间数据管理技术;多专题数据维护及动态插件技术;面向服务的企业级应用解决方案;多源异构数据的WEB发布技术。