jBPM4
常见概念
1.
流程定义
(Process Definition)
流程定义是记录在
xml
文件中的对流程的描述,它包含唯一的流程开始节点和多个流程功能节点,每个节点之间使用
transition
进行连接。
Process Definition
使用
id, key
和
version
进行标识,
jBPM
中可能包含多个
key
值相同的
Process Definition
,
key
值相同的
Process Definition
会拥有不同的
version
值,而
id
是使用
key-version
的形式用来表示唯一的
Process Definition
的。
jBPM
中使用
RepositoryService
来控制流程定义的发布,浏览,删除等操作。
2.
流程实例
(Process Instance)
以流程定义为蓝本生成的流程实例,在
jBPM
属于
Execution
的一种。
当我们执行
start
时,会根据流程定义启动一个新的流程实例,然后它会根据流程定义里的节点运行,在遇到
state
或
task
时停顿,等待外部用户调用
signal
,最后会执行到
end
节点,结束整个流程。
jBPM
中只允许有一个
start
节点,所以每个流程都是单一入口的,
jBPM4
中可以允许有多个
end
节点,所以我们可以在任意位置结束流程。
jBPM
中使用
ExecutionService
来控制流程实例的启动,浏览,执行,删除等操作
3. state
节点
状态结点是一个典型的等待状态。同任务结点不同的是,状态结点不会向任务列表添加任务实例。当业务进程需要等待外部系统的干预时,这种结点是很有用的。(需要外部系统干预,但又不是让人去干预)假设如下情况:在进入该结点时,通过
node-enter
事件向外部系统发送一个消息,然后结点进入等待状态;当外部系统完成处理,并回送一个消息,这将导致触发一个
signal()
方法的运行,该方法重新激活正在等待的流程继续下行
jBPM
中使用
ExecutionService
来控制对
state
的
signal
操作。
4. task
节点
任务结点(
task-node
)任务结点是代表由人介入的一个或多个任务。因此当流程运行到一个任务结点时,会生成
“
任务实例对象(
task instances
)
”
,并添加到参与人的任务列表中,之后结点会处于等待状态,直到参与人完成他们的任务,并激活流程继续向下执行。
task
节点可以使用
assignee, swimelane
等方式为任务定义分配到某个人或者某个组,对应的用户可以执行
completeTask()
结束任务,并控制任务结束后流程实例向哪个方向前进。
jBPM
中使用
TaskService
控制
task
的各项操作。
5. Identity
身份验证
jBPM
中的身份验证分为
User, Group
和
Membership
三部分,用户表示登陆用户,
Group
表示用户组,用户和用户组之间的关联关系保存在
Membership
中。
User
和
Group
与
Task
中的
assignee
和
swimelane
是息息相关的。
6.
事件
Event
反映的是流程执行中的各个时刻。在流程执行中
JBPM
引擎会在计算下一个状态的时候触发各种事件。一个事件通常和流程定义中的一个元素相关联,比如流程定义本身,节点或者转移。大部分的元素能够触发不同类型的事件,比如一个节点可以触发节点进入事件,节点离开事件。事件其实是和动作连接在一起的。每个事件维护一个动作列表。当
JBPM
引擎触发一个事件的时候,该事件维护的动作列表中的动作将被执行。
7.transition
关联两个节点,用于表示节点的走向
8.
常用类说明
ProcessEngine
:它是整个
jBPM4
的入口,并且是单例模式。通过它可以获取
processEngine
,并藉此获得工作流引擎所提供的各种服务
RepositoryService
:控制流程定义的发布,浏览,删除等操作
ExecutionService
:控制流程实例的启动,浏览,执行,删除等操作
IdentityService
:控制身份的各项操作
分享到:
相关推荐
jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍
\jbpm简介\jbpm简介\jbpm简介\jbpm简介\jbpm简介
jbpm jbpm4.3.jar DDDDDDDD
jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库
jbpm使用案例,非常不错,大家都来看看吧。
jbpm应用开发指面(胡奇) jbpm4.3表结构和表字段说明 [jBPM开发指南].高杰.文字版 jBPM5_用户手册-中文版
通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...
本文件从JBPM的原理、实现方法、实例等方面详细讲解了JBPM的原理,包括以下内容: 1、JBPM特色: 3 2、流程图的组成: 3 2.1流转 (TRANSITION) 3 2.2活动 (ACTIVITY) 3 3、所用到的表: 4 3.1资源库与运行时表结构:...
jbpm4源码jbpm4源码jbpm4源码
jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库jbpm创建数据库
JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS 希望对大家有帮助。
JBPM_MODULEDEFINITION JBPM_MODULEDEFINITION FK_MODDEF_PROCDEF PROCESSDEFINITION_ 一个流程可能处在很多的模块(模块概念不理解) JBPM_DELEGATION JBPM_DELEGATION FK_DELEGATION_PRCD PROCESSDEFINITION_ 一...
JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...
这段时间整理的jBPM-4.x常见问题以及解决方案,希望帮助对jBPM-4.x感兴趣的同学少走弯路.
JBPM开发指南JBPM开发指南JBPM开发指南
jBPM源码分析jBPM源码分析jBPM源码分析jBPM源码分析
jbpm学习资料,jBPM-jPDL学习笔记,很详细。。。。。。。。。。。jbpm教程
jBpm是一个灵活可扩展的工作流管理系统。作为jBpm运行时server输入的业务流程使用简单强大的语言表达并打包在流程档案中
jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版
JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z ...