介紹
定義
Service Data Objects白皮書上如此介紹SDO
SDO 旨在創建一個統一規範的數據接入層 並 使用一種“易用”的方法,將混雜的數據源整合到工具集和框架中。
簡言之,SDO就是旨在提供這樣一種數據對象:它像橡皮泥一樣,可以根據實際的數據源決定它的實際表現。而在使用過程中不必考慮其實際類型和構建方法。
服務數據對象(Service Data Object,簡稱為SDO)是一個數據編程架構,同時它也是API。SDO的主要目的是簡化針對數據的編程,從而使開發人員可以專注於業務邏輯,而不是基本技術。
SDO通過以下方式簡化了針對數據的編程:
1. 為不同類型的數據源提供了一致的針對數據的編程
2. 為通用的套用模式提供支持
3. 使得應用程式、工具和框架能夠更容易地對數據進行查詢、瀏覽、綁定、更新和內省
SDO的基本構成要素
1)Data Object :保存具體的數據,包括原始數據以及指向其他數據對象的引用。數據對象也包含了指向元數據的引用,這使得SDO的元數據能夠被讀取,包括數據的類型,關係和約束等。這和Java中的反射機制類似;
2)Data Graph :一個概念上的數據集合。具體的講,數據圖是一個有多個樹根的數據對象的集合,可以記錄所有對數據對象的操作。
3)Meta Data :元數據使得開發工具或運行環境能夠動態地或者靜態的查看數據的屬性,包括數據的類型,關係和約束等,同時提供了一組與數據源無關的元數據API;
4)Data Mediator Service:數據訪問服務負責與後台的數據源進行通信,完成構造數據圖,更新數據圖等操作。