论文部分内容阅读
随着互联网软件技术及其应用迅速发展,基于Web Services的分布式计算模式日益成为软件技术和应用发展的趋势,Web Services为分布式计算提供了一种新的范例。WebServices技术是一种面向开放互联网协议的软件应用,它通过XML消息及协议完成与其它应用软件的交互,实现更大范围内系统间的互联、互通和互操作。在企业的信息化发展过程中,信息集成是企业发展的总趋势,如何把工业企业生产现场中各种异构环境下的实时数据集成起来,形成统一的实时数据库,实时地通过局域网和广域网传送到全企业和上级主管部门,达到真正的网络化管理,是目前中小型企业面临的问题。多数的企业信息集成方案都是采用传统的中间件技术,集成双方之间实现的是紧耦合机制,导致系统的柔软性、互联性和可扩充性受到限制。而Web Services技术作为一种新型的分布式对象技术,具有完好封装、松散耦合和高度可集成能力等特点,能够很好地满足企业成员的动态性要求,并解决成员之间应用集成的架构相异问题,从而使企业的应用集成环境具有良好的可扩展性和易维护性。基于Web Services的实时数据访问技术,采用面向服务架构(SOA)的软件设计方法,能够把使来自工业现场的实时数据信息发布为Web服务,同时也为企业的ERP、CRM、PDM等系统提供实时数据访问服务,服务请求者可以在B/S模式下访问实时数据库。目前,基于Web Services架构下系统服务响应的实时性还不能完全满足企业信息集成的要求,本文在分析Web Services性能现状的基础上,着重从优化Web Services性能方面入手来研究如何提高服务调用的实时性;影响Web Services的时间响应速度的因素主要有三个:网络传输时间、消息处理时间和服务执行时间。在网络传输阶段,通过压缩XML文件来缩短网络传输的时间,提出了压缩SOAP消息和模式压缩的方法;在消息处理阶段中,XML解析、反序列化、序列化是三个最消耗时间的阶段,是Web Services性能的瓶颈,尤其是在有效负荷增大的时候。要提高Web Services的性能,优化XML解析、序列化与反序列化过程是关键。本文引入VTD-XML解析器,实验分析了XML解析器DOM、SAX和VTD-XML各自的特点,在速度和性能方面VTD-XML能较好满足实时性的要求,根据工业现场实时数据访问的特点和VTD-XML解析器的工作原理,设计了基于VTD-XML的解析模板缓存来加快XML文档的解析速度,用MD5算法为每个SOAP消息请求生成一个唯一的解析模板ID,并用VTD-XML提供的API操作进行模板缓存的管理,实验证明了VTD-XML解析模板缓存能进一步提高Web Services的性能,满足实时数据访问服务的要求。最后在J2EE平台下使用BEA公司的Weblogic实现了基于Web Services的实时数据访问服务功能,通过在系统中配置自己开发的基于VTD-XML解析模板缓存,使得该实时数据访问服务能能够满足用户、计算机及企业的其它系统如ERP、PDM、CRM等实时性的要求。