- 相關推薦
基于SDO的異構服務數據模型研究
摘要:面向服務架構SOA是當前解決異構系統整合和應用系統集成問題的理想方案。通過使用SOA中的服務數據對象及數據訪問服務技術,對異構服務數據模型進行設計,該模型屏蔽了異構數據庫間的數據訪問細節,從而隔離了數據源與應用層,實現業務邏輯與數據源的松耦合。關鍵詞:SOA; 服務數據對象; 異構數據模型
0引言
隨著計算機技術發展和應用的日益廣泛,企業積累了大量以不同形式存儲的電子數據,這些數據主要以關系型數據庫、Excel文件和XML文件等格式存儲,構成了企業的信息數據資源。對于這些根據當時企業發展需要建立起來的分散和孤立的數據,如何充分利用好這些信息資源,不僅是企業內部數據資源整合和發展的需要,也是企業之間數據交換的需要。
面向服務架構SOA是當前解決異構系統整合和應用系統集成問題的理想方案。它可以利用現有資源,實現跨平臺的整合,增加程序功能部件的重復利用,減少開發成本,加快新應用的部署,降低實施風險,促進流程的不斷優化,充分高效的整合現有資源,幫助企業順利實施信息集成。本文在對SOA體系架構的相關理論及其技術進行研究的基礎之上,依據SOA建模策略,利用服務數據對象(SDO)架構,提出并建立了一種新的異構服務數據模型,旨在為信息訪問提供一個統一的數據應用框架,實現對企業內各異構數據源的統一、靈活和高效的訪問。
1相關技術介紹
1.1SOA的概念
面向服務的體系結構(SOA)是一個組件模型,它將應用程序中的不同功能單元稱為服務,并通過對這些服務之間定義良好的接口而將其聯系起來。如圖1所示:
圖1SOA參考模型架構圖
圖1中服務請求者和服務提供者是SOA實現過程中兩種關鍵角色。其中,服務提供者指的是通過發送請求消息并處理響應消息來提供服務的應用程序;服務請求者指的是通過發送請求消息調用服務的應用程序。一些服務提供者同時也是服務請求者。服務代理作為服務提供者和服務請求者之間的中介,是一個服務和數據描述的存儲庫。其中,服務提供者可以通過服務代理發布它們的服務,服務請求者可以通過服務代理發現或查找可用的服務。服務綁定調用指的是在檢索完服務描述之后,服務請求者繼續根據服務描述中的信息來調用服務。
1.2SDO架構
SDO具有一個可組合的架構。它提供了一組核心組件和服務,然后使用SDO支持的工具和框架進行擴展。核心SDO規范提供了適用于各種類型的數據源的基本API。
圖2為在J2EE框架下建立的SDO技術架構圖:
圖2SDO技術架構圖
在SDO中,客戶應用程序并不直接地連接數據源。它訪問一個叫做數據訪問服務的中介并接收響應中的數據圖。DAS是為特定數據源種類處理技術細節的服務。它為客戶端將數據轉換成SDO?蛻舳藨贸绦蚺c數據圖進行交互來獲得數據和改變數據。為了將更新應用于原始的數據源,應用程序將更新過的圖發送回DAS,而DAS又與數據源交互。通常,運行時提供DAS的實現,而應用程序開發工具提供對數據圖的支持。
2異構服務數據模型的研究及設計
2.1數據模型研究
建立一個數據模型的原則,簡言之就是:根據實際情況,反映業務需要。所以,在數據模型的具體技術實現過程中,要考慮的兩個關鍵問題:一是數據的訪問;二是數據存儲的持久化。數據模型建立的主要目的就是實現數據訪問及數據傳遞,同時如何高效地存儲數據也是數據模型的重要組成部分,只有做好了這兩點,才能建立一個良好的數據模型。目前,現有數據模型的設計模式及實現技術至少有以下幾種方式:業務邏輯與數據訪問耦合模式;主動域對象模式;0RM模式。
2.2異構服務數據模型設計
在軟件系統的開發過程中,可以采用以上三種模式來進行數據模型的設計。然而,由于目前企業對業務流程提出了新的要求,即隨需而變。原有的數據模型設計模式不能很好地滿足軟件開發需要。因此,在分析比較了上述三種數據模型設計模式的基礎上,本文提出一種新的設計模式——自主數據模式。
該模式以數據為中心,從物理數據庫獲取的數據將按照某種預定義的結構存放在一個虛擬數據庫中,數據一旦從物理數據庫中取出,就具有了自主性,不受原物理數據庫結構束縛。系統將對虛擬數據庫中用一種統一的數據視圖形式表示的數據進行操作,該數據的任何操作與后臺數據源無關。此外,這些數據還可以與XML格式文檔進行方便的互換。在本文中,從數據庫取得的數據將轉換為服務數據對象中的相應數據形式,系統應用程序在執行過程中將調用該格式數據執行操作。
根據自主數據模式,本文設計了一種新的服務數據模型(Service Data Model,SDM),即面向服務的數據模型。SDM模型將面向服務的思想與數據模型相結合,以建立統一數據模型為中心,在SOA架構中抽象出一個服務數據層,用來解決SOA的數據操作請求。
在SOA的構建過程中包含很多環節。如:業務流程的劃分管理,服務組合,服務表示等。而本文研究的內容只是其中的一部分,即如何實現業務邏輯在SOA體系架構中與最底層——數據層的分離,這也與SOA的實施宗旨——松散耦合相對應。通過SDM模型,無需熟悉特定于技術的API,就能訪問和利用數據。
本文采用基于層次的方式對SDM模型進行建模,主要思想是將數據操作過程中的各層分離。通過數據映射模塊,將系統數據的構造與操作映射為對各異構數據庫的操作,通過應用系統再對數據進行更新與修改。在建模過程中,最底層的數據源作為一個層次,由于各數據源具有異構性,所以需對這些不同的數據源向上抽象出一個統一的接口,以便應用程序方便地訪問、轉化和更新存儲在多個異構數據源中的數據。最后再通過應用程序調用所需數據或執行相關操作。
3結束語
本論文在對SOA體系架構的相關理論及其技術進行研究的基礎之上,依據SOA建模策略,利用SDO及DAS,實現數據模型中各層的開發;并通過使用服務數據對象和數據訪問服務,屏蔽了異構數據庫間的數據訪問細節,從而隔離了數據層與業務層。旨在為信息訪問提供一個統一的數據應用框架,實現對企業內各異構數據源的統一、靈活和高效的訪問。
參考文獻:
[1] Thomas Erl,王滿紅,陳榮華譯.SOA概念、技術與設計.北京:機械工業出版社,2006.
[2] 李洪奇,武裝等.基于SOA的企業應用集成[J].微計算機信息,2010,1(3):53-55.
[3] Johnson,James L,李天柱,肖艷芹,楊天柱等譯.數據庫:模型、語言與設計.電子工業出版社,2004.
[4] Apache.Data Access Service.http://incubator.apache.org /tuscany/RDB_DAS_ white_ paper_v-0.2.pdf.2006.
【基于SDO的異構服務數據模型研究】相關文章:
基于Web服務的集成研究03-08
基于Web3D的異構數據存儲及通信研究03-10
基于顧客滿意的服務補救策略研究.11-14
基于顧客滿意的服務補救策略研究03-22
基于物業管理服務采購審價研究03-24
基于顧客滿足的服務補救策略研究.03-28
基于SWOT的圖書館服務危機研究03-16
基于服務營銷的國有貿易銀行創新研究03-28
基于服務利潤鏈的顧客忠誠提升策略研究03-19