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

          Blog Stats

          隨筆分類

          隨筆檔案

          文章檔案


          orange

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

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

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

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

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

          figure3.jpg

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

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

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

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

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


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

          評論

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


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 夏津县| 齐河县| 伽师县| 且末县| 景德镇市| 泸定县| 平阳县| 商城县| 贵南县| 大化| 东城区| 读书| 西盟| 渝中区| 绍兴县| 健康| 临澧县| 武城县| 颍上县| 海晏县| 鹿邑县| 黄陵县| 灌云县| 喜德县| 马边| 顺昌县| 绿春县| 页游| 通榆县| 沂水县| 阳江市| 吴川市| 平安县| 社会| 安西县| 徐水县| 张掖市| 鲁甸县| 大邑县| 昭平县| 浦江县|