使用PHP和AJAX的XML编程(2)_PHP应用_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

使用PHP和AJAX的XML编程(2)

作者:黑客防线网安PHP维护基地 来源:黑客防线网安PHP维护基地 浏览次数:0

本篇关键词:编程使用查询存储
黑客防线网安网讯:将保单存储在 DB2 中  PHP 应用程序将传入的 XML 文档直接存储在数据库中,而不需要解析它(见清单 3)。DB2 的 pureXML 支持将隐式地解析传入的 XML,并将其存储在一个类 DOM 的分层结构中...

将保单存储在 DB2 中
  PHP 应用程序将传入的 XML 文档直接存储在数据库中而不需要解析它(见清单 3)DB2 的 pureXML 支持将隐式地解析传入的 XML并将其存储在一个类 DOM 的分层结构中现在,可以在 XQuery 语句中使用 XPath 之类的 XML 导航技术(就像在 DOM 中使用的那样)来查询 XML。DB2 9 还提供了在该层次结构中的任何节点上索引的能力。
  

公开 XML 文档上的服务
  新的保单存储在 DB2 9 中以后,保险代理可以查询该保单,以决定是否接受这个保险。用于获得关于新保单报告的查询通过 Web 服务公开给客户机应用程序。
  这个例子中的 Web 服务是用 PHP 编写的,它为调用实现服务的业务和转换逻辑的 DB2 存储过程提供了一个简洁的接口。每个 DB2 存储过程由一个 SQL/XML 查询组成,它过滤和转换存储在数据库中的 XML 保单,以创建一个输出 XML 文档。然后,该 PHP Web 服务将 XML 文档返回给客户机。
  我们来分析每个存储过程,看看那些有效地组成 Web 服务实现的查询。
  

  列出所有新客户保险的 DB2 查询。包含该查询的存储过程是listAllNewCustomers(见清单 4)。该查询搜索 ACORD 表的 INFO 列中的所有保单文档。在每个 XML 文档中,DB2 进一步向下分析,以便只返回 PolicyStatus/@tc 属性的代码值被设为 12(也就是建议的值)的那些文档。查询输出是一个 XML 文档,它有一个根节点 newpolicylist,该节点包含一系列的用于每个新保单的 TXLife 子节点(见图 4)。
  图 4. 返回新保单列表的 SQL/XML 查询
  

  注意这个查询第一次如何使用 DB2 XQuery 函数 db2-fn:xmlcolumn 来导航关系模式,以定位到 XML 列 DB2ADMIN.ACORD.INFO。当它到达 XML 列时,它进一步使用 XPath 在 XML 模式中导航到适当的节点(类似于使用 PHP、JavaScript 或其他语言导航 DOM)。
  列出有风险客户的提议保险的 DB2 查询。该查询只列出有风险的新客户(也就是说,他们对于某个医疗问题的回答是 yes)。该查询包含在一个名为 listAtRiskNewCustomers 的存储过程中(见清单 5)。 注意:WHERE 子句同时检查答案和保单状态。
  

  评估有风险新客户的风险度的 DB2 查询。对于以上列表中的每个保单,在保单的健康风险区域只能列出回答为 yes 的问题。该查询还返回 policytype,以显示该保单值多少钱,以便评估风险。包含该查询的存储过程(见清单 6)是 getRiskQuestions(guid)。 注意:您需要一个支持 XML 类型的 DB2 驱动程序版本。否则,在每个存储过程中都需要使用 XMLSerialize 来从 XMLQuery 中串行化 XML 值。请参阅 developerWorks 文章 “结合使用 DB2 原生 XML 与 PHP” 以获得更详细的信息。
  

创建 Web 服务
  用于 getnewpolicyinfo Web 服务的 PHP 代码是一个瘦包装器,它检查所需保单报告的类型,并调用适当的存储过程。然后,将存储过程所返回的值发送回客户机(见清单 7)。注意用 PHP 创建 Web 服务是多么简单。最后三行将该功能公开为一个 Web 服务。在任何客户机中,包括在 PHP 应用程序中,都可以调用 Web 服务,如清单 8 所示。
  

  

  结束语
  在过去几年中,各应用程序层的 XML 支持都已成熟,这导致一种强大的开发环境的出现,这种开发环境可以改变企业应用的设计方式。XML 使开发人员可以为业务文档定义规则和结构,还可以在内存中将文档实例化为分层对象,开发人员可以在任何层使用标准 API 对这种对象进行导航、修改和串行化。Ajax 使基于 Web 的客户机脚本可以调用 DOM API,还可以对中间层进行远程过程调用。PHP 为处理 XML 和 Web 服务提供了最简单的方法之一,因此非常适合基于 XML 的应用程序开发。XML 演变的最后一链是数据库层。DB2 9 使数据库层能操纵 XML。因此这个演变周期宣告结束。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-13620-1.html
网站维护教程更新时间:2012-03-30 04:37:15  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer