级别: 中级 Hideki Hiura (hideki_hiura@justsystems.com), CTO, Justsystems, Inc.
2007 年 5 月 10 日 本文介绍来自 Justsystems 的 xfy 企业解决方案,这是一种 XML 应用程序平台。通过它,可以开发能充分利用 DB2 的 pureXML™ 功能的 IBM® DB2® 9 for Linux®, UNIX®, and Windows® 应用程序。
处理非结构化数据 —— 缺少的拼图
在使用 XML 方面,很多公司的一个关键目标就是能够处理各种类型的、不能有效地存储在关系数据库(RDB)中的数据。这是一个重要的目标,因为一个企业中的大部分数据都不是结构化的,不能存储在常规的 RDB 中。据调查发现,一个企业中只有 10% 的数据是在 RDB 中管理的。这意味着企业中还有 90% 的信息没有得到系统化的管理或利用。大多数企业不能有效地利用那些非结构化数据。
很多 XML 的支持者一直期望 XML 可以很快帮助实现将这种非结构化数据转换成便于管理和利用的形式的目标。但是直到现在,这个目标的实现还缺少两块重要的拼图:
- 一种能存储 XML 数据,并将其当作 XML 数据来操纵的数据库。
- 一种用于开发本地 XML 应用程序的完善的工具。
然而,在 2006 年的夏季,第三代数据库 IBM DB2 9(代码名为 “DB2 Viper”)以及 Justsystems 公司的本地 XML 应用程序平台 “xfy” 作为这最后两块拼图出现了。
用于 XML 数据的 DB2 9 混合型数据库
DB2 9 是一种混合型数据库。除了具有 RDB 的功能以外,DB2 9 还具有 XML 数据库(XMLDB)的功能。DB2 9 可以将 XML 数据不作改变地存储为实际的 XML 数据。这是之前的 RDB 无法做到的,RDB 一般是通过将 XML 数据放进特定的表结构中来存储 XML 数据,而且只是简单地将数据作为大型字符串来处理。
DB2 9 可以使用 SQL 和 XQuery 来搜索关系数据和 XML 数据。除了使用 XQuery 搜索 XML 数据和使用 SQL 搜索关系数据外,用户还可以在同一个查询中同时搜索关系数据和 XML 数据。
相对于单模式的 RDB 来说,DB2 9 可以非常灵活地处理多种模式。例如,DB2 9 可以存储多种模式的 XML 数据,或者存储无模式的 XML 数据。这种模式灵活性使查询可以横跨不同的 XML 数据(例如具有不同模式的 XML 数据)进行搜索。这种多源搜索常被称作 “联邦搜索”。
一个搜索 —— 多个数据源
DB2 9 支持在具有不同模式的数据上进行联邦搜索。这大大扩展了企业利用那些没有被有效地存储在关系 RDB 中的数据的能力。
例如,考虑一个企业使用的各种不同类型的数据,如电子邮件、订单或建议书。在过去,这些在性质上各不相同的数据甚至常常不是存储在相同的 RDB 中,即使是存储在相同的 RDB 中,这种 RDB 也只是简单提供低级的搜索功能。但是现在,可以将 XML 格式的数据存储在 DB2 9 数据库中,对所有数据都可以进行查询。这使得用户可以在一个查询中搜索多种类型的数据。例如,用户可以提取与一个客户相关的所有数据,即使是具有不同模式的结构化的数据。
图 1. 在一个查询中访问多种模式
细心的读者可能察觉到,一个联邦搜索返回的 XML 数据可能以多种多样的、不可预测的 XML 词汇的形式出现。事实正是如此。这就使我们将目光转移到缺少的第二块拼图上:xfy,一个用于处理不可预测的、未知的 XML 词汇的平台。
xfy 应用程序平台:提取 XML 中的内在价值
xfy 是一个用于构建和执行本地 XML 应用程序的平台。它能处理所有类型的 XML 数据,甚至包括 XML 复合文档,即使对 XML 词汇所知不多,也难不倒它。xfy 是用 Java™ 实现的,因此它可以在各种不同环境下运行,例如 Windows、Linux 和 Mac OS X。
xfy 可以分析从数据库返回的未知 XML 词汇,并自动为结果生成适当的视图。与之前的数据库应用程序不同,xfy 无需用户编写任何程序,就可以显示未知的 XML 词汇。而且,xfy 有一组丰富的组件可用于数据可视化(例如将图表和电子表格显示为散点图)。这些组件提供了强大的工具,以有用的可视化格式显示 XML 数据。
图 2. xfy 中的数据可视化
可以使用 xfy 来创建复合 XML 文档,在这种文档中,从数据库返回的 XML 数据被嵌入在一个 XHTML 文档中。xfy 可以构建包含对一个数据库发出的搜索查询本身以及从数据库返回的搜索结果的 XML 文档。这使 xfy 能够有效地构建动态的 XML 文档。当数据库被更新时,XML 文档中的搜索结果也随之更新,而当编辑搜索查询时,XML 文档本身也将被重新生成。
在正确的时机将正确的信息提供给正确的人
除了显示搜索结果外,xfy 还可以在不需要用户编写程序的情况下,自动生成和发出搜索查询。用户可以使用 GUI 来生成和发出搜索查询(无论目标是关系数据还是 XML 数据),从而保证在正确的时机将正确的信息交付给正确的人。
除了在不需要编程的情况下生成和发出搜索查询外,xfy 还可以在不需要编程的情况下定义视图。开发人员可以使用 GUI 为已有的 XML 模式定义一个视图,从而能够在很短的开发周期内开发程序和重复地作出修改。
图 3. 创建 XML DB 查询
图 4. XML DB 查询
xfy 可以如实使用 XML 数据,而不必将其转换成其他类型的数据。通过使用 DB2 9 与 xfy 这对组合,可以大大简化服务器端和客户端的应用程序开发。
图 5. DB2 9 与 xfy 平台
pureXML 加本地 XML 产生的化学反应
DB2 9 的到来为非结构化的、不能存储在 RDB 中的这 90% 的企业数据注入了新的活力。直到现在,这种类型的数据在企业中还一直是种摆设:没有得到管理,也没有被利用。但是现在,这些信息的价值和对它们的使用上有望发生巨大的变化。而且,xfy 的到来将大大简化 XML 应用程序开发。开发人员将可以快速开发信息结构,以满足规范的变化,并且也将能够提供满足用户需要的、真正易于使用的系统。
pureXML DB2 9 加上本地 XML xfy,是创建真正的 XML 解决方案并为用户充分发掘 XML 内在价值的理想组合。本系列的下一篇文章将帮助您踏入这一新的领域,并试着用 xfy 和 DB2 9 创建一个 XML 文档应用程序。
参考资料 学习
获得产品和技术
-
下载
IBM 产品评估版,从 DB2®、Lotus
®、Rational®、Tivoli® 和 WebSphere® 中获得应用程序开发工具和中间件产品。
讨论
关于作者  | |  | Hideki Hiura 是 Justsystems 公司的首席科学家。他是 OpenI18N.org/Free Standards Group 的创始人,也是该组织的主席。OpenI18N.org/Free Standards Group 是一个独立的、非盈利的组织,旨在通过开发和推广标准,促进免费和开放源代码软件的使用。他还是 W3C I18N WG 的奠基人和成员之一。在加入 Justsystem 公司之前,他是 Sun Microsystems 公司的一名架构师,与多种标准和标准组织打过交道,比如 ISO、W3C、OMG、The Open Group、OSF、Unix International、X Consortium 和 Unicode。 |
对本文的评价
|