快速业务通道

服务数据对象简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
法 更新数据对象。比如,下面的代码修改从雇员 Terence Shorter 获得的数据图 :

employee.setString("department", newDepartmentName);

注意,客户机没有调用日志方法。DMS 负责对数据图的变更摘要调用 beginLogging() 和 endLogging() 记录日志。

数据图

可以将数据图的数据格式(模型)看作 DMS 与客户机之间的抽象。客户机期 望从 DMS 得到数据图,DMS 也知道如何创建数据读(包括从后端数据源中读取 和更新数据)。如果熟悉 XML 或者 Web 服务,那么可以将数据图模型看作定义 数据对象 XML Schema(XSD)。数据图本身就类似 XML 实例文档。事实上,XML Schema 也是定义 SDO 模型的一种方法。

注意,数据图及其模型总是能够序列化为 XML。在 SDOClient.java 中将 debug 变量设为 true ,就可以看到运行时在控制台中显示的数据图的序列化版 本,与清单 3 类似。

清单 3. 数据图的序列化版本

<?xml version="1.0" encoding="UTF-8"?> <sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance"   xmlns:company="http://com.example.company.ecore"   xmlns:sdo="commonj.sdo"   xmlns:sdo_1="http://www.eclipse.org/emf/2003/SDO">   <changeSummary>    <objectChanges key="#//@eRootObject">     <value xsi:type="sdo_1:EChangeSummarySetting"      featureName="department" dataValue="Board"/>    </objectChanges>   </changeSummary>   <company:Employee name="The Big Boss"    number="1" department="The new department" title="Mr."    manager="true">    <employees name="Terence Shorter" number="2"     department="The new department" title="Mr." manager="true">     <employees name="Miles Colvis" number="3"      department="The new department" title="Mr."/>     <employees name="John Datrane" number="4"      department="The new department" title="Mr."/>    </employees>   </company:Employee> </sdo:datagraph>

在本例中,数据图由 Employee 数据对象(以及变更摘要)组成。Employee 包含姓名、编号、部门、职务、上司(管理该雇员的另一位雇员)和下属(该雇 员管理的其他雇员)等属性。该例中,雇员已经位于硬编码的数据源中时,DMS 返回的数据图的格式总是雇员的上司(如果有的话)、雇员及其直接下属(如果 有的话)。

服务数据对象简介(6)

时间:2010-12-05 IBM Bertrand Portier

DMS 构建数据图

SDO 1.0 没有规定 DMS API,API 应该包含数据图模型本身的设计和创建。 因为建立对数据源的访问要考虑很多种情况,设计数据图本身可以作为另一篇文 章的主题。

对这个例子,我们将采用 DMS 通过动态 EMF API 定义的雇员模型。示例数 据图没有 XSD 这样的模型文档。实际上,因为对象是动态生成的,所以这意味 着没有生成 Employee Java 类。如果使用静态方法,就会生成这样的类。

DMS 使用不同的数据访问 API(JDBC、SQL 等)从不同数据源获取的信息。 但是,一旦从后端(该例中是硬编码的知识)检索到信息,DMS 就转而使用 EMF API(eSet、eGet)而非 SDO API 来创建数据对象的数据图。这种方法能

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号