xfy 与 DB2 9 XML 数据解决方案,第 2 部分: 交付动态 XML 信息解决方案
2010-04-06 00:00:00 来源:WEB开发网有了 Justsystems 的 xfy Enterprise Solution,企业可以使用 xfy 可视化界面和自适应 XML 模板,通过将可视化表示与数据处理和业务规则分离开来,轻松地交付信息解决方案。IBM® DB2® 9 具有 DB2 原有的性能、可伸缩性和易用性方面的优点,并融合了同时存储和管理关系数据与 XML 数据的能力。将 xfy Enterprise Solution 与 DB2 9 相结合,按 XML 数据的本地格式管理 XML 数据,创建动态的、数据驱动的 XML 文档应用程序。本文逐步演示如何创建 XML 文档应用程序,这些应用程序在终端用户看来是一些文档,但是它们可以从 DB2 Enterprise 9 数据服务器上检索动态的数据。
简介
随着 XML 能容纳记录,以及数据库技术发展到能同时本地存储 XML 和关系信息,管理和共享企业数据的方式已经彻底被改变。 Justsystems xfy Enterprise Solutions 加上 IBM DB2 9,让您可以以本地格式管理 XML 数据,还可以创建动态的、数据驱动的 XML 文档应用程序,而不会对已经有限的 IT 资源造成压力。
本文引导您构建三个 XML 文档应用程序,这些应用程序为具有不同信息需求的用户显示客户电子邮件信件和销售信息。第一个 XML 文档应用程序演示使用可视化查询生成器工具执行 XML 查询和关系查询,这是所有这三个应用程序都要用到的。第二个 XML 文档应用程序以第一个应用程序为基础,将普通的 XHTML 表替换成 xfy Adaptive Grid 模板,以显示所有电子邮件、销售和运营数据。第三个 XML 文档应用程序以第二个应用程序为基础,将一个网格显示屏替换为 xfy Adaptive Chart 模板,以便只显示电子邮件和销售总额信息。有了像 xfy Enterprise Solution 这样的产品,很容易在企业内将同一套信息定制到不同的分组中,而不必延长定制软件开发和部署的周期。
下面是本文演示的 xfy Enterprise Solution 的一些关键特性:
xfy Enterprise Client 可视化复合 XML 文档创建工具
xfy Enterprise Client 用于 DB2 9 的可视化查询生成界面
xfy Adaptive Grid 和 Chart 模板
建议基本熟悉数据库和 XML 技术,以便更好地阅读本文。
假设
已下载 xfy Enterprise Solutions Trial Edition 并将其安装到名为 $XFYHOME 的目录中。已下载 IBM DB2 9 并将其安装到一个名为 $DB2HOME 的目录中。已经注册了 xfy Enterprise Solution 并且有一个键密钥(key)。已经通过 $XFYHOME/scm/scm_createdb2.bat 命令创建了一个 XFYDB 数据库。已下载 simpleapp.zip,并且创建和填充了 DBSIMPLE 数据库,注册了 xfy Enterprise Client。要了解更多信息,请查看本文的下载小节。
创建第一个 XML 文档应用程序
第一个 XML 文档应用程序是一个 XHTML 页面,该页面有一个可编辑的 customer 字段,XML 和关系数据库查询的选择标准将依赖于这个字段。这个应用程序使用 xfy Visual XML Editor、xfy Visual Query Generation 工具和自动布局表示方法在 XHTML 表格中显示被选中的数据。
启动 xfy Enterprise Client.
在弹出菜单中,选择 File > New。
从 Standard Vocabularies 模板中选择 XHTML,在对话框中单击 Open。可以看到工具条上有一组新的工具,另外还有一个空白的屏幕,其中有一个闪烁的光标。
图 1. 新的 XHTML 文档
查看原图(大图)
输入 Contact Sheet 并按回车键。用光标选中文本,单击工具条上的 B 和 U,是文本变为粗体,并为之加下划线。
在弹出菜单中,选择 Table > Insert Table。 将 rows 设为 1,columns 设为 2,table width 设为 500 pixels,然后单击对话框中的 OK。在第一列,输入 Customer Name,在第二列输入 Art LLC。
图 2. 插入表
查看原图(大图)
在下一行中,输入 1. Email History,单击 Enter。
在弹出菜单中, 选择 Insert > Create XML Object。单击对话框中的 Browse。
单击对话框左侧的 Template 图标。选择 Data Access 模板下的 Database DB2,然后单击 Include,接着单击 OK。之后文档中出现一个标题为 "Query Generator" 的按钮。从菜单中选择 Database > Re-execute When Loading File。
图 3. 数据库模板
查看原图(大图)
图 4. 结果 - Query Generator 按钮
查看原图(大图)
单击 Query Generator 调用查询生成器工具。选择 DBSIMPLE 数据库,单击对话框中的 Next >。
图 5. 数据库选择对话框
为 table 项选择 SALES_DOCS,为 search units 项选择 Search by record。单击对话框中的 Next >。
图 6. 表选择对话框
单击 Add Operand,然后单击弹出的对话框中左侧的 Node 图标。为 column 项选择 MAIL_DOC,并在 Node Path 输入区中 /email/To/text()。单击 Add,并将数据类型设置为 String。单击 OK 关闭对话框。
图 7. XML 查询过滤器对话框
确认下拉列表被设置为 Equals,然后单击对话框上的 Browse。
图 8. 查询过滤器对话框
单击对话框左侧的 Source 图标,在右侧的源文件树中找到源文档表中的列,这个列当前包含文本 Art LLC。 单击对话框上的 OK,单击 Next > 进入下一个对话框。
图 9. XML 源文件的树型视图
通过选择 ENTRY_DATE 来选择查询返回的列,然后单击 Add。单击 ENTRY_CODE,然后单击 Add。
图 10. 查询返回值选择对话框
单击 Node 图标以获得 XML 列 MAIL_DOC 中的返回值。选择 MAIL_DOC 列,在 Node Path 输入区输入 /email/From/text(),然后单击 Add。输入 MAIL_FROM 作为标记。对于 /email/To/text()(使用 MAIL_TO 作为标记)和 /email/Subject/text()(使用 MAIL_SUBJECT 作为标记)遵循相同的步骤。确认您的输入如图 11 所示,然后单击对话框上的 OK。
图 11. XML 返回值选择对话框
将 ENTRY_DATE 设置为按升序返回。单击对话框中的 Next >。
图 12. 返回值排序对话框
编辑查询的文本,将 <object> 标记替换为更具描述性的 <SALES_DOCS> 标记。单击对话框中的 Execute。
图 13. 编辑查询对话框
这样将得到一个自动布局表,其中有填充了 XML 查询返回的数据的返回列。这时最好保存您的工作。选择 File > Save As,导航到您选择的一个目录,将该文件命名为 simple_app1.xml。
图 14. XML 查询的结果
查看原图(大图)
在新的行中输入 2. Delivery History。
像步骤 8 那样插入第二个 XML 数据库 DB2 对象,以执行一个关系数据库表上的查询。遵循步骤 9 和步骤 10,只是这次选择 SELLING_INFORMATION 表。单击 Add Operand。
选择 DELIVER_TO 列,单击 Add > OK。
图 15. 关系查询过滤器
像步骤 12 和步骤 13 那样,在源树中找到 Art LLC 条目。
单击 Column 图标。选择要从 SELLING_INFO 表中返回的每个列。然后单击 Add 按钮。
图 16. 关系查询返回值
将 ORDER_DATE 列设置为按升序返回,就像步骤 16 那样。
像步骤 17 那样,将通用的 <object> 标记替换为 <ORDERS></ORDERS>。单击 Execute 查看显示的 SELLING_INFORMATION 数据。
更改 Customer Name —— 将 Art LLC 改为 Maugham Inc.,测试这个文档应用程序的交互性,然后保存文件。按 F5 重新装载该文件。如果在步骤 8 中正确设置了重新执行(re-execute)标志,那么结果数据应该是特定于 Maugham Inc. 客户的数据。
$XFYHOME/doc/simpleapp/apps/app1.xml 就是完成的 XML 文档应用程序。
创建第二个 XML 文档应用程序
第二个 XML 文档应用程序是第一个 XML 文档应用程序的修改版本。它通过使用 xfy Adaptive Data Grid 模板更改了数据的显示方式。有很多方法可以为企业中的不同用户定制相同数据的不同显示方式,这只是其中一种方法。在开始之前,将当前的 simple_app1.xml 文件保存为 simple_app1_datagrid.xml。File > Save As > simple_app1_datagrid.xml。
选择包含电子邮件历史信息的表。当区域周围环绕着点线,并且 Database 菜单变得可用时,就说明这个表已经被选中。
从弹出菜单中选择 Database > Change View > Adaptive Template。
从 Adaptive 模板列表中选择 Data Grid,然后单击对话框上的 OK。
图 17. xfy Adaptive Data Grid 模板选择
在弹出的对话框中,左侧显示返回数据的树型视图,右侧显示网格选项。在树型视图上,选择 SALES_DOCS,然后单击 Repeated Element 输入区右侧的 Set。在树型视图中展开 SALES_DOCS,显示 5 个返回数据列。单击 Add 将 Column 5 添加到 Column List 中,然后逐个选择返回的数据(例如 EMAIL_TO),单击 Column Node 输入区右侧的 Set。选中 Title 复选框,在后面输入一个值(例如 TO)将改变这个列的标题。遵循这些步骤,直到所有 5 个列都被映射到数据网格。
图 18. xfy Adaptive Data Grid Data 设置
查看原图(大图)
单击 Options 标签页,以设置所有返回列的数据类型和显示尺寸。
图 19. xfy Adaptive Data Grid 选项设置
查看原图(大图)
选择对话框上的 Area 标签页,为数据网格设置最终的显示选项。调整到对显示效果满意时,单击对话框上的 OK 按钮。任何时候,通过选择网格,并通过 Database > View Style Settings 导航到数据库弹出菜单,都可以编辑数据网格。
对于 Delivery History 下的表信息也遵循相同的过程,将该信息放入到一个数据网格。将您的工作保存到 simple_app1_datagrid.xml。
$XFYHOME/doc/simpleapp/apps/app1_datagrid.xml 就是完成的 XML 文档应用程序,以后可以用来参考。
创建第三个 XML 文档应用程序
第三个 XML 文档应用程序是第二个 XML 文档应用程序的修改版。它使用 xfy Adaptive XYChart 模板修改了数据显示方式。在这个图表中将显示销售订单的总量。这是将第一个查询返回的相同数据呈现给企业内不同用户的另一种方法。在开始之前,选择 File > Save As > simple_app1_datagrid_chart.xml,将当前的 simple_app1_datagrid.xml 文件保存为 simple_app1_datagrid_chart.xml。
将文本 Delivery History 改为 Order History。
选择 Order History 下的返回数据,直到出现点线和 Database 菜单选项。
选择 Database > Change View > Adaptive Template,然后从模板列表中单击 XY Chart。
图 20. xfy Adaptive XYChart 模板选择
在产生的对话框上,可以设置图表对象的显示选项。同样,ORDERS 是重复的元素,ORDERED_DATE 是 X 轴变量,TOTAL 是 Y 轴值。 Series 用于设置图表和图例显示的点类型。
图 21. xfy Adaptive XYChart 数据设置
查看原图(大图)
选择 Options 标签页调整两个轴和一系列显示选项。单击对话框上的 OK 按钮。
图 22. xfy Adaptive XYChart 选项设置
查看原图(大图)
这时一个显示订单总量的图表已经替换了下方的数据网格对象。
图 23. xfy Adaptive XYChart 结果
查看原图(大图)
这一切都没有改变底层数据,只是调整了显示方式而已。文档应用程序仍然是数据驱动的 —— 将顶部的 Customer Name 设置为 Maugham Inc,然后保存文档,重新装载文档(按 F5),这一系列的动作保证了这一点。
$XFYHOME/doc/simpleapp/apps/app1_datagrid_chart.xml 就是完成的 XML 文档应用程序,以后可以用作参考。
下载
描述 | 名字 | 大小 | 下载方法 |
简单的 XML 文档应用程序和数据库 | simpleapp.zip | 2MB | HTTP |
安装指南1 | InstallingTheSimpleAppAndData.pdf | 46KB | HTTP |
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››XML 转成 数组对象
- ››XML注意的转义字符
- ››xml文件正确性验证类实现
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
更多精彩
赞助商链接