技术开发 频道

使用Fast Infoset提高Java Web Service性能



四、Web Service的性能比较: Fast Infoset PK. MTOM/XOP

    MTOM(SOAP Message Transmission Optimization Mechanism)是一种W3C推荐使用的将SOAP协议打包成二进制格式以取代Base64编码的方式。这种技术依赖于XOP(XML-binary Optimized Packaging),这是一种将二进制技术嵌入到XML信息集中的机制。XOP只支持对大量字符信息项的嵌入。而我们前面所讲到的快速信息集除了可以保存字符信息,还可以保存属性项信息。从这方面上看,快速信息集比MTOM/XOP更有弹性。

    JAX-WS2.0和它的相关实现同时支持快速信息集和MTOM/XOP。那么我们怎么选择这两种技术呢?它们的性能如可呢?下面让我们看一下本文提供的例子在这种技术下的测试结果。

    我们假设有下面三种类型程序,图1和图2分别显示了这三种类型的程序在调用update()和retrieve()的平均相应时间(ART):
 
1. 一个标准的JAX-WS Web Service程序
2. 客户端和服务端都基于MTOM(MTOM/XOP)的程序
3.基于快速信息集(FI) 的程序

图1显示了调用upload方法的结果。X轴的X+Y的格式表示了图书封面图和例子章节
的大小。


               1  调用upload()方法的ART数据

 

 

 

    2是调用retrieve方法的ART数据,参数格式和图1相同。




 图2 调用retrieve()方法的ART数据

    从上面两个图所示的数据已经非常清楚了,Web Services尤其在处理和传输二进制数据时,使用MTOM和快速信息集可以获得相当大的性能提升。然而,但在JAX-WS2.0中的快速信息比MTOM更出色,因此,在JAX-WS中使用快速信息集应该是最好的选择。

五、快速信息集已经获得了更广泛的支持

快速信息集是一种应用非常广泛的技术,它已经被多种平台和框架所支持,如微软的.NET和.NET CF,Sun的GlassFish,BEA的WebLogic以及TMax的JEUS 6。还有在Linux、Solaris和Win32操作系统中也支持快速信息集。对于开发人员,尤其是从事SOA开发的技术人员,这项技术也许会是一个福音。也许我们正在使用一处非常有前途的技术,并应该更好地学习和应用它,以便利用它来建立基于XML的更高效的Web Service。

0
相关文章