xbe.message(),xbe.moreMessage());
}
}
分析:
测试表明,纯文本表示的XML要比DOM串行化表示性能更好。同时,解析DOM和文本所用的时间也要比用JAVA直接串行化和法串行化所用的时间少。
标准的web服务器方式的优势是其应用基础要广泛许多。CGI脚本能够在绝大多数web服务器上运行,而且,接受方能够很容易的通过URL标识。而对于RMI,则需要RMI注册。CORBA的解决办法则需要在服务器上安装对象请求代理(Object Request Broker,ORB ),而且,CORBA发送者的实现使用的是一个URL的命名模式而不是接收者的CORBA对象引用,用一个字符串与一个URL相联系,然后在客户端转化。
CORBA 和RMI支持JAVA 客户端到JAVA服务器的解决方案。没有CGI脚本也不需要从标准输入中读取编码异常。而且,不需要在发送者每次用XML通讯时都启动一个JAVA虚拟机。他们两则均支持接收者的自动激活。
JAVA RMI方式只能在JAVA代码之间工作,对于web服务器包括CORBA理论上能在任何编程语言之间通讯。对于JAVA串行化的DOM来说,即便是客户端和服务器端均需要是JAVA代码的要求不是问题,它还存在另外一个困难,即JAVA串行化要求客户端和服务器运行的是相同的DOM实现。
结论
正如上面所述,有许多方法可以实现在JAVA分布式应用中发送XML数据,每一种方法的性能和互操作性都是不同的。重要的是应该把XML通讯从分布式应用逻辑中抽取出来。也就是,实现发送和接受XML的代码应和应用逻辑的代码中分离出来。通过把代码打包成软件组件,就能够改变发送方和接受方的代码而不会影响到应用其余实现。