简介
服务数据对象是编程模型的一种规范,允许以统一、独立于数据源并且断开连接的方式访问后端数据。该模型允许从任何类型的数据源(关系数据库、EJB 实体 Bean、Web Service、XML
数据源等)检索数据,并统一表示为一种结构化数据图(数据图,DataGraph)。SDO 允许独立于任何后端连接或事务检索 DataGraph,从而规定断开连接的操作。它仍是一个通过 JCP 作为 Java 规范请求(Java
Specification Request,JSR)235 提交的建议规范。
体系结构
SDO 体系结构使用统一的数据访问层(数据介体服务,Data Mediator Service)从各种数据源将数据图返回到客户端。图 4 显示了 SDO 体系结构的组件。
图 4:SDO 体系结构数据对象
数据对象存储实际数据(例如,关系数据库中的原值或数据行)以及可能存在的对其他数据对象的引用。可对它进行内部检查,以确定其类型、关系和约束。
数据图
数据图存储一组数据对象,通常表示体系结构中各组件之间传送的单元。它记录对数据的所有更改,包括新建、更改或删除的数据对象。
数据介体服务
数据介体服务负责与数据源交互,以生成表示数据的数据图。 原数据表示法由这项可插服务转换为 SDO 图形表示法。该介体(Mediator)还负责将数据图中的更改应用回数据源。
框架适用性
SDO 技术承诺对工具和框架的方便集成。在 JSF 和其他 MVC 框架的环境中,可以考虑以下两个解决方案:
从 UI 组件绑定到 SDO(JSF)
在 JSF 框架中,因数据检索起见,Web 用户界面组件的值可以声明绑定到 SDO。例如,一个数据表组件可以绑定到一个 SDO,以从后端数据源检索其值。这种组合使数据容易从 UI 组件进行连接,而不需要任何编程。图 5 显示了将 JSF
UI 组件绑定到 SDO 所生成的体系结构。
图 5:将 SDO 与 JSF 配合使用
模型对象到 SDO(任何 MVC 框架)
MVC 框架的模型层可以使用 SDO 访问后端数据。图 6 显示了使用 SDO 访问使用实体 EJB 保存的数据的模型客户端示例。该模型对象使用由无状态会话 EJB 外观返回的数据图。此会话 bean
外观接着又从该介体检索数据图,该介体充当基于实体 EJB 的持久性机制的数据外观。
图 6:将 SDO 与模型对象和 EJB 配合使用
资源
以下链接提供与本文档中讨论的应用程序框架和组件技术相关的其他信息:
|