开发步骤
1.分析业务,建立流程定义 process definition(业务人员) rose ea活动图2.开发人员,根据活动图建立jpdl流程定义
3.开发人员或者管理员部署流程
4.开发人员编写处理流程的代码
5.用户1:发起流程实例 process Instance
6.用户2:审批流程
服务
RepositoryService 部署流程服务:提供对流程的部署、查询、删除和流程图查看等操作ExecutionService 流程执行服务:提供启动流程实例、推进、删除等操作
TaskService 人工任务服务:提供对任务的创建、提交、查询、保存、删除等操作
HistoryService 流程历史服务:提供对任务的管理操作,对流程历史库历史流程实例、历史活动等记录查询
ManagementService 流程管理服务:通常用来管理Jop(异步服务)
IdentityService 身份认证服务:提供对流程用户、用户组管理
变量
ProcessInstance 流程实例变量Task 任务变量
结论: A.ProcessInstance > Task 流程实例变量作用域大于任务变量
B.不同流程实例,不同任务的流程变量不能互相访问
EL表达式
1.语法结构:{expression}
2.[ ]与.运算符:“.“和“[ ]“两种运算符来存取数据。当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。例如:${ user. My-Name}应当改为${user["My-Name"]}
3.变量:存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
jPDL
jpdl(JBoss JBPM Process Definlition Language)是构建于JBPM框架上的流程语言之一,在jPDL中提供了任务(tasks)、待处理状态(wait states)、计时器(timers)、自动处理(automated actions)…等术语,并通过图形化的流程定义,很直观的描述业务流程。
节点
Start开始活动节点State状态活动节点
Decision判断活动节点
Fork-join分支活动节点
End结束活动节点
Task人工任务活动节点
Task任务分配属性的几种方式
Assignee 分配任务(根据id就可以拿到任务)(接收任务的人)Candidate-groups 给用户组候选任务,并不直接分配(作为任务接受候补人,接受任务)
AssignmentHandler 结合java代码动态分配任务
Swimlanes 泳道分配(如:申请人--->主管--->财务部),各个泳道只能做自己泳道内的任务
生活不仅有诗和远方,貌似还有代码!愿君天天开心!