- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用 DB2 本地 XML 和 PHP
利用 DB2 本地 XML 功能和 PHP 简化使用 XML 数据的应用
级别:立即
Hardeep Singh (hardeep@),IBM DB2 XML 工具设计师Amir Malik (a@),IBM 实习生
2005 年 10 月 27 日
了解使用下一代 DB2? Universal Database? for Linux?、UNIX? 和 Windows? 附带的本地 XML 功能来简化应用程序代码和关系模式的效率。本文关注模式演变对应用程序的影响,并指导读者体验一个应用情景方案以阐明:设置 PHP 环境的简易性;将 DB2 本地 XML 功能与 PHP 应用程序(包括用 PHP 和 Xquery 编写的 Web 服务)集成的便利性;以及使用 Xquery、存储过程和视图推动业务逻辑和数据转换为数据库的优点。为了着重说明使用 DB2 本地 XML 支持对 PHP 应用程序代码和关系模式设计的影响,这个情景方案设计了一个使用没有任何 XML 功能(例如,MySQL)的数据库的并行环境。我们说明两种环境下的应用程序代码、数据库和关系模式中的差异。
引言
PHP 提供一个简单的 Web 应用程序开发和部署环境。这是它深受欢迎的原因之一。在下一代版本(称为 DB2 Viper 版本)中提供的 DB2 本地 XML 功能进一步简化了开发过程。这种简化体现在以下方面:
缩小应用程序代码大小和降低复杂性
关系模式更简单
更好地根据不断变化的业务要求管理模式演变
为更好地理解 DB2 本地 XML 支持的基础,我们建议您先阅读《DB2 杂志》上的一篇文章“激发混合引擎功能”,该文作者 Anjul Bhambhri 是本地 XML 支持的 DB2 开发经理。
在本文中,我们利用上述基础知识阐述使用 DB2 的本地 XML 功能简化应用程序代码和关系模式的效率。我们还将探讨业务要求变化对数据的影响(模式演变)以及对应用程序代码和关系模式的影响。
为了阐明我们的论证,我们将采用一个基于向注册客户销售古董银器的网上商店建模的使用情景方案。
我们将在情景方案中说明的一些要点包括:
设置 PHP 环境的简易性
将 DB2 本地 XML 功能与 PHP 应用程序(包括用 PHP 和 Xquery 编写的 Web 服务)集成的便利性
以及使用 Xquery、存储过程和视图推动业务逻辑和数据转换为数据库。
我们在情景方案中将使用的 DB2 XML 功能涵盖以下方面:
在作为解析结构的列中的 XML 文档存储
使用 XQuery 进行搜索和发布
支持 DB2 存储过程和视图中的 XML
使用 XML 索引提高性能
为了着重说明使用 DB2 本地 XML 支持对 PHP 应用程序代码和关系模式设计的影响,这个情景方案设计了一个使用没有任何 XML 功能(例如,MySQL)的数据库的并行环境。我们将探讨两种环境下的应用程序代码、数据库和关系模式中的差异。我们将尽可能解释选择某个代码、模式或查询以及替代方法的理由。
Back to top
情景方案
此情景方案围绕向注册客户销售古董银器的网上商店建模。由于该情景方案的目的之一是说明不同的数据库环境以及它们对应用程序代码的影响,我们将尽量对两种应用程序(一个使用 DB2 本地 XML,另一个是具有部分或没有 XML 功能的开放源 RDBMS,比如 MySQL)逐一比较说明。
为此,访问该网站的客户将会看到由两个垂直面板组成的页面。每个面板显示同一应用程序的某个版本,该应用程序提供相同的客户体验,但在后端部署不同的数据库:
具有本地 XML 支持的 DB2
其它 RDBMS(在本例中为没有使用 XML 功能的 DB2)
为揭示应用程序代码的差异,每个面板又进一步分成两个水平框,上框显示网上商店,下框显示代码片断。对于用户执行的任何操作,比如单击类别或产品图像,都会在上框中生成一个新页。下框显示创建该页所需的代码。
图 1. 应用面板示例
此图说明,虽然用户的体验在两种情况下都不会变化,但代码复杂性差异很大。这个比较将突出对用 PHP 编写的常规 SMB 应用程序利用 DB2 的本地 XML 功能的优势。
注意:我们为该情景方案所做的假设是业务数据已经采用 XML,即使数据库可能还没有任何 XML 功能。这将使用为其提供的 XML 功能(比如 SimpleXML)生成 PHP 应用程序代码。具有部分或没有 XML 功能的数据库会将 XML 数据作为 CLOB/BLOB 数据类型进行存储,或将数据切碎到关系域中。
特征和浏览网站时的用户体验
该网站为用户提供一个索引,列出该商店销售的所有银器的类别和品牌。当用户单击某个类别或品牌时,就会显示属于该类别
原创力文档


文档评论(0)