BlogJava 联系 聚合 管理  

Blog Stats

随笔分类

随笔档案

文章档案


orange

拍完饶老师的 mp 了,干点正经事啦。想到仔细看看 SDO 有两个动机:一是我在 Business Modeling 的时候负责的是 Business Item Oragnization ;二是响应 Chuanbo 同志的号召,进一步深入学习 SOA 中的概念 :-) 顺便说一句,大家建模的时候记得把 process Business Item resource 结合起来,不然 WBM 中的 Swimlane mode 岂不是用不到了?

言归正传,这篇文章其实就是是我看 SDO 相关文献的读书笔记,更专业、具体的,请大家上 IBM developerWorks...

SDO 是一种应用程序编程接口 (API) ,可以简化和统一对异构数据的访问。显然, SOA 的一大目的就是将异构的系统集成起来(就像我们的 project ),那么不可避免地需要接触到不同格式的数据。 SDO 就是用来提供一种独特的访问异构数据源的 API ,同时也可用于数据处理的其他方面。

SCA Service Component Architeture )是一种新的编程模型,它将有相同功能和作用的 Service 封装成 Service Component ,并定义输入( import )和输出( export )。那么输入、输出以及组件内又如何与 Service Component 通信呢 答案是 SDO 。之所以采用 SDO 的原因有很多种,很重要的一点是一旦检索到信息后, SDO 会提供一种统一的编程语言进行数据操作,简单的说,就是通过使用 API 及其接口, SDO 客户机可以读取数据和修改数据。

  下图是来自 http://www-128.ibm.com/developerworks/cn/webservices/ws-sdoarch/ 的一幅图,它清楚地展示了 SDO 的总体构架。首先需要解释的是左边的 DMS Data Mediator Service ),它并不属于 SDO 的一部分,但是 SDO 需要使用它和数据源进行通信,在这里不赘述。

figure3.jpg

右边的则是 SDO 的主要部件了。数据对象( DataObject 是保存数据的组件,简单地说,它是由属性的键 / 值对组成的,每个值都可以是原始的数据类型,或者是另一个数据对象。感觉和 Hash table 差不多。据规范上说,这样的设计可以使熟悉 JDBC 的人很方便地通过名称或索引来访问它的属性值。数据对象图( DataGraph 是一个描述数据的分层结构,它包括一个数据对象树和一个更改摘要 (Change Summary) 。更改摘要记录了数据图中所有数据对象的历史更改信息。

数据图中的所有对象扩展了可序列化的 Java 接口,这样,数据对象树的序列化变得很简单。序列化完成后,数据图由三部分组成:模式、序列化的数据对象和更改摘要,数据对象部分包括了树型结构和对象的值,而更改摘要则列出了序列化完成前数据图的所有更改,原始树结构中未更改的数值则被省略了。

一旦构造好一个数据图,我们就可以使用 SDO API 来遍历树结构,并访问其中的元素。规范的作者选择了使用 XPath 语言来完成这一工作。还是回到 http://www-128.ibm.com/developerworks/cn/webservices/ws-sdoarch/ 的链接,上面提供了一个很形象生动的例子来说明 SDO API 的使用,看上去的确和 JDBC 没有什么大的区别哦,但是其中的参数选择又是基于 XPath 的。另外,下面这篇文章也给出了一个很好的例子: http://www-128.ibm.com/developerworks/cn/java/j-sdo/

总之,在我们进行 SOA 设计的时候, SDO 可以提供帮助,它提供了一种独特的模型来存放结构化的和相互关联的复合对象,应用程序可以使用这些对象来保存信息。而且,对种类繁多的数据源和业务, SDO 提供了一个统一的数据访问。它还可以在业务处理和信息源间实现解耦合。从某种意义上讲, SDO 框架可以简化和统一 SOA 中的数据应用程序开发。

回到我自己的工作,感觉 Business Item 的建立和 SDO 是紧密相连的。在我们确定了 Business Item 的种类和细节之后,在具体实现和集成的时就可以依据这个来确定 SDO 的结构了。


posted on 2006-05-17 13:24 Ruth Cao 阅读(239) 评论(1)  编辑  收藏

评论

# re: 关于SDO的读书笔记 2006-05-17 23:09 绿色使者、绿色心情
changsummary倒是很像微软的.net中大牛控件Dataset,内存中的小数据库  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: