當前位置:學問君>學習教育>畢業論文>

基於SDO的異構服務數據模型研究

學問君 人氣:1.1W
基於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。客戶端應用程序與數據圖進行交互來獲得數據和改變數據。爲了將更新應用於原始的數據源,應用程序將更新過的圖發送回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,王滿紅,陳榮華譯概念、技術與設計.北京:機械工業出版社,2006.