快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
将实例化 DMS,并调用 get() 方法访问特定的雇员:Big Boss、 Wayne Blanchard 和 Terence Shorter。它以用户友好的方式在控制台中打印这 些雇员的信息,然后更新 Terence Shorter 及其雇员的部门信息。最后调用 DMS 的 update() 方法,传递更新的 Terence Shorter 数据图。

注意,为了便于示范,我们没有实现数据源组件,但在 DMS 中,有一些如何 根据查询构建数据图的“硬编码”知识。图 3 显示了 DMS 正在使用的雇员层次 结构。

图 3. Big Boss 公司的雇员

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

图中可以看出,DMS 背后的虚拟公司有 4 个雇员,层次结构如下:

Big Boss 没有上司,Terence Shorter 是其下属。

Terence Shorter 以 Big Boss 作为自己的上司,John Datrane 和 Miles Colvis 是其下属。

John Datrane 的上司是 Terence Shorter,没有下属。

Miles Colvis 的上司是 Terence Shorter,没有下属。

运行示例应用程序

右击 SDOClient.java,然后选择 Run>Java application运行上述示例应 用程序,结果如下:

清单 2. 应用程序的控制台输出

********* EMPLOYEE INFORMATION ********* Name: John Datrane Number: 4 Title: Mr. Department: Procurement Is manager?: no DIRECT MANAGER: Name: Terence Shorter Number: 2 Title: Mr. Department: Financing Is manager?: yes **************************************** NO INFORMATION AVAILABLE ON EMPLOYEE Wayne Blanchard ********* EMPLOYEE INFORMATION ********* Name: Terence Shorter Number: 2 Title: Mr. Department: Financing Is manager?: yes DIRECT MANAGER: Name: The Big Boss Number: 1 Title: Mr. Department: Board Is manager?: yes DIRECT EMPLOYEES: Name: Miles Colvis Number: 3 Title: Mr. Department: Accounting Is manager?: no Name: John Datrane Number: 4 Title: Mr. Department: Procurement Is manager?: no [Total: 2] **************************************** DMS updating Terence Shorter (changed department from "Financing" to "The new department") DMS updating Miles Colvis (changed department from "Accounting" to "The new department") DMS updating John Datrane (changed department from "Procurement" to "The new department")

现在我们来分析应用程序的各个组成部分是如何工作的。

服务数据对象简介(5)

时间:2010-12-05 IBM Bertrand Portier

客户机

SDO 客户机例示了 DMS,并从中获得不同雇员的数据图。得到数据图后,通 过根对象(使用 SDO 动态 API)遍历和访问数据对象,如下所示:

// Get the SDO DataGraph from the DMS. DataGraph employeeGraph = mediator.get(employeeName); ... // Get the root object DataObject root = employeeGraph.getRootObject(); ... // get the employee under the manager employee = theManager.getDataObject("employees.0");

客户机调用动态 SDO 访问器 API,从数据对象中获得信息,并将其显示到控制台上:

System.out.println("Name: " + employee.getString ("name")); System.out.println ("Number: " + employee.getInt("number")); ... System.out.println ("Is manager?: " +   (employee.getBoolean("manager") ? "yes" : "no") + "\n");

我们已经看到客户机是如何获取信息(读)的,但是如何写入信息呢?更准 确地说,客户机如何修改对象?SDO 客户机一般使用 DataObject 写访问器方

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