3.1 BPEL中的活动8
3.2 BPEL过程9
4 设计与实现10
4.1 模块框架设计10
4.2 建模10
4.3 BPEL控制流图(BCFG)的生成13
结论18
致谢 19
参考文献20
第一章 引言
1.1 研究背景
随着 Web Service 技术日益成熟和流行,许多企业的很多部门相应地创建了 Web Service 服务。如何在不改变这些 Web Service 正常运行的情况下,将这些 Web Service 集成起来创造出新的业务模型、业务流程成为一个比较突出的业务要求。要解决这个问题,一定要有一个新的流程语言能够将 Web Service 给串起来,这种新的业务流程语言就是BPEL。从计算机语言和软件开发的视角出发,BPEL实现了人类大规模编程(Programming-in-the-Large)的梦想。论文网
总的说来,BPEL规范具有以下特点:
基于开放的Web服务标准,易于实现跨系统、跨部门、跨企业的互操作。BPEL的调用对象是Web服务,本身也可以作为Web服务向外提供服务,因此与现有的Web 服务标准相融合。由于Web 服务是开放标准,已被众多的企业所采用,BPEL使建立跨企业的业务流程成为可能。
高度的松耦合性。BPEL可看作是对多个服务的调度与协调。BPEL本身只定义流程相关的逻辑,具体的功能则由它所调用的服务来实现,与BPEL无关。由于BPEL调用的对象都是一致的Web服务接口,BPEL定义本身只需指定相应的接口即可,不需要指定实现该接口的服务。相应的实现服务完全可以在部署甚至运行时确定。同时,流程与所调用的服务之间以XML形式传递消息,不直接与服务的实现打交道。因此BPEL流程和所调用的服务之间是松耦合的,他们可以独立地进行替换或修改,而不对另一方产生影响。
服务的重用性。由于BPEL流程的调用对象是服务。一个服务在被一个流程调用的同时也可向其他流程,其他客户提供服务。同时BPEL流程本身也可以封装成流程向客户提供服务或是作为子流程为其他流程所重用。这种服务的可重用性为企业的流程管理减少了开发成本,同时也提高了维护效率。
高度的敏捷性。现代企业的业务需求随时都在改变以适应千变万化的市场。这种需求的快速改变也相应对企业的IT基础设施提出了更高的要求。在企业的业务需求改变时,相应的IT设施必须能够快速调整为新的业务需求提供支持。从业务流程的角度来说,相应的业务流程必须能够容易的、快速的甚至是动态的改变才能满足这一要求。正是由于BPEL具有高度的松耦合性和可重用性,才使其具有敏捷性的特点。
BPEL的这些优点,使得BPEL在服务组合应用方面发挥着越来越重要的作用。
1.2 论文的主要工作
本文的主要任务是对BPEL流程的结构进行分析,挖掘其中的控制关系。BPEL流程由活动组成,BPEL流程中的各个活动之间存在多种控制结构:顺序,选择,并行,循环。这些控制结构决定了活动的执行顺序、时间以及活动之间的依赖关系。因此,对于一个给定的BPEL程序,若能够得到其对应的控制流图,在控制流图的基础上再对BPEL程序进行控制依赖、数据依赖以及活动之间可达性的分析将会变得比较简单。
对于BPEL流程分析的第一步是建模,建模的主要任务就是将BPEL程序中各个活动、每个活动的内部要素以及活动之间的关系记录下来。我们所采用的建模方法类似于Zhangbing Zhou, Sami Bhiri, Manfred Hauswirth所提出的基于块的模型。最终我们得到的模型几乎包含了BPEL程序中的所有信息。建模完成后,我们即可在其基础上生成控制流图。
事实上,我们得到的模型也是一种控制流图,它包含了BPEL文件中所有的控制信息,但直接在模型上分析活动之间的前后关系、可能的路径等并不方便,因此,针对此类应用,我们特别设计了一种控制流图,该控制流图能够清楚地反应活动之间的前后关系以及控制关系。