第 II 页 本科毕业设计说明书
本科毕业设计说明书 第 1 页
1 绪论
1。1 研究背景
最近几年,伴随着互联网技术的发展,Web 服务技术也在不同领域得到了迅猛发展和广 泛应用。所谓的 Web 服务(Web Service)应当是一个软件系统,用以支持网络间不同机器的 互动操作[4]。网络服务通常是许多应用程序接口(API)所组成的,它们透过网络,例如国际 互联网(Internet)的远程服务器端,执行客户所提交服务的请求[4]。
对服务提供者发布的服务,以及服务请求者进行统一的描述可以大大利于 Web 服务的发 现。有关描述 Web 服务描述语言有很多种,但是以 Web 服务描述语言(Web Services Description Language,WSDL)为主要代表。WSDL 是一种基于 XML 结构的服务描述语言,主要对 Web 服务的公共接口进行描述[9]。WSDL 的发展时间相对较长,所以研究体系相对而言也比较成 熟,但它还是存在一些缺陷,如描述能力有限,扩展性不强,灵活性较差[9]等。因为 Web 服 务描述近几年来得到了大众越来越多的重视,所以为了弥补 WSDL 的缺陷,研究方向开始向 寻找更多面对搜索的 Web 服务描述语言发展。这些方法必须描述能力更强,且能让计算机更 容易理解服务,进而能够实现服务的发现、执行和组合这些操作的智能化[11]。把互联网环境 中的属性、名称、操作和功能转换成计算机容易理解的形态也就成为这些服务描述方法的核 心工作[3]。WADL 就是这些方法中的一种。WADL 是一种以 XML 的格式来描述基于 HTTP 的 Web 应用的语言。
随着 Web 服务的发展,互联网中越来越多的环节需要添加 Web 服务,是以,一个 Web 服务的质量受到越来越多的重视,因此,通过对 Web 服务的测试筛选出高质量的 Web 服务也 变得越来越不可或缺。
代数规约语言的优点是便于形式化测试,并且能为开发者提供可考察的信息。这种语言 同样也适合于开发人员的理解与处理。国内外对于代数规约的研究都已经相对成熟。一个完 整的系统可以看成是一个集合,或者定义在集合上用来描述系统功能的操作子的集合[1]。基 于代数规约的测试已成功应用很多地方,比如抽象数据类型(由过程语言表示)、类(面向 对象的思想)和 EJB 组件的测试[6]。经实践验证,当用代数规约的方法描述一个软件系统时, 规约的实现必须简洁、精确,也必须能够独立于所实现的语言,因此通过代数规约判断测试 是否通过时,既可以在不暴露内部的实现细节的前提下描述这个软件实体的表现行为,也可 以应用代数规约本身语法规范中的公理等式,所以这种方法有比较高的测试自动化程度。
这种基于代数规约的测试方法要应用于 Web 服务测试时有两个前提条件[13]。第一个前提
第 2 页 本科毕业设计说明书
条件是根据 Web 服务产生的代数规约必须是良构的,另一个是代数规约的结构要能和 Web 服务的程序结构相匹配[2]。简单来说就是要有两个方面的匹配。一是规约中定义的 sort 名和 Web 服务的名相同,二是签名(signature)部分的操作名、输入以及输出的类型和 Web 服务 中定义的接口相匹配[13]。在面向服务的计算中,服务开发的核心是开发能够被机器准确理解 的服务。
因此,Web 服务描述与代数规约之间的转换对保证 Web 服务的可测试和可验证具有重大 的意义,也便于实现服务发现等操作自动化[5]。