CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

基于Tuscany的SDO实践

作者: ,  出处:Dev2Dev, 责任编辑: 叶江, 
2007-06-15 10:54
  通过一Tuscany SDO例子展示SDO功能特点,帮助了解SDO设计思想和概念……

  接着创建数据图(Data Graph),并将purchaseOrder数据对象设置到数据图对象中。SDOUtil 是Tuscany中最重要的SDO工具类之一。它负责创建数据对象,数据图等重要的操作。

  DataGraph dataGraph = SDOUtil.createDataGraph();
  SDOUtil.setRootObject(dataGraph,purchaseOrder);

  从数据图中获取变更摘要,并开始对数据图的变更进行记录,这里我们改变了数据对象purchaseOrder中orderDate属性的值。

  ChangeSummary changeSummary = dataGraph.getChangeSummary();
  changeSummary.beginLogging();
  purchaseOrder.setString(purchaseOrder.getProperty("orderDate"),"2007-03-18");
  changeSummary.endLogging();

  变更摘要的isModifed方法返回数据图是否更改的布尔值, getOldValue方法可以获取数据图更改前的值, undoChanges方法可以回滚数据图的变更。我们一次试验这几个常用方法。

  boolean isModified = changeSummary.isModified(purchaseOrder);
  System.out.print("\nIs data changed in DataObject: "+isModified);
  ChangeSummary.Setting oldOrderDate = changeSummary.getOldValue(purchaseOrder,purchaseOrder.getProperty("orderDate"));
  System.out.print("\nThe old ordere date is: "+oldOrderDate.getValue());
  printPurchaseOrderSummary(purchaseOrder);
  changeSummary.undoChanges();
  printPurchaseOrderSummary(purchaseOrder);

  printPurchaseOrderSummary方法在控制台中打印数据对象,我们清楚地发现会滚之前和之后数据对象的变化。

基于Tuscany的SDO实践 图-6

  这个例子非常简单,但读者可以从中了解到SDO的一些重要组件和用法。读者也可以在此基础上增加新的测试来深入学习SDO。

  结束语

  SDO 规范 1.0 版于 2003 年末提交给 Java Community Process,并获得了批准,它仍在不断的发展中。SDO能够帮助我们解决通用企业应用程序的一个重要问题: 异构数据访问。SDO 为业务数据提供了一种中立的表示方法,建立了一种与数据源无关的模型,降低了耦合度。随着SOA的广泛应用,相信SDO会成为 SOA 应用程序的一个重要组件。


  阅读关于 SOA SDO EJB XML Web服务 Java 的全部文章
共6页。 9 1 2 3 4 5 6

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i