论文部分内容阅读
Internet己成为现代社会越来越重要的基础设施。基于SOA(Service Oriented Architecture,面向服务的体系结构)的Web服务技术应运而生,它是实现SOA的最佳选择。业务流程执行语言BPEL(Business Process Execution Language)是当前工业界服务组合语言中事实上的标准。BPEL流程正确有效设计、编写、运行和封装将直接影响企业业务流程的执行效率,从而间接影响企业的生产效率。本文研究BPEL流程生命周期的五个阶段:需求描述阶段、编辑设计阶段、静止阶段、执行阶段和封装阶段中的若干关键问题,这些问题的解决能提高BPEL流程的正确度和效率。论文主要研究内容如下:研究业务流程执行语言(BPEL)在生命周期的需求描述阶段如何从自然语言描述的功能需求自动生成BPEL流程。首先将需求描述进行约束和形式化,然后在WSDL集合中找到语义匹配度最高的Web服务,最后用从低向上逐层拼装的方式生成需求描述对应的整个BPEL流程。从需求描述到BPEL流程的自动生成将帮助用户和开发人员能够快速地在需求上达成共识,并加快BPEL流程的开发。研究BPEL在生命周期的编辑设计阶段中BPEL活动推荐问题。当开发人员需要编写大量针对某一业务领域的BPEL流程时,原子服务的个数往往是有限的,并且它们之间可能存在着某种因果关系。利用关联规则挖掘算法挖掘出原子服务之间的关联关系,在开发人员编写BPEL流程的过程中,为他们提供相关BPEL活动的推荐,以此提高流程编辑的正确性和效率。研究BPEL流程在生命周期的编辑设计阶段中的控制依赖死锁问题。在流程编辑设计的过程中,BPEL中活动的执行顺序和link元素可能引入控制依赖死锁,通过在线发现图中的简单回路,在BPEL流程设计过程中实时地检测出这种死锁,从而规避在庞大的流程设计完成之后再去检测所具有的难度和复杂度。研究BPEL流程在生命刷期的静止阶段的流程模板生成问题。从某个领域或某个应用具有一定规模的BPEL流程集合中,利用有根无序树的频繁模式挖掘发现频繁出现的子流程,这些子流程可以作为BPEL流程模板,推荐给开发人员,以实现流程的复用。研究BPEL流程在生命周期的执行阶段的流程相容性问题。BPEL流程执行时,可能存在流程与被调用的服务不相容的问题,包括接口的不相容与行为上的死锁。用基于UML和类型Pi演算的方法检测相容性,并在不相容的时候给出适配器的生成方法。研究BPEL流程封装为Web服务阶段时的相容性问题。综合考虑多种因素,包括服务接口的语法和语义,服务的行为,服务的质量和用户的偏好,利用运筹学中的层次分析法,从定量上分析Web服务之间的相容性。