Java SOA 基本觀、架構與實做 <3>

SDO的規格

SDO (Service Data Objects) 是 Java 世界中對於 SOA 資料存取的一個架構。

在這個架構中,其主要的元素包括三個,分別是:Data Object、data graph 以及 Data Access Services (DAS)。

  • Data Object 主要是屬於資料面的呈現,在 Data Object 中,保存了一組的屬性 (Property),其實非常類似傳統的Java Bean。
  • data graph 包裝 了 Data Object,並且保存了 Data Object 操作的相關屬性(如是否有被更改…等),一般來說,data graph 的來源可以是 Data Source(XML file, EJB或是RDB)或是Service(Web Service、JCA或是JMS)。
  • DAS 則是實際操作 data graph 的操作,如將 data graph 的修改註記直接 Commit 到 Data Source 中。
  • 這三者的關係,其實非常類似 .NET Framework 的 ADO.NET 的 Dataset 結構。

    Data Object可以類比為 Data Row;data graph 則類似 Dataset;而 DAS 則是 Dataset 的 Data Adapter。
    我們可以利用下圖來說明者三者的關係:

    圖 5. SDO的存取結構
    (點擊圖片鏈接看原圖)圖 5. SDO的存取結構

    在圖 5中表達了這個存取的結構關係。
    首先 Client 要求 DAS 進行存取,DAS 到 Data Source 存取 Data Object,並將其包裝為 data graph 後回傳給 Client,此時,data graph 已經和 Data Source 分離,呈現一個 off line 的 data;當 Client 對 data graph 進行操作後,再請 DAS 將該 data graph 更改的情形 Commit 回 Data Source。

    根據上圖 5的原理,SDO的API則如下圖所示:

    圖 6. SDO API
    (點擊圖片鏈接看原圖)圖 6. SDO API

    在這個 API 中,其實可以更進一步看出整體 SDO 的相關重要的結構關係。

     o Java SOA 基本觀、架構與實做 ─ {01}
     o Java SOA 基本觀、架構與實做 ─ {02}

文章導覽

   

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。