论文部分内容阅读
近几年以面向服务的体系架构(SOA)为基础的Web服务逐渐受到重视,被认为是解决异构系统整合问题、快速实现企业流程的有效方案。Web服务具有开放性、平台独立性、松耦合性和可复用性等优点,已经在电子商务、企业应用集成等领域扮演着越来越重要的角色。随着Web服务技术的日益成熟,越来越多的Web服务共享在网络上。但单个服务只能提供有限的功能,不能满足企业之间复杂的业务协作需求。为了更加充分地利用共享的Web服务,有必要将共享的Web服务组合起来,提供更为强大的服务功能,加快系统开发的速度。目前,通过商业流程执行语言(BPEL)进行Web服务组合已成为服务组合的主流方法。
如同其它的软件一样,Web服务也需要被严谨地测试,以确保其品质与可靠性。然而测试Web服务与测试传统软件有所不同。主要足因为Web服务具有多种编程语言和异构平台的特性,对于其它厂商提供的Web服务,测试人员仅拥有描述Web服务接口与消息格式的WSDL文件,无法获得源代码来进行分析和了解Web服务的结构。如果测试的Web服务组合流程中包含其他厂商提供的服务,那么测试将有可能影响到此Web服务的正常用户,并可能由于使用服务而产生费用。另外,许多企业的流程复杂,Web服务组合的商业流程定义文件可读性差,并且其中可以包含各种活动,这些因素给Web服务组合的测试工作增加了难度。
本文深入的研究了Web服务架构,在此基础上,本文提出并实现了一个测试Web服务的系统。本文所作的主要工作如下:
1、通过分析BPEL流程文件,讨论Web服务组合流程各种可能情况,研究并提出组合流程的图形化显示方法,从而能够使测试者直观清楚的了解流程的情况和包含的活动。
2、研究服务组合流程执行路径的算法,该算法可以找出所有执行路径的总数及路径所经过的节点,这是对Web服务组合流程可能发生状态进行全面测试的基础。
3、提出并实现基于代理进行测试的方法。此方法是以代理架构为基础,可以拦截与模拟不同服务间的SOAP消息,使得在不干扰远端服务的情况下,测试和监督本地端与远端间的互动是否正确。
4、提出并实现Web服务组合测试系统架构,该系统既可以对单一服务,也可以对服务组合进行测试,以检验服务的正确性,以图形方式查看服务组合流程,并可选择执行路径进行测试。
总之,本文对Web服务组合测试系统进行了研究和实现,使之能够对Web服务进行全面而有效的测试。