地理信息系统(GIS)是专门用于采集、存储、管理、分析和表达空间数据的计算机化信息系统[1]。GIS在中国历经了30多年的发展,已经取得了长足的进步,主要表现为:国家和各省、市加强了基础地理信息系统的建设,为发展GIS应用提供了一批权威的基础地理数据;一些GIS应用系统已从早期的“实验型”或“科技成果型”提升成业务化运作系统,开始在规划、管理、监测、决策等过程中取得重要的社会和经济效益。然而这些系统的信息化建设是在不同时期、由不同软件开发商开发完成,又归属不同的单位使用,造成了“信息孤岛”。如何打破这种条块分割,解决空间信息资源的整合和共享,是摆在我们面前的重要问题之一。

  空间信息公共服务平台就是在这样的需求环境下提出的。空间信息公共服务平台建设,目的是要建立一个空间信息共享的环境。在这个环境中,空间信息可以在遵从统一规范和标准的前提下,以Web服务的形式供政府各机构、企业和大众共享。在建立共享服务环境的基础上,各类政务、业务的企业级应用将如雨后春笋般成长,带来整个GIS产业的进一步辉煌。

  1 空间信息公共服务平台的关键技术

  空间信息公共服务平台是以分布式地理数据为基础,网络化地图与地理信息服务为表现形式,构建面向服务的体系架构,建设分布式信息共享与服务环境,为政府管理部门、公众、企业提供不同层次用户需求的地理信息服务,是一套统一标准规范的信息服务平台。它的核心技术是:云计算、SOA架构、WebService、Mashup等。

  1.1云计算

  云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机和网络技术发展融合的产物,它作为一种技术趋势正迅速兴起。云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。

  云计算的产业分为三层:云软件、云平台、云设备。与静态体系结构相比,云计算支持动态扩展和迅速缩减的能力,为云用户提供了高可靠性,快速响应及处理网络通信波动和需求的灵活性。云计算支持多用户使用,提供能设置为被多个组织和个人共享的系统[2]。

  云计算环境中,三大核心方案组成服务模型。

  软件即服务(SaaS,Software-as-a-Service)将应用程序以服务的方式提供给最终用户,而并非提供传统的外部软件。

  平台即服务(PaaS,Platform-as-a-Service)提供给开发人员能够开发和部署自定义应用程序的平台或者中间件服务。这一层所提供的常规解决方案涵盖了API和工具,以及数据库、业务流程管理系统和安全集成,允许开发人员开发应用程序,并在云计算供应商所有和运营的基础设施上运行这些应用程序。

  基础设施即服务(IaaS,Infrastructureas-a-Service)主要包括用于计算的硬件和技术、存储设备、操作系统或者是其他基础设施,通过外部设备而并非已有资源提供按需服务。

  基于云计算的信息资源中心可以整合空间信息建设过程中分散的基础设施资源,基础平台软件也部署到云计算环境下。各类资源可以根据实际需要被弹性分配到核心业务中,以提高资源的综合利用率,并根据业务的实际增长需求进行扩展。基于云计算的地理信息资源中心可以综合提供多层次、多类型、多时相的地理数据资源,并提供基于地理信息的空间分析能力,同时还为开发人员提供地理服务的开发接口,满足各类应用的搭建。

  1.2SOA架构

  SOA(面向服务的体系结构)是“现代应用开发领域最重要的课题”,也是“占有绝对优势的软件工程实践方法”(Gartner语)。它是一个组件模型,将程序的不同功能单元(称为服务),通过这些服务之间定义良好的接口和契约联系起来。这种松散耦合特性使得服务能够组合成为各种应用程序,同时大幅度提高了代码重用率,减少了工作量。SOA模型描述了三个角色——服务提供者、服务请求者、服务注册中心,执行三种操作——发布、查找和绑定。SOA为异构数据的系统整合与信息共享提供了一种极佳的解决方案。

  SOA思想对于GIS架构的积极作用主要体现在两个方面:第一,利用标淮的接口和访问方式对外提供地理信息系统中的各种功能,即模块的封装性;第二,以贴进应用的形式自然地处理不同模块之间的关系,即模块间的组合性[3]。

  模块封装性的意义在于屏蔽不同模块以及来源不同的数据所存在的格式、访问方式、运行平台的问题。经过标准封装的模块能够实现跨平台、跨语言的调用,除了能够对外提供标准的接口供调用外,还为今后复用此模块的内容打下良好的基础。模块的封装性为GIS提供了两方面的便利:模块的复用以及地理数据的共享。

  模块间的组合性描述了在分布式的环境中如何通过将相对独立的、小的模块组合成为更大的、有一定应用意义模块的过程。模块的可组合性,给软件带来了业务上的灵活性,不同的模块组合往往能够代表不同的业务逻辑和实现效果。

  1.3WebService

  WebService(即Web服务)是一种革命性的分布式计算技术,是目前实现SOA框架的首选。它使用基于XML的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统或编程语言的系统之间存在的差异,使异构系统能够作为计算网络的一部分协同运行,具有很强的生命力。正是基于WebService的这些技术特性,空间信息公共服务平台采用基于开放标准与技术的Web服务方式共享数据,不需要了解各部门的应用系统现状,形成松散耦合的共享模式,便于平台服务根据发展需要进行伸缩。

  从表面上看,Web服务就是一个应用程序,它向外部暴露了一个能够通过网络进行调用的API。WebService通过标准协议向网络程序提供一定的功能,通常采用的标准协议是SOAP。WebService使用WSDL详细地描述其接口,用户使用WSDL文档和WebService进行交互。WebService需要注册到UDDI注册中心,便于潜在用户查询、发现和使用。

  1.4Mashup

  Mashup是网络上将两种以上使用公共或者私有数据库的Web应用,加在一起,形成一个整合应用。它是把多个信息来源加以组合的网络技术,是Web2.0时代的主流技术之一。Mashup的变革性意义在于:即使用户的IT技术水平不高,也可创建符合自身需求的Mashup应用。在地图Mashup应用中,人们搜集具有位置信息的事物和行为,把这些包含位置数据的不同数据集,利用地图以图形化方式呈现出来。Web开发人员可以在地图中包含所有类型的数据。

责任编辑:admin