随笔 - 19, 文章 - 93, 评论 - 17, 引用 - 0
数据加载中……

bpel和工作流的三个主要区别

基于状态的工作流管理系统(WFMS)和可执行的业务流程语言 BPEL )之间主要的差别有如下三点:

1、面向消息(message oriented) VS 基于状态(stated based):

WMFS : 基于状态的WMFS系统主要对图元(Activity)状态的变迁管理,工作流引擎维护和计算活动之间的转移条件。

BPEL : 而
BPEL 则是由一个消息激发流程的创建和运行, BPEL 流程内部每个Service都会被一个onMessage消息上配置的event handler触发,等到执行了event handler事件后会产生下一个活动执行的onMessage消息源,同时触发下一个活动执行。

2、流程实例ID VS 消息相关性

WMFS : 基于状态的WFMS系统会在创建流程实例时为每个实例产生一个唯一ID标示。客户端可以通过引擎提供的相关API调用这个流程实例执行、停止、挂起。

BPEL : BPEl则是用一组唯一标示的消息来确定要创建的流程实例是哪个,这个唯一标示的消息用correlation(相关性)包装起来,其中定义了消息的名称,消息个数,消息的类型。
BPEL 引擎会自定的匹配这组消息到一个流程定义的receive活动上,最后创建一个新的流程实例。

3、工作流引擎API VS 抽象服务端口:

WMFS : 要执行一个XPDL的工作流文件必须要用工作流引擎提供的一组API去调用,以便管理控制、执行和访问流程实例。例如:启动一个流程实例必须要告诉流程定义的名称。

BPEL : 而
BPEL 则是做为一个服务暴露给外部调用,用的是面向服务(service oriented)的概念,例如调用一个bpel需要告诉激发bpel的消息相关性和业务伙伴是谁。相关性和业务伙伴分别是用WSDL描述的消息和服务,bpel内部调用的最终是一个Web Service。

posted on 2006-12-03 07:38 BPM 阅读(560) 评论(0)  编辑  收藏 所属分类: BPEL


只有注册用户登录后才能发表评论。


网站导航: