那么,在应用了 DB2 V9 pureXML 技术,排除了 XML 应用的基础性技术障碍之后,我们可以用 XML 来为企业应用做哪些事情?事实上,我无法,也无意将 pureXML 在企业中的应用价值进行穷举。下文只是将我到目前为止所能够看到应用领域做一些小结。真正的目的在于抛砖引玉,引发读者对 DB2 pureXML 的价值进行不断探索。 应用领域之一:信息交换和共享 XML 最先被应用的企业领域是信息交换和信息共享。由于普遍意识到 XML 的优点,许多行业开始制定本行业的基于 XML 的数据交换和信息共享标准。例如:ACORD(保险业 XML 标准)、FIXML(基于 XML 的金融信息交换协议)、FPML(金融产品 XML)、HL7(医疗卫生 XML 标准)、IXRetail(零售行业 XML 标准)、XBRL(业务报告和会计 XML)、NewsML(新闻和发行 XML)……当然,信息交换和共享并非因为 XML 才出现的,然而有了 XML,企业与企业之间或者企业内部的 IT 系统之间的信息交换和共享就更具标准化,同时具有可理解性和灵活性的特点,具有了“共同语言”。以 FIXML 为例,老的 FIX 标准是基于简单文本的,几乎没有可理解性和灵活性可言;而新的 FIXML 标准由于采用了 XML,具有很好的可理解性和灵活性,如图 2 所示: 上一页123456789下一页 图 2. FIX 与 FIXML 对比
现在,有了 DB2 pureXML 技术,这些数据交换平台的能力大大增强了,这些交换的 XML 可以被 DB2 数据库原生态地治理起来。应用可以非常便捷地将 XML 以灵活的格式送入“信息高速公路”(企业总线),或者从企业总线中获得 XML。如图 3 所示: 图 3. 通过 XML 的信息集成和交换
应用领域之二:作为一种新的数据模型 为什么需要 XML 这种新的数据描述模型呢?原因是,多年的实践证实:纯粹的关系数据库 E-R 模型过于严格,结构固化,难以适应信息的复杂性、灵活性、层次性、以及个体差异。下面分别为您举一些我所接触到的例子。 复杂的信息 例如:医疗卫生领域中的电子病历、在全球贸易中对中药药材产品的具体描述(多达上千个属性)、银行的客户资料…… 以电子病历为例,一位住院病人的完整电子病历信息通常包括了:既往病史、通科检查、专科检查、病程、医嘱、手术通知书、术前小结、术后小结、出院小结等等错综复杂的信息。如此复杂的信息采用传统的关系型数据库表来保存是相当困难的,往往需要几十甚至几百张表的复杂关联,表结构设计非常复杂,难以理解,也缺乏整体性。而假如采用XML来描述则往往只需要一张或若干张表,设计简单,结构清楚,而且维护也方便。所以,现在国内越来越多的 HIS 应用开发商正在使用 DB2 pureXML 技术在构建其电子病历等应用。如图 4 所示: 上一页123456789下一页 图 4. 使用 XML 表示电子病历中的信息
图 5. XML 电子病历信息的形式
灵活多变的信息 例如员工的联系信息、灵活的表单信息、供给商及客户信息等等。这类信息非常轻易发生结构性的变化。例如,前些年的老系统中员工电话可能只有一个,而随着移动电话的快速普及,员工很可能每人拥有多个联系电话。这时修改结构化表的代价是非常高的,而假如联系信息采用 XML 形式,则易如反掌。如下图所示: 图 6. 通过 XML 存储联系信息
层次型特征明显的信息 例如汽车行业的物料清单信息(往往采用好几个层级来描述一辆汽车的零部件和供给商),民航服务公司的旅客票务信息等等。此类层次性特征明显的信息假如采用 E-R 模型来建模,则免不了就会出现若干个层级,从而经常出现许多张大表的关联查询,其效率往往非常低。 图 7. 通过 XML 进行数据关联
个体差异带来的稀疏数据 为什么采用关系型方式会出现稀疏数据呢?我认为其根本原因是关系型表的结构是固化的,每个个体(数据行)的字段数量都必须相同,而个体之间往往又存在较大的差异。而假如采用 XML 来描述此类信息则完全没有这个问题。 上一页123456789下一页 图 8. 使用 XML 避免冗余数据
应用领域之三:文档治理和知识治理 发挥细粒度检索能力以及强大的关联能力,进行文档治理和知识治理。 细粒度检索能力 采用一般的全文本搜索引擎往往只能告诉用户他/她要的信息在哪篇文档中,而无法告诉用户具体在那些文档的哪个章节和段落。而一篇企业文档(例如技术文档、规章制度、文献、报告等等)往往包含几十、几百、甚至上千页,这对用户而言就很不方便,因此就出现了“细粒度检索”的需求,即能够搜索结果不包含哪篇文档,还要具体显示该文档的哪些章节和段落。而假如采用 XML 对文档进行精细描述,并用 XQuery 进行细粒度检索,就能够满足用户的这类需求。 图 9. 使用 XQuery 查询 XML 信息
强大的关联能力 在知识治理系统中,信息与信息之间的关联是非常重要的信息。我曾经接触过一个大型国际体育赛事的知识治理系统,该系统就非常强调信息的关联性。比如场馆信息与比赛项目信息之间就有着非常紧密地联系,不同的比赛项目对场馆有着不一样的要求,而且它们还与票务信息紧密联系,因为不同的比赛项目,不同的场馆结构,对于 VIP 座位的定义是不一样的。毫无疑问,采用 XML 来描述这类关联性很强的信息是很好的选择,因为关联(Link)是 XML 的强项。 应用领域之四:更加灵活的表单应用 上一页123456789下一页 2003 年 10 月 14 日,万维网联盟(W3C)公布了 XForms 1.0 标准的发行,它 是新一代基于 Web 的表单的基石。传统的 HTML 表单并没有分离表单的“用途”(purpose)和“表现形式”(PResentation);而 XForms 则不然,它将一个表单的作用和表单的表现形式分离开来。这就答应一个表单可以有更加灵活的表现形式选择,并可以支持多种显示设备。XForm包括三部分:模型(model)、实例数据(instance data)和用户界面。 图 10. 分层的信息
这些 eForm 以 XML 原生态的形式被保存在 DB2 V9 数据库中,并无缝结合到企事业的整个业务流程中。 图 11. 使用原生态的 XML 信息
应用领域之五:内容推送(rss) 尽管过去一段时间里有许多人在批评 Web 2.0 就是“一帮人在看皇帝的新装而已”,然而,Web 2.0 这场变革已经在褒贬不一的声音中走到了我们面前,并正在静静地改变我们的生活。谈到 Web 2.0,大家自然而然会想到 RSS、Blog、Wiki 这类应用以及 XML 和 Ajax 等技术实现。限于篇幅,本文不能展开讨论 Web 2.0。在本章,我只是抛砖引玉地谈一谈 RSS 之一重要的 Web 2.0 应用,以及 DB2 V9 是如何能够提高 RSS 的信息治理和应用开发效率的。 RSS(Really Simple Syndication)是站点与站点之间共享内容的一种简易方式(也称为“聚合内容”)。各网站(RSS Provider)提供 RSS Feed,然后由 RSS 聚合平台(Web 2.0 网站或桌面工具等),根据用户的喜好,进行选择性地聚合。 上一页123456789下一页 然后,我们就可以将这个 RSS Feed聚合到各种聚合平台中。如下图,是我非常喜欢的“新浪点点通阅读器”,我将 DB2 的技术支持、国内新闻、国际新闻、本地新闻以及财经地产等等站点的 RSS 聚合到这个阅读器中,这样一来,我天天就可以非常方便地阅读我所关心的信息。 图 12. RSS 阅读器
为了能够做到统一订阅,RSS 具有统一的标准。事实上,RSS 是属于 XML 的一种,它遵守 XML 1.0 规范。为了更方便地应用 RSS 样式,RSS 提供了标准的元素以及这些元素的表现形式。 通过 DB2 V9,RSS Provider 就可以对其发布的 RSS Feed 进行更为高效的增删改以及检索等操作。而 RSS Reader 应用则可以利用 DB2 V9 统一治理用户所订阅的各个 RSS Feed。 图 13. 将 RSS 发布为 Web services
甚至,还可以利用 DB2 V9 直接将这些 RSS Feed 发布成 Web Service,从而更方便地集成到应用中。 应用领域之六:让用户界面更具个性化 由于构成图形用户界面的各种元素(例如窗口、菜单、字菜单等等)间天生所具有的层次和嵌套关系,与 XML 文档中元素和属性之间的关系十分相似,使用 XML 来描述图形用户界面是十分自然的想法。而使用 XML 来描述用户界面最直接的好处就是让用户界面更具个性化。 本章我着重谈一下使用 XML 有利于软件产品的客户化界面定制,让用户界面更具更具个性化。 上一页123456789下一页 现在国内许多行业的 IT 应用开发商之间竞争异常非常激烈。激烈竞争的直接结果就是每一个项目的利润空间大大缩水了。如何确保在客户的项目预算范围内提高利润空间呢?很自然的一个思路就是变项目开发为产品研发。一旦产品化以后,成功地在多个客户实施,则每个项目的成本将大大降低。 然而,每个客户的具体需求又是千差万别的。例如,综合医院的信息系统和专科医院的信息系统差别非常大。这些需求的差别包括许多方面,例如数据模型和流程等等,但往往最大的一个差异就是用户界面。几乎每一个客户都有自己企业所喜好的界面风格。 我们非常欣喜地看到国内一些有实力的开发商已经在产品化和客户定制化这两个方面找到一个行之有效的方法,那就是采用 XML 来描述用户界面,而这些 XML 则采用 DB2 V9 进行高效的治理。如下图所示,用户登录之后,“XML-GUI个性化加载模块” 从 DB2 V9 中获得用户的个性化界面定制信息(XML),接着展现给用户一个个性化的界面。这样一来,同一个产品在不同的企业就可以有不同的展现界面;不仅如此,企业中不同角色、不同等级的用户也将拥有不同的界面。而且,最终用户还能够对某些菜单或样式进行自行定制。 图 14. 个性化用户界面加载过程
总结 DB2 V9 在对 XML 的存储、治理和处理效率上取得革命性突破。本文列举了可以用 DB2 V9 来为企业应用做哪些事情: 信息交换和共享; 作为一种新的数据模型:复杂的信息、灵活多变的信息、层次型特征明显的信息、以及个体差异带来的稀疏数据; 文档治理和知识治理(利用 XML 的细粒度检索能力和强大的关联能力); 构建更加灵活的表单应用; Web 2.0 应用(例如 RSS) 让用户界面更具个性化 本文的真正目的在于抛砖引玉,引发读者对 DB2 pureXML 的价值进行不断探索。假如您对 DB2 pureXML 的企业应用价值有新的发现,随时欢迎您与笔者进行交流。 上一页123456789 新闻热点
疑难解答