基于SOA的林业信息系统整合方案研究

2015-12-30 03:02陈华昌
安徽林业科技 2015年5期
关键词:数据源组件信息系统

陈华昌

(福建省林业信息中心,福州 350003)

基于SOA的林业信息系统整合方案研究

陈华昌

(福建省林业信息中心,福州 350003)

为了解决林业信息系统建设中存在的信息孤岛问题,实现信息共享和业务协同,本文在介绍面向服务架构SOA及相关技术规范SCA、SDO的基础上,给出了一个基于SOA的林业信息系统整合框架,为快速构建新系统、高效整合信息资源提出了一套有效的解决方案。

SOA;SCA;SDO;Web服务;林业信息系统;整合

随着信息技术的快速发展,我国林业信息化取得了可喜成就,本世纪以来各省(市)先后建设和更新了一系列林业信息化应用系统,如森林资源管理系统、林政业务管理系统、林权登记管理系统、森林防火管理系统等。但是,大部分应用系统都是独立建设,自成体系,容易形成信息孤岛,难以实现信息资源共享,资源浪费严重[1]。随着业务范围越来越广,应用要求越来越高,林业信息化规划建设分散、数据共享困难、业务协同薄弱等问题尤为明显,严重影响了林业信息化的进一步发展。

面向服务架构SOA(Service Oriented Architecture)为解决上述问题提供了新的思路和方法。本文研究了SOA的技术实现规范,包括服务组件架构SCA、服务数据对象SDO,给出一个基于SOA的林业信息系统整合框架,以便快速灵活地构建新系统,同时在技术层面上提出了基于数据共享服务平台高效整合原有应用系统的解决方案。

1 关键技术介绍

1.1 SOA

SOA是一种面向服务的软件架构思想,它将各种系统中应用程序的不同功能单元通过定义的接口以统一通用的方式进行交互。功能单元提供各种应用服务,接口则是采用中立的方式定义,不依赖于具体的硬件平台、操作系统和编程语言,呈现出服务之间松耦合的特征。SOA通过高复用可以降低开发成本,通过粗粒度、松耦合可以屏蔽复杂业务逻辑,从而降低复杂度。从总体上来讲,SOA是一种架构模型,它可以根据需求并通过网络对松散藕合的粗粒度应用组件进行分布式部署、组合和使用。SOA作为一种架构思想,可以有多种实现方式,Web服务是实现SOA的一种技术[2]。

1.2 SCA

SCA(Service Component Architecture)即服务组件架构,是一种遵从SOA思想的技术规范,它描述了基于SOA构建应用程序和系统的模型。在SCA架构中,最小的构成单位是组件,细粒度的组件可以组装成一个粗粒度的模块,一个系统或者子系统称为一个SCA域,它由多个SCA模块组成。SCA不同于传统技术的关键点在于:一是组件和传输协议的分离,二是接口和实现语言的分离。SCA把业务应用系统的开发分为功能实现与业务组装,它首先通过组件实现不同业务功能,然后通过组装模型实现不同业务流程。在SCA中,可以把不同类型的组件通过一种标准的接口技术进行封装和调用,并结合SDO的数据访问模型,简化了信息系统建设中业务逻辑编程,同时加大了系统的扩展性和灵活性。SCA域模型如图1所示[3]。

1.3 SDO

SDO(Service Data Object)即服务数据对象,SDO也是SOA规范之一,是一种针对在不同的数据源之间使用统一的数据编程模型的规范说明。SDO提供了一种访问异构数据源的应用程序开发接口,统一了不同类型数据源的访问和操纵方式,简化了编程人员数据访问和操作[4]。

2 林业信息系统整合目标

基于SOA开展林业信息系统整合,旨在解决林业信息化建设中出现的信息孤岛问题,并使系统能够根据业务需求的变化,快速灵活地作出调整。系统整合要克服传统整合面临的困难,应达到以下目标[5]:

(1)系统整合能够充分利用已有信息化资源,并且已有系统不需要重新开发。

(2)系统整合采用最新的架构模型,能够实现已有组件的重用,并且使服务组件与传输协议分离,实现绑定的松散藕合。

(3)系统整合应该具有可操作性,易于掌握和管理。

(4)系统整合应具有可扩展性、安全性和可靠性等。

3 林业信息系统整合框架

依据SOA架构理论,在分析了目前林业信息系统整合面临的困难基础上,结合SCA和SDO的优势,设计了一个基于SOA的系统整合框架[6],如图2所示。

3.1 数据层

