论文部分内容阅读
随着互联网的快速发展和广泛应用,Web Service已经成为网格和分布式计算基础结构和应用构建的标准,基于Web Service的分布式计算模式也逐渐成为应用模式和软件相关技术发展的主流趋势。作为Web Service信息交换中简单的、可互操作和可扩展的协议,SOAP已成为Web Service模型中最广泛使用的通信协议。SOAP消息是以XML格式作为基础的,其因此也继承了XML具有大量冗余信息的缺点,从而将导致服务性能低下。本课题主要针对SOAP消息的处理性能优化进行研究,对进一步提高Web Service的应用及其性能和效率有着重要的理论研究和现实应用价值。论文在分析Web Service性能优化的国内外现状之后,发现提高SOAP消息处理能力才是提高服务性能的关键。SOAP消息的序列化和反序列化,其中包括XML数据字符串和内存数据类型之间的转换,是SOAP消息交换的主要性能瓶颈。因此,本文对SOAP序列化和反序列化进行了深入的分析,提出了基于SOAP消息模板来处理SOAP消息的思想。首先,在序列化阶段,客户端发送SOAP请求后,并不直接丢弃消息,而是抽取SOAP消息的结构作为消息的模板存储在客户端,当后续发送相同或者相似消息结构的SOAP消息时,客户端可以和模板进行匹配,若匹配成功,可以取得模板后动态的添加参数值进行发送。其次,在反序列化阶段,服务器端收到SOAP请求后,同样要抽取SOAP消息的结构进行存储。当下次收到相同的消息时,就可以利用自动机的原理自动进行XML类型到特定平台类型的转换,避免了耗时的解析和反序列化操作。在理论研究的基础上,作者对提出的性能优化方案予以了实现。通过和目前广泛使用的处理SOAP消息的引擎(Axis、DOM等)进行了比较,当客户端发送的消息结构相同或相近时,基于模板的SOAP序列化和反序列化处理后的Web Service性能最高提高了近3倍。因此,本文提出的SOAP性能处理优化方案对提高Web Service性能是可行和有效的。