随着矿区的不断开发,资源、环境、社会、经济、人口等信息急剧增长,信息共建和共享成为矿区信息化建设的一项重要任务,也是数字矿区建设发展的必然要求。由于我国矿区生产和管理手段的普遍落后,以及矿区在生产和发展过程中产生的历史积累问题不断显现,生产活动对矿区土地资源、水力资源等的直接破坏,以及对大气环境等的间接破坏,使得矿区资源环境状况非常严峻,加上信息不对称,因而矿区开发管理面临着较大的困难。虽然一些矿区生产、管理、环境监测等部门都建立了多个不同管理内容的信息系统平台,但由于采用了不同的技术和标准,这些平台之间的互通互联存在许多问题。加上利用手段和应用水平不高、地理信息滞后、部门之间缺乏交流等,导致地质矿产空间数据更新不力、无法统一,阻碍了矿区开发和管理信息资源的共享和应用。因此,如何集成这些不同部门、不同厂商、不同技术标准的信息平台成为矿区信息化进一步发展的瓶颈。而面向服务的软件体系架构(Service Oriented Architecture,SOA)方法的提出和GIS技术的发展,为我们提供了解决这些问题的可能,特别是随着云计算技术的发展,SOA架构更具有优越性。因此,针对不同的矿区实际情况和开采过程出现的各种资源开发、生态环境、经济发展等问题,应用SOA技术及GIS技术相结合,建立矿区开发管理信息系统,可以综合矿区资源、环境、生态,以及生产和管理所需要的各种信息,对矿区各种组成要素的空间性状、相互关系、变化过程、相互作用规律、反馈机制、调控原理等进行动态过程分析、开发预测,进而为矿区资源开发、管理和利用提供决策平台,也可以为生态环境系统治理提供空间信息服务。
SOA作为软件发展的一种高级形态,是一种能有效解决系统异构性所产生问题的新体系架构,其思想是提供统一接口,通过服务的发布、服务的发现以及服务的调用等机制为其他应用程序提供服务。这使得在构建这种系统中的服务时可以用一种统一调用的方式进行交互。通过采用SOA框架,可以最大程度地减少系统间的耦合,从而提高系统组件的可重用性,实现应用的无缝接合。SOA可用于建模、开发、整合、部署、运行、管理。因此,将它引入矿区可持续发展空间信息服务,是分布式空间信息服务系统开发方法和环境的新发展,也为构建矿区可持续发展空间信息服务系统提供了一种新思路。
SOA的概念是在1996年由Gartner公司提出来的。Gartner将SOA描述为:“客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成SOA与大多数通用的C/S模型的不同之处在于它着重强调软件组件的松散耦合,并使用独立的标准接口”。而Looselycoupled. com将SOA定义为:“按需连接资源的系统。在SOA中,资源被作为可通过标准方式访问的独立服务提供给网络中的其他成员。与传统的系统结构相比,SOA规定了资源间更为灵活的松散耦合关系”(尹丹,2008)。Gartner和Looselycoupled.com的定义都指出了SOA的特性,即松耦合性。
Web Services是SOA的一种具体实现,它是建立在Web/XML标准上的跨平台的分布式体系结构,在内联网或互联网上通过的XML协议和信息格式来发布和访问商业应用系统。以一种松散服务的捆绑集合形式,实现了不同服务之间的快速开发、实现、发布和动态绑定的功能。Web Services通过HTTP上的SOAP(Simple Object Access Protocol)在服务提供者和服务使用者之间进行通信。服务通过Web服务描述语言WSDL(Web Service Description Language)定义的接口来描述,WSDL的语义用XML定义。统一描述、发现和集成协议UDDI(Universal Descrption Discovery and Integration)是一种与语言无关的协议,用于和注册中心进行交互以及查找服务(李梅等,2010)。
图3-1是基于Web服务的SOA结构模型。但要在实际中应用SOA,必须有以下几个参与者:服务注册中心、服务提供者、服务使用者。它们的作用如下(尹丹,2008)。
图3-1 SOA的基本组成元素图
(1)服务注册中心。又叫服务中介者,它是一个服务信息的数据库,为服务使用者、服务提供者提供一个平台,使二者可以各取所需,中心有一个通用的标准,只有服务提供商提供的服务符合这个标准,服务使用者使用的服务才可以跨越不同的服务提供商。
(2)服务提供者。通俗地讲就是软件供应商,它通过在服务注册中心提供符合契约的服务,将它们发布到服务代理,并对使用自身服务的请求进行响应。同时必须保证修改该服务不会影响到客户。
(3)服务使用者。也叫服务请求者或服务消费者,即企业与其他消费服务的组织,它发现并调用其他软件服务来提供商业解决方案。从概念上来说,SOA本质上是将网络、传输协议和安全细节留给特定的实现来处理。
服务使用者、服务提供者以及服务注册中心,通过发布、查找、绑定3种基本操作相互作用。
(1)发布。服务提供者向服务注册中心发布服务。包括注册自己的功能和访问接口。
(2)查找。服务请求者通过服务注册中心查找所需的服务,并绑定到这些服务上。
(3)绑定。服务提供者和服务使用者之间可以交互,并使服务使用者能够真正使用服务提供者提供的服务。
服务式GIS(Service GIS)是一种基于面向服务软件工程方法的GIS技术体系,它支持按照一定规范把GIS的全部功能以服务的方式发布出来。可以跨平台、跨网络、跨语言地被多种客户端调用,并具备服务聚合能力以集成来自其他服务器发布的GIS服务。Service GIS软件平台的实现主要可以实现以下几方面的工作(宋关福,2007)。
(1)服务器支持发布基于通用规范的服务,如WMS,WCS,WFS,WPS,GeoRSS,KML等,以便被第三方软件作为客户端集成调用。
(2)客户端GIS软件具备服务聚合能力,可聚合同一厂家服务器软件和第三方服务器软件发布的GIS服务,并与本地数据和本地功能集成应用。
(3)服务器端软件具备强大的服务聚合能力,可以聚合来自其他服务器上发布的GIS服务,并可以将聚合后的结果再次发布,再次发布的服务还可以继续被其他服务器软件聚合。
Service GIS包括三个要素,即服务器、服务规范和客户端。Service GIS的服务器是服务的提供者,可以遵循某一种或多种规范发布服务。Servcice GIS的客户端是服务端的接受者,一般可分为瘦客户端和胖客户端,前者通常体现为浏览器中加载轻量级的插件,甚至不需要插件,由浏览器直接执行来自服务器端的脚本实现。后者可以是通用的或专用的GIS桌面软件和组件开发平台,也可以是另一个服务器直接作为客户端,聚合前一个服务器发布的服务(承达瑜,2009)。
Service GIS能更全面地支持SOA,通过对多种SOA实践标准与空间信息服务标准的支持,可以使用于各种SOA架构体系中,与其他IT业务系统进行无缝的异构集成,从而可以更容易地让应用开发者快速构建业务敏捷应用系统。与基于面向组件软件工程方法的组件式GIS相比,服务式GIS继承了前者的技术优势,但同时又有一个质的飞跃。