快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
该例中仅仅更新简 单的属性值,对性能的影响不是很明显。但在其他情况下,比方说要更新大量的 属性,使用 EMF API 可以显著地提高性能。比如,假设要从数百个雇员的列表 中删除一个雇员。在这种情况下,ChangeSummary 只能提供对原有数百个雇员列 表中的原有值的访问。而 EMF 的 ChangeDescription 接口还可以提供更具体的 信息,如“删除某个索引位置的雇员”,这就有用得多。

还要注意的是,该变更摘要中只修改了一个对象,没有删除或者添加对象。 如果使用 SDO 实现从数据图中删除对象,还要注意类型为 objectsToAttach 的 元素。该名称实际上是对象删除的 EMF ChangeDescription 名。这些元素是那 些已经删除但是在回滚时需要放回图中的数据对象,这就是变更的 EMF 视图。 总而言之, objectsToAttach == deleted objects(删除的对象) 。

调试应用程序

如果在示例应用程序中将 debug 变量设为 true ,那么就可以执行以下调用 ,查看数据图的序列化版本。

((EDataGraph) dataGraph).getDataGraphResource().save (System.out, null);

还可以使用 Eclipse 调试环境。比如,我们建议在 SDOClient.java 第 100 行设置一个断点,并调试 SDOClient (像在 Java 应用程序中那样)。然后, 在调试窗口中就可以看到内存中的数据图(在 Variables 下)和它的数据对象 (Boss、Terrence Shorter 等),如图 4 所示。

图 4. 在调试模式下观察数据对象

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

还可以用这种方法查看变更摘要,如图 5 所示。

图 5. 在调试模式下观察变更摘要

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

上面的截屏图看起来很复杂,现在看来用处也不大,但是当您调试自己的 SDO 应用程序并查看数据对象和变更摘要的内容时,就会用到它。

结束语

本文简要描述了 SDO 及其功能。我们通过一个示例应用程序说明了 SDO 的 一些功能。更多参考信息,请参阅 Eclipse 帮助系统下的 SDO API 文档。该规 范仍在发展和改进之中。比如,SDO 1.0 强调了 SDO 的客户机方面,而没有指 定一个 DMS API。SDO 目前正通过 JCP 实现标准化,请关注有关的进展情况。 因为 SDO 非常灵活,设计 SDO 应用程序时需要做很多决策。这些决策将影响程 序的重用性和性能。因此,在编码之前,应该认真考虑应用模式和应用程序数据 的特征。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号