调研 工作流比较表格
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作流系统关键技术
比较
2012/12/20
目录
工作流系统关键技术比较 (1)
2012/12/20 (1)
目录 (2)
一、消息驱动和事件驱动工作流的区别与应用 (4)
二、典型工作流过程定义语言规范的特点与应用 (5)
过程定义语言BPEL/BPMN2/XPDL/BPML/JDPL (5)
语言功能的比较 (5)
语言结构的比较 (6)
语言具体细节的比较 (7)
其他比较 (8)
三、典型工作流引擎的功能、结构比较 (12)
1.jBPM3 (12)
2.向BPMS努力的jBPM4 (13)
3.jBPM5 (15)
4. Activiti5 (16)
5.微软工作流 (19)
6.小结 (23)
四、基于Web服务的工作流管理系统 (23)
4.1概述 (23)
4.2基于Web服务的工作滚模型 (23)
4.2.1符合Web服务的工作模型 (24)
4.2.2基于Web服务的工作流管理系统 (25)
4.3 Web服务在工作流中的应用 (27)
4.3.1 Web服务作为工作流的任务 (27)
4.3.2作流作为Web服务的实现机制 (27)
一、消息驱动和事件驱动工作流的区别与应用
基于“消息驱动”和“事件驱动”的工作流都可应用于一个可行的分布工作流系统。
信息传递的分布工作流系统强调了每个节点的功能独立性,使得一个节点的失败只影响到与该结点有关的相应工作流实例或者某一个工作流步骤,从而将影响范围缩小到最小范围,使得系统构造方面有了更好的升级性和适用性,但是它没有提供事件的历史记录,所以该机制现在正在研究如何使用日志文件来管理工作流,并尝试用非连续性的消息驱动来提高性能。信息传递的分布工作流系统目前主要应用于金融支付系统、电子商务系统(如淘宝等)。
事件驱动的机制主要是开发了Brokers/Services模型和EVE平台,从而将分布式工作流的实行分为3步:首先由高层的图形界面提供工作流建模工具,然后由中层的Brokers/Services模型执行工作流,最后由底层的EVE平台提供分布式工作流的实行框架,主要负责事件管理、历史记录和工作流执行者之间的交流。B/S模型提供了一个较完善的语言定义机制,保证建模人可以了解工作流执行者的实际行为,组成工作流说明的工作流执行过程可以被正确定义,工作流执行过程的准确性得到保证,工作流执行完毕后的分析也成为可能。但是,对于活动的工作流或者正在运行的组成部件进行修改所带来的影响还没有得到很好的解决,这将是以后的研究方向。事件驱动的分布工作流系统主要应用于医疗保险信息系统、集装箱物流信息系统
发送流程消息
消息驱动模式
用户登陆系统后,向服务器端提交Http Request 请求,接受消息线程后初始化该用户的上下文环境,读消息线程到接受队列中检索属于该用户的消息,并反馈给用户,用户查看消息后可以进行消息处理(这里的消息其实就是用户的任务列表的描述)。当用户处理消息时,依据业务规则对消息进行处理,此时消息
接受队列将用户发送的消息,自动转发到消息管理池中去,等待消息轮询查找和调用。
二、典型工作流过程定义语言规范的特点与应用
过程定义语言BPEL/BPMN2/XPDL/BPML/JDPL
BPML 和XPDL 及BPEL4WS 都是基于XML 的过程定义语言, 它们提供了一个正式模型来表达企业商务过程中的可执行过程。
XPDL 是工作流管理联盟( The Workflow Management Coalition, WfMC) 基于XML 定义的XML 过程定义语言( XML Process Definition Language);
XPDL 构成了WfMC 工作流标准的Interface;
商业过程建模语言( Business Processes Modeling Language, BPML) 是BPMI 组织( The Business Process Management Initiative) 提出的一种新的过程定义语言, 用来全方位的描述企业商业过程中抽象的可执行过程, 其中包括基于Web Services 的某些特殊的领域。
Microsoft 的XLANG 和IBM 的WSFL 同样也是过程定义语言中的分支。
2002 年8 月, Microsoft/IBM 发布了一个新的规范: BPEL4WS, 它结合了XLANG 和WSFL。XLANG 和WSFL 共同构成了BPEL4WS( The Business Process Execution Language for Web Services)
语言功能的比较
XPDL、BPML 都基于XML 分别提出了一个用于表达企业商务(电子商务)过程的抽象模型, 这是一个工作流过程定义的元数据( metadata) 模型。在这个正式的模型中定义了各种复杂的活动、事务及事务补偿、数据管理、异常处理及操作等语义。基于元数据模型, 特定供应商的工具能够借助通用交换格式交换不同的异质系统中产生的工作流定义。由此提供了通用的方法描述和访问工作流定义, 并可以轻松实现不同的异质系统之间工作流定义互换的操作。
BPEL4WS 提供了一种XML 注释和语义, 用于指定基于Web Services 的业务流程行为。使用合作伙伴的交互方式, 定义业务流程。合作伙伴可以将服务提供给流程, 也可以向流程请求服务, 或者参与到流程的双向交互中。BPEL4WS 对每个服务分配了合作伙伴的责任, 同时指定了一组Web 服务操作的可能执行顺序、这些Web服务间共享的数据、业务流程涉及哪些伙伴以及这些伙伴在业务流程中扮演什么角色、一组Web 服务的共同异常处理以及关于多个服务和组织是怎样参与的等问题。
从语言的功能来看, BPML 和BPEL4WS 重点致力于Web Services 的定义,
反映在以下3 个方面:
(1) 活动类型明确划分为消息交换、事件处理、补偿校正、延迟指定等类型。
(2) 活动的属性支持实例的相关性、消息部分的抽取、服务实例的定位。
(3) 支持事务, 异常处理和补偿校正。
XPDL 则重点致力于分布式工作流的相关领域。这主要体现在以下两个方面: (1) 活动属性中明确规定了一项活动执行所需的资源。这是一个表达式, 在系
统运行时计算, 用以决定所需的资源。
(2) 活动属性中明确规定了完成一项活动所需的应用程序。
这表明XPDL 在语言层面上支持工作流程推进过程中的人工参与, 强调系统