数据层包括各种林业信息数据库,实现林业数据管理。根据林业应用和服务的特点,林业信息数据库分为基础地理数据库、林业基础数据库、林业专题数据库等[7]。

3.2 数据访问层

数据访问层为服务组件层等更高层提供数据访问服务,采用的主要技术有数据访问服务(DAS)、空间数据库访问技术和JDBC等传统的数据访问技术。数据访问层屏蔽了底层数据源的差异性,将各种不同数据源以SDO数据对象呈现,供各应用组件访问和操作数据。开发人员通过SDO可以实现从一个数据源读取数据,并将其写入另一个数据源,也可以实现层与层之间或同一层的服务组件之间的数据传递。对于新开发的基于SOA架构的系统或功能模块,可以通过DAS连接到数据源,提供多种数据访问服务。对于已有系统,可以把其数据访问功能封装并发布为服务供服务组件层调用,从而实现不改变原有应用程序就能充分利用已有的资源。

作为林业信息系统的整合框架的数据访问层,将基于数据层提供的数据信息,向各类业务应用提供地理信息数据和各种属性数据的访问和操作服务。

3.3 服务组件层

服务组件层将已有或新开发的应用系统的功能单元封装成一系列SCA组件,组件是系统的构成单元,也是提供服务的基本单元。每个组件包含服务、引用、实现和属性(如图3所示)。服务表示由本组件提供给其他组件使用的业务功能;引用表示本组件的实现所依赖的由其他组件提供的服务;实现是指提供了特定业务功能的代码段;属性是一些影响业务功能的数据值,可以通过设置这些属性值对实现进行配置。

对于已存在的应用系统,有三种主要方式来将应用功能整合到新系统中,成为系统中的服务组件。

3.3.1 通过地址绑定整合已有应用系统

在这种方式下,SCA组件通过引用和绑定机制来直接使用已有应用系统提供的服务。需要引用已有应用系统功能的组件首先配置自身的引用接口,在接口的配置中维护将被用到的外部系统的相关信息,包括绑定的细节如绑定的协议和外部系统服务的endPoint地址的详细信息[8]。具体如图4所示。

这种整合方式的优点是:其一,不需要对已有的应用系统做任何改动;其二,不需要知道已有的应用系统SCA的任何信息。

为了提高外部系统的引用的可复用性,通常采用间接方式引用已有的应用系统服务,即把外部系统的服务封装成本地的服务组件,通过组件的接口调用间接调用外部服务,系统对外部服务的调用就转化成了对这个本地服务组件的调用。

3.3.2 将已有应用建模成单个SCA组件

当已有应用系统的运行环境能够支持SCA规范,感知SCA特性的,可以通过重新配置或者修改原有应用系统,把它作为单个SCA组件展现。已有系统的细节信息不需要在SCA架构的其他组件进行配置,而是直接通过运行环境将原有系统的功能作为组件对外提供的服务,已有应用使用的外部服务,将作为组件的引用。

3.3.3 将已有应用建模成SCA模块

当已有应用系统在技术上包含独立的单元或组件并且其运行环境支持SCA规范时,就可以把这种应用建模成SCA模块。此时,应用的每个独立子功能定义为SCA组件,组件之间的联系定义为SCA的连线,为其他应用提供的功能定义为模块的服务,对其他服务的依赖定义为模块的引用。这种方式使得已有应用系统在整合后功能结构更清晰,并且能使用别处提供的新功能替代已有应用的某些方面的功能。

在林业信息系统整合方案中,鉴于原有系统无法支持SCA规范,将采用第一种的间接方式直接绑定已有应用系统的服务,通过定义SCA服务组件来封装森林资源监测管理系统、林政管理业务系统和林权登记管理业务应用系统等原有应用提供的功能,从而将旧系统整合到新系统中。

3.4 服务层

服务层提供了SOA基础框架服务(包括目录体系、服务代理及安全管理等)和系统业务功能服务。SCA模块引用SCA服务组件或者其他模块作为自身的实现,以此方式对细粒度的SCA服务组件进行编排,构建粗粒度的业务逻辑服务模块,通过SCA的绑定机制来将其发布为服务。SCA运行时至少必须支持SCA绑定和Web服务绑定,另外还可以通过SCA提供的扩展机制支持更多的绑定类型。对于第三方提供的非SCA功能服务,可以通过 SCA的基础设施进行引用。SCA运行环境支持安全、可靠性消息、事务管理等非业务功能实现,在进行 SCA构建和组装时只需定义响应的策略即可,有关策略完全兼容于已有的Web服务策略,以充分利用已有的Web服务资产。

3.5 应用层

