论文部分内容阅读
Web服务是自包含、自描述、可由接口调用的模块化应用程序。Web服务作为一种新型的分布式构件模型已经在电子商务、企业应用集成等领域扮演着越来越重要的角色,特别是Web服务的组合技术,因其能实现服务的重用和增值而成为学术界和工业界关注的焦点。服务组合是将服务看成构件而进行重用的技术,能在现有的服务中选取特定的服务,组合成新的服务来满足用户的需求。目前,服务组合协议正在趋向于统一,主要存在如下三种技术:XLANG和WSFL(Web Services Flow Language)合并而成的业务流程执行语言(Business Process Execution Language for Web Services ,BPEL4WS/BPEL);业务流程建模语言(Business Process Modeling Language,BPML) ;W3C的Web服务编排定义语言(Web Services Choreography Definition Language,WS-CDL)。服务的分布性以及异构、自治和动态变化的特点所引发的多种不确定因素,对其组合的可信性带来了挑战。首先,参与业务流程的服务广泛地分布于互联网中,可能来源于不同的组织,运行于不同的系统平台之上,之间的协调、匹配和互操作涉及因素众多,任何一个细节上问题都可能破坏整体的稳定性;同时,服务构件个体的动态发布、失效、删除、调整和更新,会导致服务个体的质量属性随时可能发生变化,也导致了组合服务的整体质量难以预测;服务组合运行所依赖的软硬件条件和网络环境,也可能出现实时的变化,导致整体质量难以维持稳定。因此,服务组合的可信性分析,成为进一步推动WEB服务技术发展的需求。学术界、工业界都迫切的需要建模、分析、评估、验证和优化其可信度的方法和工具。根据软件可信方面研究的权威定义,软件可信度是软件对功能性和非功能性需求(也就是服务质量,Quality-of-service)的满足程度。本研究主要关注上述两个方面的后者,拟综合运用形式化方法、概率分析与随机过程、置信区间分析等理论和技术,定量的对服务组合的服务质量进行建模、分析和评估。本课题的研究可望在该领域提出有一定指导意义的分析方法和理论结果,对WEB服务技术的完善、发展具有十分现实的意义。本文所述的具体工作包括:(1)设计转换方法,实现从基于orchestration机制的WEB服务组合协议(Web Services Business Process Execution Language,WS-BPEL)和基于choreography机制的WS-CDL到中间模型(随机PETRI网)的完整转换,对服务组合的流程控制、互操作、进程调用、消息交互、死路删除、例外/补偿/错误处理等重要细节进行完整的描述。上述转换规则既能对服务组合程的正常执行时的控制流进行细粒度建模,也能描述意外情况(错误/事件/补偿/终止处理活动)对流程演化的影响,克服了现有研究描述建模粒度粗、转换不完整等缺点;(2)以随机Petri网的中间模型为出发点,对服务组合的控制流演化进行状态分析,嵌入连续时间马尔科夫链,取得其对应的变迁强度矩阵。并设计一系列算法,在变迁强度矩阵上进行一系列计算,对流程正常结束时间期望(Expected Process Normal Completion Time, EPNCT)(性能)、流程正常结束概率(Process Normal Completion Probability,PNCP)(可靠性)和流程正常结束执行代价期望(Expected Overhead of Normal Completion,EONC)(执行代价)这三个服务质量指标进行了计算;(3)为了检验理论结果的精确性和基于随机Petri网的方法的正确性,我们运用WS-CDL+/ACTIVE BPEL执行引擎对WS-CDL/WS-BPEL的实例进行了测试执行,并从日志记录文件中提取出跟三个服务质量指标相关的数据。以上述数据为样本,我们运用置信区间分析的方法得出了三个指标对应的95%置信区间。将置信区间与基于Petri网的方法获得的理论结果进行比对,发现置信区间完全将理论分析结果覆盖,从而验证了结果的精确性和分析方法的正确性。本论文涉及的工作,弥补了WEB服务组合理论研究中在服务质量和定量分析上的不足,能为WEB服务可信性自动化分析技术提供模型支撑和分析手段,有望在WEB服务量化分析这个薄弱领域取得突破,对建立我国面向服务计算技术的自主创新体系具有积极的意义。具体而言,其价值包括:(1)实现了对两个主流的服务组合协议(WS-CDL/WS-BPEL)的细粒度建模,完整的刻画了影响服务组合过程执行和控制流演化的诸多重要因素;(2)实现了WS-CDL/WS-BPEL组合协议到随机Petri网的转换;(3)实现了对服务组合三个最重要的服务质量指标的分析,分析结果的正确性和精确性得到验证。