当前位置: 代码迷 >> GIS >> 基于SOA的GIS使用设计与实现
  详细解决方案

基于SOA的GIS使用设计与实现

热度:116   发布时间:2016-05-05 06:26:37.0
基于SOA的GIS应用设计与实现
摘要:随着网络技术的快速发展,SOA作为构建企业级分布式软件系统的思想和方法学,已经得到了越来越广泛的应用。本文主要探讨了如何基于SOA技术实现传统的GIS应用系统。首先,我们介绍了SOA解决的GIS系统中模块复用的两大问题:封装和组合,以及现阶段还存在的问题,如海量数据和QoS等,接着简单介绍了当前SOA在GIS中的应用情景。最后,我们通过一个小型校园GIS服务应用实例PKUMAP,详细阐述了如何利用SOA的核心技术,如SCA,BPEL来构建GIS应用系统。

关键字:GIS 分布式建模 SOA SCA BPEL web service

Design and Implementation of GIS applications Based on SOA

Xiaolin Wang, Xiao Pang, Zhou Xing, Haibo Wang and Yingwei Luo

(Dept. of Computer Science and Technology, Peking University, Beijing, China, 100871)

Abstract: With the rapid development of network technologies, SOA, which is a methodology of constructing the enterprise distributed software systems, has been widely used nowadays. In this paper we discussed mainly about how to construct a traditional GIS application with the related technologies of SOA. First, we explained the two key problems about module reuse in GIS: encapsulation and combination, and the issues which haven’t been addressed till now. Next, we described some simple situations of applying SOA in GIS. At last, we take PKUMAP as an example, which is a light weighted web GIS application, to expound how to implement the GIS applications in detail using the kernel technologies of SOA, such as SCA, BPEL and so on.

Keywords: GIS distributed geographic model SOA SCA BPEL Web Service


1. 引言
GIS(Geographic Information System)系统利用人们所采集到的地表各种信息,如高程信息、地理位置信息等,为地理学家、相关领域专家和普通大众提供与地理问题相关的各种功能和服务,如地理位置查询、导航、空间分析等。GIS系统概念自提出以来就与计算机技术的发展紧密联系在一起,传统的GIS系统主要由封闭的、孤立的、单机的计算机软件系统组成,并主要为专业人员进行专业领域研究所用。随着计算机技术的发展和网络技术的大众化,GIS系统的构建技术也随之改变,出现了开放的、联网的、多机的GIS系统架构,其应用范围和使用人群也出现了较大的变化,由以往的专业人员使用的系统转换扩展为大众日常生活工作使用的工具。然而,GIS系统的许多特点给其应用的架构设计和使用方法造成了许多难以解决的问题和障碍。

首先,地理信息系统需要面对海量数据的处理和操作问题。地理数据是指地理信息系统在提供地理相关功能和服务时所依赖的各种形式和用途的地理数据,常见的如地图数据、地理实体数据、高程数据等。随着GIS与GPS、RS等技术的不断结合,人们获得各种地理数据的途径更加多样化,获取的各种数据也逐渐增多,据统计,每日所获得并需要处理的地理信息数据都在TB的量级上。面对地理信息数据的海量性,许多数据方面的问题纷纷暴露了出来,制约了GIS系统的发展。GIS系统在开放的网络上发展时,首先需要解决如何卸载庞大的数据包袱问题。传统的GIS系统一般都存在自己的数据格式,不同格式之间的数据需要通过相互转化或者中转才能互通,这造成了不同系统之间的功能难以共享数据、数据重复浪费以及数据更新难以统一等问题。

其次,随着Web的不断发展以及Web Services等关键技术的成熟,越来越多的GIS产品和个性化GIS服务正不断在网络中涌现出来,GIS系统所提供的各种功能也更加贴近大众的需求。然而,各个厂商和服务提供者所提供的各种与地理信息系统相关的服务之间不仅服务质量、服务数据不同,其实现方式和服务接口也大相径庭。基于这些原因,各种网络上的GIS服务更多的是以一种实验性的、小粒度的、简单的服务类型为主,难以为用户的实际需求服务。如何能够统一各种不同的服务以将这些分散的、独立的服务有机地统一起来是目前的各种GIS系统所面临的较困难的问题。

第三,随着GIS系统在网络上的不断发展,各种GIS数据和GIS服务构成了日益复杂的GIS系统,如何能够协调各种服务和数据并以更加贴近大众使用的角度完成服务和数据的查询、使用和组合是GIS系统面临的又一问题。

综上所述,面对日益复杂的分布式网络环境,GIS系统的应用受到了以上这几方面问题的制约,一方面,面对普通大众,GIS系统应该做到屏蔽底层的专业特性,提供简单易懂的服务接口供用户组合个性化的服务;另一方面,面对有特殊的专业需求,如地理建模等,要求GIS系统能够最大限度地共享和复用各种GIS专业功能和数据、最大效率地执行地理计算要求。为了能够实现这些目标,需要从软件和网络架构方面考虑整个GIS系统的设计和构成,而SOA作为一个新兴的企业级分布式软件架构思想,可以为GIS系统的构建提供帮助。

2. SOA在GIS系统中的应用
如上文所述,随着GIS在各个领域内的不断应用,GIS软件已经逐渐走向网络化和开放化,GIS系统的不同模块、地理数据也常常部署在分布式网络的不同结点之上。SOA作为构建企业级分布式软件系统的思想和方法学,其中的多种关键技术可以帮助设计和搭建出更加灵活、更加贴近应用的GIS系统。

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

  省…http://orchidsure.cnblogs.com/
  相关解决方案