没有合适的资源?快使用搜索试试~ 我知道了~
工作流引擎和过程定义语言的比较
5星 · 超过95%的资源 需积分: 49 15 下载量 144 浏览量
2012-12-21
14:46:01
上传
评论
收藏 1.19MB DOC 举报
温馨提示
试读
28页
各位不要怪我要得分高 这是我花一周时间辛辛苦苦自己整理的有各种引擎的比较还有各种定义语言之间的比较
资源推荐
资源详情
资源评论
工作流系统关键技术
比较
2012/12/20
目录
工作流系统关键技术比较.................................................................................................................1
2012/12/20...........................................................................................................................................1
目录.....................................................................................................................................................2
一、消息驱动和事件驱动工作流的区别与应用....................................................................2
二、 典型工作流过程定义语言规范的特点与应用...............................................................3
过程定义语言 BPEL/BPMN2/XPDL/BPML/JDPL.........................................................3
语言功能的比较.................................................................................................................4
语言结构的比较.................................................................................................................4
语言具体细节的比较.........................................................................................................5
其他比较.............................................................................................................................7
三、 典型工作流引擎的功能、结构比较.............................................................................10
1.jBPM3.........................................................................................................................10
2.向 BPMS 努力的 jBPM4............................................................................................12
3.jBPM5.........................................................................................................................14
4. Activiti5.........................................................................................................................15
5.微软工作流.................................................................................................................18
6.小结.............................................................................................................................22
四、 基于 Web 服务的工作流管理系统................................................................................22
4.1 概述.............................................................................................................................22
4.2 基于 Web 服务的工作滚模型....................................................................................23
4.2.1 符合 Web 服务的工作模型.....................................................................................23
4.2.2 基于 Web 服务的工作流管理系统.........................................................................24
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 Workow Management Coalition,
WfMC) 基 于 XML 定 义 的 XML 过 程 定 义 语 言 ( XML Process De'nition
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 在语言层面上支持工作流程推进过程中的人工参与, 强调系统
运行期间的人机交互活动。
语言结构的比较
BPML 被设计为一种块结构( block-structured) 语言。递归的块状结构
在作用域( scoping ) 概念中起关键作用。流程控制( 路由) 完全用块结构概念
进行处理( 例如: 顺序执行块中的所有活动) 。
XPDL 被设计成一种有向图结构( graph-structured) , 再添加了一些其它
的概念来处理块。作用域( scoping)体现在包( package) 和过程( process)
的层次上。过程( process) 定义不能嵌套。“ 路由”由活动( activities) 之间的
迁移来处理。一个过程中的活动可视为一个有向图中的节点 , 而迁移作为有向
图中的有向边。迁移条件在系统运行时决定下一步该执行的活动。
BPEL4WS 也是一种块结构的语言。允许定义递归的块, 但是限制在顶层
进行定义和声明。在一个块内, 有限支持有向图流程的概念。具体地说, BPEL
只有非循环图, 因此没有循环(loop) 。
BPML 在定义和声明中广泛使用块结构。复杂活动引用上下文关联的活动
集。在上下文中可以声明或重声明属性, 定义或重定义过程( 嵌套过程) 。这些
属性和过程被它们所在区域的上下文限制了作用域。具体包括: 错误处理, 事务
处理, 用于消息处理的连接器。由于活动集中可以有复杂的活动, 这样嵌套循环
得以实现。
XPDL 只允许在顶层定义过程, 因此没有嵌套的过程。由于工作流相关数据
同样在顶层定义, 或在一个过程中定义, 因此它被限制在这两层范围内。
BPEL4WS 不支持嵌套过程的定义。工作流相关 数据的等价物 : 容器
( container) 是全局数据。
XPDL 中的块活动( block activity ) 如同BPML 中的复杂活动。它有属性
可以指派复杂活动类型, 以及定义一个活动集上下文的信息。上下文中的data
'eld 声明, 可以起到BPML 中作用域的效果。为了实现嵌套过程,过程定义也需
要被包含进来。BPML 中有关复杂活动的很多特性在XPDL 中都可用块活动替
代。块活动通过引用活动集( 这种活动集没有向活动集外的迁移活动) 的名称来
执行活动集。BPML 定义的所有活动如果要转换为XPDL 的活动, 可简单地在
XPDL 活动集中引入一个起始活动和一个结束活动, 这里起始活动是一个与分支
( and split ) , 结束活动是一个与连接( and join) 。从起始活动到块内的其它
活动, 和从该块中的其它活动到结束活动之间有时可能需要一个迁移条件。因
此, 虽然XPDL 不似BPML 有嵌套过程, 但它包含的块活动和活动集可以灵活地
扩展实现现BPML 的复杂活动。
语言具体细节的比较
剩余27页未读,继续阅读
资源评论
- wujunpengwujunpeng2014-10-31资源网上很少,总结的还不错。只是还不够全。
- nanxi_gis2014-06-09对不同工作流引擎对比还是很详细的,具有一定的参考价值
小母虫
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 校园帮项目,毕业设计/课程设计/javaWeb/SSM
- C++ plotting library,matplotlib-cpp-master.zip
- 案例源码matplotlib-examples-master.zip
- 基于JavaScript 实现的KMP 算法
- 基于C++实现二叉树的创建,遍历,添加,查找与删除
- 基于C语言实现二叉树的基本操作
- 毕业设计基于STM32的测量温度与压力的数据处理设计C语言完整源码+论文.zip
- 基于MATLAB的PCA算法人脸识别项目源码+GUI界面+说明文档.zip
- 基于STM32的测量温度与压力的数据处理设计源码+论文(毕业设计).zip
- Vision Transformer 网络对不同氨气氧气浓度轨迹RAS 图像数据集的分类,包含训练权重和数据集、迁移学习
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功