`

流程控制应用JPBM

    博客分类:
  • J2EE
阅读更多
工作流(流程控制应用)
什么是工作流?
工作流是业务流程自动化。要素:任务(task),参与者(participant)
什么是工作流管理系统
要素:工作流的管理、工作流的调度执行、工作流引擎

工作流(系统)主要概念
流程定义:预先定义的业务流转逻辑
流程实例:业务的一次实际流转过程
参与者:任务的执行者
活动(任务):组成流程定义的节点
活动实例:组成流程实例的元素
流转:从一个节点到另一个节点这一行为
流转列表:当前需要办理的任务
工作流引擎:工作流的核心组件,对流程实例、任务实例以及状态进行管理

概念:ProcessDefinition
定义了流程的业务逻辑,包括业务节点和流转。是有向图结构。
<process-definition  name="MyRequest">
   <start-state name="SS_Request">
      <transition name="" to="TN_WriteRequest"></transition>
   </start-state>
   <task-node name="TN_BossDecide">
      <task name="Task_BossDecide">
         <assignment class="com.myrequest.task.BossDecideAssignmentHandler"></assignment>
      </task>
      <transition name="Tr_BossApprove" to="Join_Request">
      </transition>
   </task-node>
   <end-state name="end"/>
</process-definition>

概念:Actor
活动的参与者
JBPM目前只需要actor的ID
概念:Token
概念来自于petri网
是一个指针(运行期的概念),代表着一条执行路行径,指向当前流程中正在的节点
takens可能树结构,同一时刻,可能存在多个token,但是只有一个root taken
JBPM API:典型应用-流程定义操作
// 从 jbpm.cfg.xml 取得 jbpm 的配置 
		JbpmConfiguration config = JbpmConfiguration.getInstance(); 
		// 创建一个 jbpm 容器 
		JbpmContext jbpmContext = config.createJbpmContext(); 
		// 由 processdefinition.xml 生成相对应的流程定义类 ProcessDefinition 
		InputStream is = new FileInputStream("src/main/jpdl/simple/processdefinition.xml"); 
		ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(is); 
		// 利用容器的方法将流程定义数据部署到数据库上 
		jbpmContext.deployProcessDefinition(processDefinition); 
		// 关闭 jbpmContext 
		jbpmContext.close(); 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics