集成XML:购买还是自己开发

ZDNet软件频道 时间:2002-11-23 作者:BUILDER.COM |  我要评论()
本文关键词:
虽然XML是数据表达法的通用标准,许多公司仍然编写自己的程序;相对于自己开发的繁琐,很多公司已经意识到建立或购买XML消息引擎的方便。

Visual Studio .NET 已经成为了建立支持XML网络服务标准系统的平台选择。由于她全面地支持XML技术而广泛应用于建立XML的消息机制中。

虽然XML是数据表达法的通用标准,许多公司仍然编写自己的程序,这些程序用于不同系统的数据交换。由于这些系统的独立性和专用性,如果某一细节出现问题,修改起来很麻烦,所以这些程序的维护费用相当高。相对于自己开发的繁琐,很多公司已经意识到建立或购买XML消息引擎的方便。

XML消息引擎的基本功能

建立一个XML消息引擎一般都要包括在每一系统和数据的表达之间放置一个层。当XML消息引擎处理数据交换时,它首先从资源系统获取数据并把数据映射成XML格式,然后运行转换处理,即把资源系统的XML格式转化成目标系统的XML格式。如果目标系统接受这一XML流,目标系统就接收数据。否则,消息引擎就把数据转化成目标系统能够接受的格式。如果从目标系统获得数据,这一过程正好与上述过程相反。

如果代码编写正确,XML映射层能够大大地减少程序的开发和维护。如果资源系统需要把数据传到一个新的目标,开发人员可以使用现成的资源映射而只需把数据转化成目标系统的XML格式。如果资源系统的格式改变,资源映射也要相应更改,但目标系统的映射可以保持不变。既然当前行业内已经有很多标准协议和各种语言,如TCP/IP, HTTP, SMTP,HTML XML,很多公司都建立集成XML程序,问题是在于:到底是自己开发还是购买?

.NET Framework支持集成XML

.NET Framework 全面地支持XML,其中包括协议和语言的封装,生成XML消息引擎等。例如,现在可以很方便地建立Windows服务来监视起动XML消息过程的始发点。可以使用FileSystemWatcher类来建立一个查找文件特定位置的工作过程,FileSystemWatcher类监视文件系统,当特定路径中的文件改变时就响应事件。这一个类可以时刻监视本地机,或远程机器上特定路径的文件状态。一旦Windows服务接收文件,则可以使用XML来处理。

系统XML包含着XML文档对象模型(DOM),DOM能够得到资源文件并把它们转化为XML文档等价物。一旦转化为XML文档,你就可以使用相关语法把XML文档传到标准的ADO.NET数据库,从而很方便地完成这一转变。DataSet.WriteXML命令可以生成格式正确、合法的XML文档。

如果你有了已转化的XML文档,你可以要么把这一文档发送到目标系统,要么生成目标系统需要的格式。然后从转化了的XML文档生成一个文件。最后,你可以使用系统网络中的函数通过HTTP,FTP或SMTP把数据发送到远程服务器。

BizTalk

自行开发自己的XML消息引擎能够节省很大的费用,但是这需要对XML有关知识进行深入的理解。除非你开发的工作过程引擎非常的简单,一般而言你是不会自己编写复杂的代码程序来处理多个XML消息引擎处理的。

然而,BizTalk为自行开发XML消息引擎提供很多方便之处。第一,BizTalk有一个文档编辑器,可以很简单地定义转换文档。BizTalk映射允许你在两个定义好的XML文档进行转化。同样,你可以从BizTalk转化中调用自己的处理程序。BizTalk管理器允许你定义接收事件来取代Windows服务。最后,BizTalk引擎使用Visio来真实形象地反映出多个处理的工作过程。

根据你的实际情况进行选择

如果你的系统设计比较复杂,而且要对XML消息系统多次开发,那么在选择以下两种方案之一以前,你必须根据自己的实际情况进行选择。第一种选择是:开发自己基于.NET框架的系统,这样可以建立可多次开发的XML消息引擎。第二种是:在程序中使用BizTalk,虽然BizTalk需要服务器连接费用,但是在系统维护上你会得到更多的回报。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134