论文部分内容阅读
作为新一代的软件架构,面向服务的体系架构SOA (Service-Oriented Ar-chitecture)具有松耦合、开放和平台及实现语言独立的特性,为服务的重用和跨平台的业务整合与交互提供了有效的解决方案,在科学研究和实际应用中都受到了日益广泛的关注。而随着SOA的逐渐成熟,Internet上大量的功能相同或相似、交叉或重叠的共享服务随之涌现。处于分布式环境中,SOA系统存在高失效率的潜在风险,各成员服务都有较高的失败率,并且成员服务失败也可能会导致整个系统的失效。为了防止系统发生这样灾难,应尽可能的去发现Internet上大量的功能相同或相似、交叉或重叠的服务,建立相应的替换机制,替换那些失败不可使用的服务,从而在最大限度上保持合成服务的成功。因此,服务替换是指在组合服务的上下文中,一个新服务替代一个原始服务,并能够保证系统的固有属性不变。服务的可替换性分析成为了一个科学问题。以往的国内外相关研究都大都基于这样一种假设,即成员服务和组合服务需要附随其行为的某种形式化描述。但在SOA最为普遍的形式Web服务应用中,标准的服务契约(Service Contract)却无法保证这一必要条件的满足。按照W3C的规范和现有基于SOAP的Web服务的广大实践,服务供需双方和第三方的分析验证所能得到的仅仅是WSDL文件所描述的调用接口和输入输出消息。因此,在信息有限的情况下本文开展了对成员服务的可替换性研究。针对上述问题,本文展开了以下两个方面的研究,取得了相应的研究成果:1.仅仅基于WSDL的信息,自动提取服务的接口,设计验证机制,可判定组合服务中的成员服务是否满足既定的测试条件;2.在服务接口的基础上,更进一步地深入到服务交互消息的关系,从而更细致地判定组合服务中的成员服务是否满足既定的测试条件;3.开发了相应的原型系统,完成了一些典型的验证实验。