在当今使用XML解决真正的商业问题 软件测试工具
我们听过太多天花乱坠的关于XML的事,但是许多的开发人员还不知道使用XML该从何处入手开始使用的也未完全探索过它的能力,更没有查找存在的标准提供给他们的所用的解决方案。这篇文章将通过讨论一个假想的案例来举例说明上述问题。 关键字:XML 商业问题
商业问题
XML的力量存在于它的“eXtensibility 可扩展性(译注:XML的全称是eXtensible Markup Language)”...但是这也能证明这是很多组织所难于克服的障碍。
在这个案例中,我们的电子商务网站是在两个不同的伙伴之间外包某种类型订单的履行业务。一个通常的情况是,这两者都想要订单是同一种XML格式,但两种格式就是有着非常大的不同。此外,伙伴B需要我们将XML订单文件放在FTP目录中的同时,伙伴A要求将XML直接发送到他们的服务器上。从那里,他们能获得数据。
所以就有如下三个挑战:
一、我们不得不自动发送订单数据到外部的服务器
二、我们不得不为每个伙伴准备不同的数据格式
三、并且,我们将使用不同的方法传送数据
这真的不好
不久就会有各种各样的系统被放置于这个任务中。解决方案 ,诸如BizTalk 、SOAP和SQL 2000会加进许多。BizTalk还不可用。SOAP也不会有什么帮助,而且,使用SOAP需要双方签订协议统一使用它。再有,SQL 2000会使我们很容易生成从订单数据库中生成XML.说这些系统会工作在一起只是对将来的承诺,而作为一个开发者,我们今天需要理解一些技巧。
尽管,我们并未准备好使用任何这些解决方案。在以某种方式设计我们的应用时,对我们感觉有能力地方的着手一试,还是值得的。
解决方案
这篇文章将讨论使用VB、SQL Server 7.0、XML和XSL(译注:XSL是可扩展样式表语言,全称是 eXtensible Stylesheet Language)建立一个健壮的和灵活的伙伴间订单处理系统以适应当前的需求,并且自身是可扩展的。
此处理过程包括以下三个独立的步骤。(为了演示的方便,所有步骤都包括在一个可执行文件中)
步骤一:建立内部的XML订单文档 在第一步中,系统从 SQL 服务器的数据中建立XML文档。内部XML文档位于内部发信信箱中。
步骤二:建立待发送的订单XML文档 对每一个在第一步中建立的内部的XML订单文档,将其与合作伙伴指定XSL表合并来建立待外送的订单文档。这个文档包括两个主要的部分,标题和数据包。标题包含发送数据包的所有信息。数据包则是跟据合作伙伴指定的规范格式化的XML数据。当第二步完成时,所有的待发送订单文档被储存在合作者输出目录。
步骤三:分发数据包 对每一个在合作者输出目录中的订单文件,系统读取标签中的发送方法和其对应的参数。它将数据包发给知道如何使用指定的方法分发XML文档的运行进程。当第三步完成,外送的文档被储存在合作者档案目录中。
这个系统的特性之一是往后加入一个新的合作伙伴到系统中只需做少量的工作。甚至,一个未来的伙伴需要我们发送一个CSV文件到其指定的电子邮件地址时,我们只要写一个XSL文件就可以解决大多数问题。同样容易的是,我们能够分发一个HTML报表,一个Excel电子表格或是一个纯文本的Email消息。
开始工作