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

日期: 2007-12-13 来源:TechTarget中国

  基于状态的工作流管理系统(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。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