基于Tuscany的SDO实践
通过一Tuscany SDO例子展示SDO功能特点,帮助了解SDO设计思想和概念……
SDO组件
SDO由多种不同组件组成,理解他们的概念和作用是理解SDO框架的基础。
数据源(Data Source)
数据源不限于后端数据源(如持久存储数据库)。数据源以自己的格式保存数据。只有 DMS 访问数据源,SDO 应用程序不访问数据源。SDO 应用程序可能只使用数据图中的数据对象。
Data中介服务(DMS)
DMS 是一种组件,它负责提供某些方法来组装数据图,也负责将数据更改保存回数据源。典型情况下,将会有多种不同的 DMS 类型,每种类型对应着一种特定的数据源和技术(XML、JMS、JCA、JDBC 等等)。DMS 总是以同一种格式(数据图)返回信息,它隐藏了实际的数据存储信息,在 SDO 应用程序和 EIS 之间提供了一层数据提取的功能。数据中介框架不属于 SDO 1.0 规范,换句话说,SDO 1.0 没有涉及具体的 DMS。常见的 DMS 有 JDBC DMS、实体 EJB DMS 和 XML DMS 等。
数据对象(Data Object)
数据对象是 SDO 的基本组件。简单地说,它是由属性的键/值对组成的,每个值都可以是原始的数据类型,或者是另一个数据对象。数据对象提供了易于使用的创建和删除方法(带有不同签名的 createDataObject() 和 delete() ),获得自身类型(实例类、名称、属性和名称空间)的反射方法。数据对象都链接在一起,包含在数据图中。数据对象是可序列化的。
数据图(Data Graph)
数据图是一个描述数据的分层结构,它包括一个数据对象树和另一个称作变更摘要 (Change Summary) 的结构(如图所示)。变更摘要记录了数据图中所有数据对象的历史更改信息。此外,由于数据图是由数据对象组成的,因此它是可序列化的。
数据图由 DMS 生成,供 SDO 客户使用。修改后,数据图被回传给 DMS 更新数据源。SDO 客户机可以遍历数据图,读取和修改数据图中的数据对象。当在应用程序组件(比如服务调用期间的 Web 服务请求者和提供者)之间进行传输、组件到 DMS 的传输(或者保存到磁盘)的时候,数据图被序列化为 XML。SDO 规范提供了序列化的 XML Schema。

- 本文关键词:

