???????? Service Data Object(SDO)是Service Oriented Architecture(SOA)體系中的基本技術(shù)之一。近來,BEA,IBM,ORACLE,SAP,IONA,SIEBEL和Sybase都發(fā)布了他們支持SOA使能規(guī)范的框架,就是常說的Service Component Architecture(SCA)。SDO在這些框架中提供了最基本的數(shù)據(jù)表示功能。
??????? 目前,大多電信,企業(yè)應(yīng)用都采用了關(guān)系數(shù)據(jù)庫作為數(shù)據(jù)存儲介質(zhì)。在傳統(tǒng)的開發(fā)過程中,開發(fā)者通常要了解一些關(guān)系數(shù)據(jù)庫的基本知識,比如SQL語法,存儲過程等。SDO的出現(xiàn),極大的改善了這一狀況。精通數(shù)據(jù)庫的項(xiàng)目成員可以專注于數(shù)據(jù)庫部分,業(yè)務(wù)開發(fā)者可以專注于開發(fā)業(yè)務(wù)邏輯,他們只用了解SDO的一些接口即可,他們不用關(guān)心后端的存儲源到底是什么。
??????? SDO給我們帶來了以下的好處:
??????? 1.? 它以無連接的方式表示數(shù)據(jù)庫的一個view,這樣可以降低應(yīng)用對數(shù)據(jù)庫的訪問頻率,降低server負(fù)載。
??????? 2.? 它能夠自動跟蹤所有對數(shù)據(jù)圖的更改。
??????? 3.?? 相對關(guān)系數(shù)據(jù)庫的數(shù)據(jù)存儲模型,SDO的樹狀數(shù)據(jù)模型更符合客觀世界,降低了數(shù)據(jù)冗余。
??????? 4.? SDO能夠很容易的序列化為XML格式數(shù)據(jù)。
??????? 5.? SDO能夠屏蔽后端的數(shù)據(jù)源,業(yè)務(wù)開發(fā)者不用關(guān)注后端數(shù)據(jù)源具體是什么。(有可能但不限于是XML,DB,其它組件,EJB等)
其中上面的第4個特性為我們帶來了巨大的好處,這使SDO能夠成為各個組件之間的通信橋梁,從而使SDO成為SOA體系中不可或缺的一部分。
??????? 不過當(dāng)前的SDO(2.0)規(guī)范只定義了數(shù)據(jù)模型層,對DAS層沒有規(guī)范出來,SDO3.0規(guī)范會加入對DAS的定義。期待ing。