SOA架构下城市规划地理信息系统的研究与实现
2014-08-15闫世浩
闫世浩 陈 科
(中国电建集团昆明勘测设计研究院有限公司,云南 昆明 650041)
地理信息是地理数据所蕴含和表达的地理含义,也是与地理环境要素有关的如物质的数量、质量、性质和规律的数字、文字和图像等的总称,它至今已有了几十年的发展,无论是在对它的理论研究上还是在产品的开发和应用上都有着十分显著的成绩。传统的地理信息系统都有着许多的不足之处,比如说:系统是相对独立的;进行互相操作的能力比较差;在应用模式上不够的灵活等等。
传统地理信息系统在很大程度上影响着地理信息系统的网络化应用,想要弥补这些传统地理信息的缺点,就要让在网络环境之下的地理信息能够进行集成应用,从而满足人们对地理信息的需求,也因此提出了地理信息服务的思想和策略。为了能够在网络环境下获得较为优秀的地理信息服务,就要通过一个良好的软件架构来管理地理数据、开发服务模块以及集成服务的交互和应用等等,而较为理想的软件架构的模型就是SOA,它可以让地理信息软件由原来的“系统和功能”转变成为“服务和应用”。
一、SOA架构
SOA架构是一种为了能够起到服务作用而编制出的一种布局,是一个零件组合在一起的模型,它可以将应用程序中那些不同的性能的单位联系到一起,主要是靠把各种各样的服务连接在一起的插口还有一些协定。在这之中,把各种服务连接到一起的插口在界说的时候所选择的方法处在中立的地位的,它应该自立于完成服务的硬件平台、操作系统和编程语言,那些服务即被建立在系统之中的服务可以进行相互替换,比如说进行统一或是互相通用。
SOA这种为起到服务作用的布局已经不是一个新颖的事物了,它可以说是一种较为古板的用来代替那些面向对象模型模型,在建立一个单独的服务时,基于SOA架构的系统并不会把用于面向对象的设计排除在外,可是从整体上来看,在进行建立时所用的设计是面向服务的,因为它在建立服务时还思量到了系统之中的对象,所以说尽管SOA架构是基于对象的,但是当我们从整体上来看时SOA所面向的就不是对象了,其中不同之处就是那些将服务连接在一起的插口本身了。
如今的SOA架构已经产生了巨大的变化,它更经常地依靠一些较为崭新的发展,这些发展都是将能够拓展和标识的语言作为基础的,也就是指包含于标准的、通用的标记语言,通过运用靠着XML的语言来描述连接各种服务的插口,服务会被转到更具动态和更加灵活的连接各种服务的插口系统之中,已经完全不是之前的CORBA之中的连接各种服务的插口描述语言能够比得上的了。
想要把这种为了服务所编制的布局建立起来,所需要的就不仅仅只是对服务进行叙述了,而是要明白整个应用程序是怎么样在服务之中进行它的工作流,并且必须要找到各种操作之间的转换点,也就是指对业务所进行的操作以及对在业务之中运用到的软件的操作业务的操作。由此可见,SOA架构可以把业务之中的有关商业的流程以及它们所运用的技术流程联系起来,并且它还能把商业流程和技术流程这两者之间的关系反映出来。比如说,商业流程是给供应商付款的操作,而技术流程则是对零件数据库进行更新,由此可见,工作流在SOA的设计中占据着十分重要的地位。
SOA架构有着五个鲜明的特征。第一个就是能够进行重复的使用,指的就是在建立起一个服务之后能够把这个服务用在许多个应用以及业务的流程之中;第二个特征是基于消息的系统,请求服务的人到提供服务的人绑定以及服务之间应该是基于消息的系统,也就是松耦合,所以请求服务的人并不需要了解提供服务的人是如何实现的,也就是技术的细节如程序语言等等;第三个就是必须要有明确的连接各种服务的插口,在服务进行相互替换中必须要明确定义,Web服务描述语言是用来描述请求服务的人的要求绑定到提供服务的人的详情,WSDL,也就是Web服务描述语言中并不包括用服务来实现任何的技术细节,请求服务的人并不明白同意所需要服务究竟是通过哪一种程序设计语言来进行编写的,对此他们也不关心;第四个特征是对于服务设计并没有状态,服务应当是一种自力的、能够自我包含的请求,在实现服务的过程之中,它并不需要获取由这个自力的请求带另一个自力的请求的那种信息或者说是状态,它并不对其他服务的上下文以及状态有所依赖,在产生依赖的时候,它们可以定义成为一种模型,例如函数或者是数据的模型等等;最后一个特征就是SOA架构是在开放标准的基础之上的,目前要实现SOA架构,就要用Web服务的形式来实现。
二、关于基于SOA的城市地理信息服务平台
其实,在SOA架构的基础上来构建城市地理信息的服务平台最主要的就是充分地运用那些分布式的网络环境以及计算机的技术,当然还有通讯技术,用Web服务的方式来提供各种各样的地理信息服务比如说地图服务和数据服务等,每一个专业用户在这个平台上都能够在所提供服务的基础上建立起自己的行业应用。基于SOA的城市地理信息服务平台能够采用多种方式,比如说把数据以及服务集中到一起、区分对数据的存储以及将所提供的服务集中寄来等等。
对于城市的地理信息而言,所具有的一个比较重要的特点就是分布式,一些较为基本的地理信息包含了水系,植被和地貌等等,这些地理信息主要是集中在测绘主管部门,而剩余的那些其它的专业信息如水文,环境以及规划等则是让不一样的部门进行管理和使用的,由此可见,基于SOA的城市地理信息服务平台想要实现,就可以分布式地进行存储和发布数据,对服务进行集中地管理,通过服务来共享数据。整个SOA的系统所运用的方式就是是把主节点以及分支节点互相连接在一起,其中有着数据的各个部门或是单位就是分节点,而主节点则是服务管理中心,分节点能够分别对自己的数据进行存储和维护,并且通过Web服务的方式来进行数据的使用,主节点进行注册指的就是所发布的Web服务到管理中心,在这之中主节点则是负责限制以及控制对服务访问,提供用户服务的调用。对于那些注册的用户,倘若需要就可以查询自己所需要的服务,只要登录上中心节点即可,并且能够调用Web服务来得到自己想要的一些地理信息,还有地图以及公共平台所提供的其它功能,然后把自己的应用系统建立起来,慢慢完成在行业中的应用。
在SOA架构的基础上构建的城市地理信息服务平台系统的结构是由两部分组成的:中心节点和分支节点。中心节点就是地理信息公共服务平台的管理中心,负责进行维护的是有着一定技术力量的单位,它能够完成地图服务的注册、管理、查询等等,而且它可以提供一些服务如相关各个行业的服务,所用的方式就是Web服务,比如说对服务进行分析等等。基于SOA的城市地理信息服务平台的分支节点就是数据存储中心,倘若各个行业的数据管理单位想要将数据进行共享,就可以建立起分节点,并且需要时常对该节点进行维护以及数据的更新,分支节点的功能则比较简单,其中最主要的功能就是整理或是符号化本单位的专题数据,并且通过如WMS等以OGC制定的服务包的形式来发布,从而能够让其它专业以及非专业的用户使用地图服务。
三、结语
在目前,地理信息系统正在向地理信息服务迅速发展,它需要解决在网络环境下地理信息共享、互操作以及集成应用的问题,满足地理信息大众化和社会化的需求。而SOA就是一种较为理想、适合的面向服务的软件架构模型,它能够根据需要来对应用组件进行分布式地部署、组合以及使用,能够十分有效地支撑起地理信息服务的开发和应用。
[1]肖建华.罗名海.《论城市地理信息公共服务平台建设中的若干问题》.2006.3