BlogJava 聯(lián)系 聚合 管理  

          Blog Stats

          隨筆分類

          隨筆檔案

          文章檔案


          orange

          拍完饒老師的 mp 了,干點(diǎn)正經(jīng)事啦。想到仔細(xì)看看 SDO 有兩個(gè)動(dòng)機(jī):一是我在 Business Modeling 的時(shí)候負(fù)責(zé)的是 Business Item Oragnization ;二是響應(yīng) Chuanbo 同志的號(hào)召,進(jìn)一步深入學(xué)習(xí) SOA 中的概念 :-) 順便說一句,大家建模的時(shí)候記得把 process Business Item resource 結(jié)合起來,不然 WBM 中的 Swimlane mode 豈不是用不到了?

          言歸正傳,這篇文章其實(shí)就是是我看 SDO 相關(guān)文獻(xiàn)的讀書筆記,更專業(yè)、具體的,請大家上 IBM developerWorks...

          SDO 是一種應(yīng)用程序編程接口 (API) ,可以簡化和統(tǒng)一對異構(gòu)數(shù)據(jù)的訪問。顯然, SOA 的一大目的就是將異構(gòu)的系統(tǒng)集成起來(就像我們的 project ),那么不可避免地需要接觸到不同格式的數(shù)據(jù)。 SDO 就是用來提供一種獨(dú)特的訪問異構(gòu)數(shù)據(jù)源的 API ,同時(shí)也可用于數(shù)據(jù)處理的其他方面。

          SCA Service Component Architeture )是一種新的編程模型,它將有相同功能和作用的 Service 封裝成 Service Component ,并定義輸入( import )和輸出( export )。那么輸入、輸出以及組件內(nèi)又如何與 Service Component 通信呢 答案是 SDO 。之所以采用 SDO 的原因有很多種,很重要的一點(diǎn)是一旦檢索到信息后, SDO 會(huì)提供一種統(tǒng)一的編程語言進(jìn)行數(shù)據(jù)操作,簡單的說,就是通過使用 API 及其接口, SDO 客戶機(jī)可以讀取數(shù)據(jù)和修改數(shù)據(jù)。

          ? 下圖是來自 http://www-128.ibm.com/developerworks/cn/webservices/ws-sdoarch/ 的一幅圖,它清楚地展示了 SDO 的總體構(gòu)架。首先需要解釋的是左邊的 DMS Data Mediator Service ),它并不屬于 SDO 的一部分,但是 SDO 需要使用它和數(shù)據(jù)源進(jìn)行通信,在這里不贅述。

          figure3.jpg

          右邊的則是 SDO 的主要部件了。數(shù)據(jù)對象( DataObject 是保存數(shù)據(jù)的組件,簡單地說,它是由屬性的鍵 / 值對組成的,每個(gè)值都可以是原始的數(shù)據(jù)類型,或者是另一個(gè)數(shù)據(jù)對象。感覺和 Hash table 差不多。據(jù)規(guī)范上說,這樣的設(shè)計(jì)可以使熟悉 JDBC 的人很方便地通過名稱或索引來訪問它的屬性值。數(shù)據(jù)對象圖( DataGraph 是一個(gè)描述數(shù)據(jù)的分層結(jié)構(gòu),它包括一個(gè)數(shù)據(jù)對象樹和一個(gè)更改摘要 (Change Summary) 。更改摘要記錄了數(shù)據(jù)圖中所有數(shù)據(jù)對象的歷史更改信息。

          數(shù)據(jù)圖中的所有對象擴(kuò)展了可序列化的 Java 接口,這樣,數(shù)據(jù)對象樹的序列化變得很簡單。序列化完成后,數(shù)據(jù)圖由三部分組成:模式、序列化的數(shù)據(jù)對象和更改摘要,數(shù)據(jù)對象部分包括了樹型結(jié)構(gòu)和對象的值,而更改摘要?jiǎng)t列出了序列化完成前數(shù)據(jù)圖的所有更改,原始樹結(jié)構(gòu)中未更改的數(shù)值則被省略了。

          一旦構(gòu)造好一個(gè)數(shù)據(jù)圖,我們就可以使用 SDO API 來遍歷樹結(jié)構(gòu),并訪問其中的元素。規(guī)范的作者選擇了使用 XPath 語言來完成這一工作。還是回到 http://www-128.ibm.com/developerworks/cn/webservices/ws-sdoarch/ 的鏈接,上面提供了一個(gè)很形象生動(dòng)的例子來說明 SDO API 的使用,看上去的確和 JDBC 沒有什么大的區(qū)別哦,但是其中的參數(shù)選擇又是基于 XPath 的。另外,下面這篇文章也給出了一個(gè)很好的例子: http://www-128.ibm.com/developerworks/cn/java/j-sdo/

          總之,在我們進(jìn)行 SOA 設(shè)計(jì)的時(shí)候, SDO 可以提供幫助,它提供了一種獨(dú)特的模型來存放結(jié)構(gòu)化的和相互關(guān)聯(lián)的復(fù)合對象,應(yīng)用程序可以使用這些對象來保存信息。而且,對種類繁多的數(shù)據(jù)源和業(yè)務(wù), SDO 提供了一個(gè)統(tǒng)一的數(shù)據(jù)訪問。它還可以在業(yè)務(wù)處理和信息源間實(shí)現(xiàn)解耦合。從某種意義上講, SDO 框架可以簡化和統(tǒng)一 SOA 中的數(shù)據(jù)應(yīng)用程序開發(fā)。

          回到我自己的工作,感覺 Business Item 的建立和 SDO 是緊密相連的。在我們確定了 Business Item 的種類和細(xì)節(jié)之后,在具體實(shí)現(xiàn)和集成的時(shí)就可以依據(jù)這個(gè)來確定 SDO 的結(jié)構(gòu)了。


          posted on 2006-05-17 13:24 Ruth Cao 閱讀(393) 評論(1)  編輯  收藏

          評論

          # re: 關(guān)于SDO的讀書筆記 2006-05-17 23:09 綠色使者、綠色心情
          changsummary倒是很像微軟的.net中大牛控件Dataset,內(nèi)存中的小數(shù)據(jù)庫  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 池州市| 凤城市| 辉南县| 黄冈市| 临湘市| 五峰| 万安县| 措美县| 大荔县| 墨脱县| 南城县| 东乌珠穆沁旗| 大兴区| 麟游县| 大荔县| 金沙县| 清新县| 柘城县| 烟台市| 井陉县| 许昌县| 于都县| 视频| 清镇市| 梨树县| 黄大仙区| 蓬溪县| 进贤县| 轮台县| 湖南省| 沽源县| 南平市| 当雄县| 巴彦县| 扶绥县| 夹江县| 灵台县| 和田县| 繁峙县| 克什克腾旗| 钟祥市|