应用层包括控制层和表现层。控制层通过业务过程执行语言(BPEL)实现业务流程的控制。SCA提供了一个服务组件组装模型,采用BPEL对服务层提供的有关服务进行编排和组装以实现业务流程,形成新的业务应用系统。基于BPEL的SCA组件的服务发布后,可以为业务逻辑编排所调用,形成更高级别的应用。表现层可以采用多种技术和框架对服务进行调用,获取数据,构建灵活丰富的用户界面[9]。

林业信息化应用包括业务类应用、综合类应用和公用类应用。业务类应用是指由林业各业务部门开展业务的应用,包括林业资源监测管理、营造林管理、森林灾害监控与应急等;综合类应用是指林业各部门的通用业务,包括综合办公、信息网站等系统;公用类应用是指由林业管理部门为开展本部门工作建立的、供各政府部门或单位使用的系统,如科技、人事、计划、财务、林业执法、林业法规、党务管理等。

4 林业信息系统整合框架的特点

本文设计的基于SOA的林业信息系统整合框架,具有如下特点:

(1)服务之间是松散藕合的。SCA服务模块实现了接口与实现的分离,同时实现了服务组件与传输协议之间的松散藕合,服务组件可以自由地绑定各种传输协议,使多种环境下的集成成为可能。

(2)基于SCA规范来构建服务,提供了简单一致的调用方式,并屏蔽了系统所提供服务的技术细节。

(3)容易扩展和整合已有的业务应用系统。采用组件引用的绑定和组件实现来整合外来的技术和服务,已有的服务或应用可以作为整合框架中服务的绑定或实现继续存在。

5 结语

基于 SOA的林业信息系统整合框架使用 SCA服务组件模型、SDO数据模型和Web服务等技术,实现了服务接口与实现的分离,组件和传输协议的分离,为林业信息系统基于统一数据平台,完成新旧系统的集成提供了一个简单灵活的解决方案。林业信息系统的集成采用 SOA的技术架构,很好地解决了快速变化的应用需求,降低了系统的维护难度和成本,系统中服务和组件的松耦合性极大地提高了系统的可重用性和扩展性。

[1]张绍晨,李昀.基于ASP模式的林业信息服务平台构建研究[J].河北林果研究,2009,24(2):153-156.

[2]Eric NewcomerG,reg Lomow著,徐涵译.Understanding SOA with Web Services中文版[M].北京:电子工业出版社,2006.

[3]龚河超.基于SCA松耦合应用研究[D].鞍山:辽宁科技大学,2011.

[4]郭琨.基于SOA的Web应用系统中SCA规范的研究[D].西安:西安电子科技大学,2008.

[5]郭颖,张旭,李凡,等.基于SOA的数字林业基础服务平台 [J].内蒙古大学学报:自然科学版,2009,40(2):194-198.

[6]张顺,张贵.基于SOA的林业信息服务平台[J].林业科学,2011,6.

[7]李世东.中国林业信息化标准规范[M].北京:中国林业出版社,2014.

[8]陈坚.基于SOA的教育资源系统整合的研究[D].成都:西南交通大学,2010.

[9]王强,王汉军.基于SOA的电力交易运营系统整合方案[J].计算机系统应用,2010,19(11):143-147.

(责任编辑:杨婷婷)

Study on the Integration Scheme of the Forestry Information System Based on SOA

CHEN Huachang
(Fujian Provincial Forestry Information Center,Fuzhou 350008,Fujian,China)

In this paper,in order to solve the problems of the information island in constructing the forestry information system and realize the information sharing and business collaboration,an SOA-based integration framework of the forestry information system was given on the basis of introducing the service-oriented architecture(SOA)and related technical specifications including SCA and SDO,which provided a set of solutions for fast establishing a new system and highefficiently integrating information resources.

SOA;SCA;SDO;Web Services;Forestry information system;Integration

S711

A

2095-0152(2015)05-0016-04

2015-09-30

2015-10-16

陈华昌(1973- ),男,高级讲师,从事数据库、数据挖掘、林业信息化工作。E-mail:11403069@qq.com

猜你喜欢
数据源组件信息系统
无人机智能巡检在光伏电站组件诊断中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
2022年信息系统与运营管理专栏征稿
3月光伏组件出口量增长164.6%至7.49GW!单价创新低
基于排队论的信息系统装备维修保障效能分析
一种嵌入式软件组件更新方法的研究与实现
基于并行构件技术的医疗信息系统的设计与实现
一种面向传感云的数据源质量评估框架
图表中的交互 数据钻取还能这么用
基于Excel的照片查询系统开发与应用