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è)、具體的,請(qǐng)大家上 IBM developerWorks...

          SDO 是一種應(yīng)用程序編程接口 (API) ,可以簡(jiǎn)化和統(tǒng)一對(duì)異構(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ù)操作,簡(jiǎn)單的說,就是通過使用 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ù)對(duì)象( DataObject 是保存數(shù)據(jù)的組件,簡(jiǎn)單地說,它是由屬性的鍵 / 值對(duì)組成的,每個(gè)值都可以是原始的數(shù)據(jù)類型,或者是另一個(gè)數(shù)據(jù)對(duì)象。感覺和 Hash table 差不多。據(jù)規(guī)范上說,這樣的設(shè)計(jì)可以使熟悉 JDBC 的人很方便地通過名稱或索引來訪問它的屬性值。數(shù)據(jù)對(duì)象圖( DataGraph 是一個(gè)描述數(shù)據(jù)的分層結(jié)構(gòu),它包括一個(gè)數(shù)據(jù)對(duì)象樹和一個(gè)更改摘要 (Change Summary) 。更改摘要記錄了數(shù)據(jù)圖中所有數(shù)據(jù)對(duì)象的歷史更改信息。

          數(shù)據(jù)圖中的所有對(duì)象擴(kuò)展了可序列化的 Java 接口,這樣,數(shù)據(jù)對(duì)象樹的序列化變得很簡(jiǎn)單。序列化完成后,數(shù)據(jù)圖由三部分組成:模式、序列化的數(shù)據(jù)對(duì)象和更改摘要,數(shù)據(jù)對(duì)象部分包括了樹型結(jié)構(gòu)和對(duì)象的值,而更改摘要?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ù)合對(duì)象,應(yīng)用程序可以使用這些對(duì)象來保存信息。而且,對(duì)種類繁多的數(shù)據(jù)源和業(yè)務(wù), SDO 提供了一個(gè)統(tǒng)一的數(shù)據(jù)訪問。它還可以在業(yè)務(wù)處理和信息源間實(shí)現(xiàn)解耦合。從某種意義上講, SDO 框架可以簡(jiǎn)化和統(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 閱讀(392) 評(píng)論(1)  編輯  收藏

          評(píng)論

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 遵义市| 高雄市| 明光市| 遂川县| 靖安县| 双峰县| 和平县| 盐津县| 静乐县| 石林| 洪泽县| 福建省| 榆树市| 和田市| 兖州市| 沐川县| 梁山县| 奎屯市| 重庆市| 井冈山市| 维西| 舟山市| 阳泉市| 清镇市| 通辽市| 万年县| 宁南县| 新乐市| 高唐县| 施甸县| 福贡县| 明星| 柳河县| 虎林市| 新昌县| 荣成市| 天台县| 清水河县| 彰化县| 龙州县| 桂平市|