基于状态的工作流管理系统(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中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突