bpel和工作流的三个主要区别
2007-07-27 08:42
232 查看
bpel和工作流的三个主要区别
--------------------------------------------------------------------------------
基于状态的工作流管理系统(WFMS)和可执行的业务流程语言(BPEL)之间主要的差别有如下三点:
1、面向消息(message oriented) VS 基于状态(stated based):基于状态的WMFS系统主要对图元(Activity)状态的变迁管理,
工作流引擎维护和计算活动之间的转移条件。而BPEL则是由一个消息激发流程的创建和运行,BPEL流程内部每个Service都会被一个onMessage消息上配置的event handler触发,等到执行了event handler事件后会产生下一个活动执行的onMessage消息源,同时触发下一个活动执行。
2、流程实例ID VS 消息相关性:基于状态的WFMS系统会在创建流程实例时为每个实例产生一个唯一ID标示。客户端可以通过引擎提供的相关API调用这个流程实例执行、停止、挂起。
BPEl则是用一组唯一标示的消息来确定要创建的流程实例是哪个,这个唯一标示的消息用correlation(相关性)包装起来,其中定义了消息的名称,消息个数,消息的类型。BPEL引擎会自定的匹配这组消息到一个流程定义的receive活动上,最后创建一个新的流程实例。
3、工作流引擎API VS 抽象服务端口:要执行一个XPDL的工作流文件必须要用工作流引擎提供的一组API去调用,以便管理控制、执行和访问流程实例。例如:启动一个流程实例必须要告诉流程定义的名称。
而BPEL则是做为一个服务暴露给外部调用,用的是面向服务(service oriented)的概念,例如调用一个bpel需要告诉激发bpel的消息相关性和业务伙伴是谁。相关性和业务伙伴分别是用WSDL描述的消息和服务,bpel内部调用的最终是一个Web Service。
--------------------------------------------------------------------------------
基于状态的工作流管理系统(WFMS)和可执行的业务流程语言(BPEL)之间主要的差别有如下三点:
1、面向消息(message oriented) VS 基于状态(stated based):基于状态的WMFS系统主要对图元(Activity)状态的变迁管理,
工作流引擎维护和计算活动之间的转移条件。而BPEL则是由一个消息激发流程的创建和运行,BPEL流程内部每个Service都会被一个onMessage消息上配置的event handler触发,等到执行了event handler事件后会产生下一个活动执行的onMessage消息源,同时触发下一个活动执行。
2、流程实例ID VS 消息相关性:基于状态的WFMS系统会在创建流程实例时为每个实例产生一个唯一ID标示。客户端可以通过引擎提供的相关API调用这个流程实例执行、停止、挂起。
BPEl则是用一组唯一标示的消息来确定要创建的流程实例是哪个,这个唯一标示的消息用correlation(相关性)包装起来,其中定义了消息的名称,消息个数,消息的类型。BPEL引擎会自定的匹配这组消息到一个流程定义的receive活动上,最后创建一个新的流程实例。
3、工作流引擎API VS 抽象服务端口:要执行一个XPDL的工作流文件必须要用工作流引擎提供的一组API去调用,以便管理控制、执行和访问流程实例。例如:启动一个流程实例必须要告诉流程定义的名称。
而BPEL则是做为一个服务暴露给外部调用,用的是面向服务(service oriented)的概念,例如调用一个bpel需要告诉激发bpel的消息相关性和业务伙伴是谁。相关性和业务伙伴分别是用WSDL描述的消息和服务,bpel内部调用的最终是一个Web Service。
相关文章推荐
- PB工程中三个主要的.reg文件的区别!
- println-printf-print三个输出的区别,主要介绍printf。
- 工作流与BPEL的区别
- Intel和AT&T语法的主要区别
- python中单,双引号和三个双引号的区别
- JavaScript里面三个等号和两个等号的区别
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- LayoutInflater中inflate方法两个参数和三个参数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- 信息技术课程与计算机课程最主要的区别是什么?
- BPM与工作流的本质区别!
- Linux上三个主要文件系统(EXT2、EXT3和ReiserFS)介绍--(上)
- 业务流程管理BPM和工作流workflow的联系和区别
- CPaintDC、CClientDC、CWindowDC和CMetaFileDC类的主要特点及区别
- JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
- python中单,双引号和三个双引号的区别
- 工作流与BPM之间的区别
- 转:Render RenderContents RenderControl 三个方法的区别
- java.io.File 中 getPath(), getAbsolutePath() 和 getCanonicalPath() 三个方法的区别
- js ==与===区别(两个等号与三个等号)