在SOA架构中,程序员经常使用XML在应用程序之间交换结构化和半结构化的数据。XML及其相关技术—文档对象模型(DocumentObjectModel,DOM)、XPath、HTTP、XQuery和可扩展样式表语言转换(ExtensibleStylesheetLanguageTransformations,XSLT)—为快速应用程序开发提供了一个强大的环境。构建在这些技术之上的应用程序将占用更小的内存空间,需要更低的维护成本,同时又拥有更高的品质和灵活性。
DB2和其他关系数据库的XML方面的特性已经相当成熟,因此除了存储和管理关系数据之外,它们还是存储和管理XML数据的理想选择。DB29XML支持(称为pureXML)提供了以纯XML的形式(换句话说,就是带注释的、树型的分层存储)存储XML的能力。在DB29中,XML数据可以用XML模式索引,可以从关系数据组合而成,可以分解为关系数据,可以查询和转换,可以独立发布,或者通过混合使用SQL/XML和XQuery与关系数据组合起来。
Web浏览器也正在为客户机脚本提供更多的功能来有效地处理XML。通过使用异步JavaScript和XML(AsynchronousJavaScriptandXML,Ajax),Web页面现在可以直接对应用服务器进行远程过程调用,并且可以在任何返回的XML数据上使用DOMAPI。
本文将展示如何利用DB2XML、Ajax和PHPHypertextPreprocessor(PHP)提供的功能来编写简单的基于XML的应用程序。通过示例场景的帮助,您将学习如何在JavaScript中调用PHP应用程序;如何使用DOM和SimpleXMLAPI修改XML数据;如何将XML从客户机传送到应用程序再到数据库;以及如何创建PHPWeb服务来使用SQL/XML和XQuery发布关于XML数据的报告。
XML优点
大多数应用程序都用于创建、存储、操纵和呈现业务数据。对象包装是指将业务数据绑在一起,使业务逻辑更容易处理它们。这些包装器对象的很多功能都是根据关系和格式化规则来提供业务数据的结构PHPweb批量添加产品,并使业务逻辑能够操纵、发布和串行化封装的数据。
图1.基于对象包装器的应用程序
图1阐释了使用对象包装器的一个示例人寿保险应用程序。每个方框表示一个对象,每个对象至少有:
PHPweb批量助手·一个构造函数
·Getter和Setter方法
PHPweb批量添加栏目·验证代码
·内部对象层次的串行化
这些对象与实际的业务逻辑没有关系。对象包装是为了使业务逻辑更容易管理业务数据。包装数据所需的代码比业务逻辑要多得多。更多的代码将导致更多的bug、更大的固定性、更多的维护和更高的成本。
如果对象中的数据变量可以格式化为XML结构,并且对象的主要作用是将这些数据暴露给业务逻辑并让业务逻辑操纵它们,那么可以用DOM代替对象。
图2.基于XML的应用程序
图2展示了一个使用XML和DOM包装器的示例保险应用程序。图1中的所有数据包装器对象都用一个DOM对象代替。业务数据是用XML建模的,DOM提供了必要的API来:
·创建新的XML对象。
·更新XML对象的值。
·导航XML对象。
·使用XPath在对象层次中搜索。
·串行化和反串行化XML对象层次(换句话说,就是内建持久性)。
通过使用XML,可以避免使用大多数用于管理业务数据的包装器对象。应用程序将变得更加简洁,并且更多地将重点放在业务逻辑上,而不是数据管理上。
上一篇:信息采集软件让盘点更轻松
文章地址:https://www.tianxianmao.com/article/other/syPHPhAJAXdXMLbc.html