分类: Java
2013-05-27 16:02:18
转载:http://blog.chinaunix.net/uid-7374279-id-3486040.html
1.1 流程定义
jbpm5提供了3个图形化设计器,其中两个是基于Eclipse的插件,一个是基于web的。
(1)Drools Flow的Eclipse插件
这个Eclipse插件允许用户创建、测试、调试BPMN2流程
(2)jBPM5 的Eclipse插件
这是一个用来全面支持BPMN2标准的Eclipse插件。现在还在开发中,仅支持有限的流程结构和属性,但是已经可以定义简单的BPMN2流程。
(3)基于web的Oryx Designer
Oryx Designer实现了基于web进行流程定义。这个设计器已经集成到Guvnor(Drools的一个子项目,可以将流程定义存储到其知识库中)。这个设计器可以用于创建、预览、更新BPMN2流程。
1.2部署
Guvnor可以作为一个知识库,用于存储流程、域模型以及业务规则。Guvnor提供了一个基于web的管理控制台,可以用该控制台检查、修改和测试存储于其中的“知识”。Oryx Designer已经集成到Guvnor的控制台中,Guvnor同时也支持用户协作,场景测试,分包管理。
1.3 执行
1.3.1 流程引擎
核心的引擎是一个Java实现的轻量级的工作量引擎:
(1)本地BPMN2 流程执行
(2)可插入式的持久化和事务处理
(3)审核及历史日志记录
(4)基于一个通用的流程引擎
该引擎当前还没有实现BPMN 2.0规范中所定义的所有节点类型和属性,但已经支持其中一个非常重要的子集,下表将列出当前已支持的元素:
(1)流程对象
1)事件
① 启动事件(无,有条件的,信号,消息,定时器)
② 结束事件(无,终止,错误,升级,信号,消息,补偿)
③ 中间捕捉事件(信号,定时器,条件,消息)
④ 中间抛出事件(无,信号,升级,消息,补偿)
⑤ 非中断边界事件(升级,定时器)
⑥ 中断边界事件(升级,错误,定时器,补偿)
2)活动
① 脚本任务(Java或MVEL表达式语言)
② 任务
③ 服务工作
④ 用户任务
⑤ 业务规则任务
⑥ 手动任务
⑦ 发送任务
⑧ 接收任务
⑨ 可重复使用的子流程(呼叫活动)
⑩ 嵌入式子流程
11 点对点子流程
12 数据对象
3)网关
发散:
① 独占(Java,MVEL或XPath表达式语言)
② 非独占(Java,MVEL或XPath表达式语言)
③ 并行
④ 基于事件
会聚:
① 独占
② 并行
4)线路
(2)数据
1)Java类型语言
2)流程属性
3)嵌入式子流程属性
4)活动属性
(3)连接对象
1)顺序流程