论文部分内容阅读
Web服务(Web Services)是构造下一代分布式计算平台的基本技术。单个Web服务所能够提供的功能有限,服务复合(Services Composition)通过组合现有的Web服务从而创建新的、高层的Web服务以完成更加复杂的任务,是构建Web服务平台应用的重要手段。复合服务通常根据用户的需求动态构造,运行在复杂多变的Internet环境中并且依赖于底层分布、自治的第三方服务。由于复合服务区别于传统软件的动态性和灵活性等特点,在运行时对其进行监管可以确保复合服务执行的正确性,提高执行的可靠性、灵活性和有效性。复合服务监管(Supervision)包括运行时监控(Runtime Monitoring)和控制动作实施(Control)两部分。虽然目前已经有很多研究工作对复合服务监管展开了研究,但是已有的监管方法仍存在各种不足之处。在监管需求描述方面,已有工作通常基于各种形式化逻辑,如线性时序逻辑和事件演算表达监控需求,难以被流程管理人员掌握和使用,并且缺乏对监管对象在运行时监控范围的显式刻画,无法灵活定位需要监控的内容。其次,在具体的监管实施上,已有的监管技术也存在不足。例如:现有针对WS-BPEL的AOP扩展不支持表达对流程执行历史的关注,无法对流程的执行进行准确的干预和调整;在成员服务的管理上,已有的Web服务QoS评估技术对采用分级策略的Web服务无法进行准确评估,以及时发现复合服务的执行瓶颈。为解决上述复合服务监管中存在的问题,遵循策略驱动的监管原则,论文研究并提出了一种基于模式的复合服务监管策略及其实施方法。具体如下:针对复合服务监管需求的特点,论文首先提出一种基于模式的复合服务监管策略并建立了相应的监管规范。监管策略主要包括pattern、range和action三部分。其中,pattern用于表达监控内容,range刻画监控实施的范围,action指定了相应的管理措施。该监管策略的特点在于使用一组固定模式表达功能和非功能性监控需求,相对于基于形式化逻辑的监控描述规范更加易于理解和掌握;通过引入range显式刻画对监控需求的空间约束,支持灵活定位在复合服务执行的某个范围内感兴趣的监控内容;此外,range的引入对运行时的监管实施也具有重要意义:不仅降低了在监控实施时对流程执行性能的影响,还可以通过及时实施管理动作,将执行时出现的各种故障限制在指定的范围内,避免了故障的传播,提高了复合服务执行的可靠性。其次,为对复合服务执行实施动态灵活的监管,论文研究面向方面的WS-BPEL流程监管实施技术。设计了针对WS-BPEL语言的状态方面扩展。提出基于历史的切入点支持刻画事件之间的各种时序关系,克服了已有方面扩展语言的不足,支持表达对流程执行历史的关注;通过采用动态编织机制,在运行时织入监控管理逻辑,降低了对复合服务业务逻辑的侵入,提高了方面实施的灵活性;所提出的面向状态方面监管方法在执行时仅关注感兴趣的事件,降低了对流程执行性能的影响。最后,在成员服务管理方面,论文研究QoS驱动的Web服务动态替换机制。提出了基于非确定性推理的Web服务QoS动态评估方法,并采用AOP技术扩展执行引擎支持运行时的服务替换。所提出的评估方法的特点在于通过为成员服务建立基于贝叶斯网络的QoS评估模型,能够对采用分级策略的Web服务进行准确评估,及时发现执行瓶颈并选择满足指定QoS需求的最为合适的服务,提高了复合服务的执行效率;基于AOP技术的服务动态替换方法减少了模块之间的耦合,提高了引擎的灵活性和可扩展性。