?

基于SOA的林業信息系統整合方案研究

2015-12-30 03:02陳華昌
安徽林業科技 2015年5期
關鍵詞:數據源組件信息系統

陳華昌

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

基于SOA的林業信息系統整合方案研究

陳華昌

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

為了解決林業信息系統建設中存在的信息孤島問題,實現信息共享和業務協同,本文在介紹面向服務架構SOA及相關技術規范SCA、SDO的基礎上,給出了一個基于SOA的林業信息系統整合框架,為快速構建新系統、高效整合信息資源提出了一套有效的解決方案。

SOA;SCA;SDO;Web服務;林業信息系統;整合

隨著信息技術的快速發展,我國林業信息化取得了可喜成就,本世紀以來各?。ㄊ校┫群蠼ㄔO和更新了一系列林業信息化應用系統,如森林資源管理系統、林政業務管理系統、林權登記管理系統、森林防火管理系統等。但是,大部分應用系統都是獨立建設,自成體系,容易形成信息孤島,難以實現信息資源共享,資源浪費嚴重[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對服務層提供的有關服務進行編排和組裝以實現業務流程,形成新的業務應用系統?;贐PEL的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的照片查詢系統開發與應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合