文档介绍:JBPM开发指南
目录
一、概述 4
二、第一个流程 5
、开始前的准备 5
、Hello World 例子 6
三、学习JPDL 11
、简介 11
、流程版本(Version) 11
、流程定义 12
process-definition(流程定义) 12
node(自动节点) 13
start-state(开始状态) 13
end-state(结束节点) 14
state(状态) 14
task-node (任务节点) 15
fork(分支) 16
join(联合) 17
decision(决策) 18
transition(转换) 19
event(事件) 20
action(动作) 20
script(脚本) 22
expression(表达式) 23
variable(变量) 23
handler(句柄) 23
timer(定时器) 24
create-timer(创建定时器) 25
cancel-timer(取消定时器) 26
task(任务) 26
swimlane(泳道) 27
assignment(委派) 28
controller(控制器) 29
process-state 子流程 29
sub-process 子流程 30
condition 条件 30
exception-handler 异常处理 31
小结 33
四、流程中任务的分配 37
assignment-handler方式的任务分配 38
swimlane方式的任务分配 39
五、JBPM持久化 42
特殊数据库支持 42
JBPM数据库的安装 42
JBPM流程发布 45
搭建JBPM的WEB应用 46
发布第一个流程 48
六、日历(Scheduler) 54
Scheduler在C/S程序上的应用 54
Scheduler 在Web上的应用 57
Scheduler时间的分类 60
七、异步执行 63
八、JBPM流程建模与应用 64
JBPM的建模工具 64
建模工具的安装 64
公司报销流程示例 67
流程建模 67
流程数据库搭建 76
构建业务表 79
搭建工程 82
报销流程的发布 83
应用程序搭建 84
九、写在最后 100
一、概述
JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。
二、第一个流程
、开始前的准备
JBPM的工程文件,大家可以到如下网站上去下载:ducts/jbpm ,本文就以此版本为例。在这里请大家下载jbpm-starters-kit-。在这个版本里包括一个JBPM流程设计器的Eclipse插件,和一个用JBOSS作为服务器的示例流程等相关文件。解压jbpm-starters-kit-,这里我们首先用到的是包里的JBPM目录下的文件。
JBPM目录里面是JBPM的Eclipse的工程文件,我们可以用Eclipse导入该工程。从Eclipse的File菜单里选择import——> Existing Projects into Workspace——>next…根据向导找到前面提到的JBPM目录就可以把该工程导入到Eclipse当中。如下图:
好了,接下来,我们就在这个工程的基础之上来开始我们的第一个流程。
、Hello World 例子
我们的第一个流程示例源自JBPM的reference。流程图如下:
JBPM的流程定义采用XML的方式(实际绝大多数的流程引擎的流程定义都采用的是这种方式),作为测试XML定义我们既可以写在代码当中,也可以以一个独立的XML文件的形式存在,接下来的例子我们将分别为大家介绍一下这两种情况。我们首先来看看把X