-
流程定义(ProcessDefinition)基于有向图对业务进行描述,图是由节点(活动)和转移(Transition)构成的,节点是有类型的,
节点的类型决定了到达该节点做的事情,不同的节点做的事情不一样,转移描述了一个流向或路径,转移表示了from … to ..的关系
- 任务节点(Task),当流程到达该节点将会创建任务实例(TaskInstance)分别分配给参与者,
如:商务主管审核流向单就是一个任务节点,当到达该节点就会创建流向单审核任务分配给商务主管,如:张三,然后张三登录系统,查看待审任务列表,就可以看到待处理的流向单审批任务了,之后可以就可以进行审批(只要有人参与活动,一般就使用任务节点,因为要分配给人处理)
- 态节点(State),这种节点处于等待状态,不会创建任务,除非外界系统进行干预才会执行,等待外部系统一个返回,根据这个返回决定下一步的流向
- 起始节点(Start),流程定义中必须有一个起始节点,而且只能有一个
- 结束节点(End),流程定义中可以没有结束节点,也可以有多个结束节点
- 决策节点(Decision),决策节点是由流程自动决策的,不需要人为干预,该节点相当于if…else
….决策节点可以嵌入java代码或使用脚本语言进行判断(如:可以取得分销商的级别,如果是一级分销商,那么就转移到项目会计审核流向单,否则就转移到
大区经理审核流向单)
- 分支节点(Fork),将一个路径可以分解为多个并发的子路径(并发任务),只有所有的子路径到达联合节点(Join),主路径才会继续执行
- 流程实例(ProcessInstance),流程实例就是流程定义的具体化,一个流程定义会有多个流程实例,如:如张三启动一个录入流向单的流程,录入流向单的这个流程就是一个流程实例,如:张三、李四、王五都录入流向单,那么系统中将会同时存在三个流程实例
- 流程变量(Process
variable),流程变量保存了上下文信息,流程变量采用Map结构存储,采用键值对的方式,流程变量是流程实例的一部分,流程变量的生命周期是随着
流程实例的消亡而消亡的,流程变量的值在此流程中的任何节点都可以读取和修改(和ThreadLocal类似)
- 信号(Singal),发送信号可以让节点离开,如:State节点,必须手动发送信号才可以离开
-
泳道(Swimlane),泳道是流程中的角色,如果建立了泳道可以方便分配任务,泳道可以使任务和参与者分离,任务直接依赖于泳道而不直接依赖于参与
者,所以当参与者发生改变不会影响到任务分配的,泳道可以包含多个参与者,但是只要有一个参与者处理完成任务,其他参与者待审任务列表中的任务将会消失,
不能处理任务了
- 事件(Event),当流程离开、到达某个节点或执行转移的时候,都会触发事件的
- JBPM4整个代码都重写了,和JBPM3不一样,引入了流程虚拟机(PVM)
- ProcessEngine是JBPM4的外观接口(facade模式,门面模式),从另一个角度看是一个抽象工厂模式,这个类是JBPM4的核心,所有的服务都需要通过ProcessEngine来创建,该类是线程安全的
15.JBPM4主要包括6个Service,这些Service都是通过ProcessEngine创建的,主要作用如下:
RepositoryService 主要和流程定义相关,如:部署流程、删除流程、查看流程
ExecutionService 和流程实例相关,启动流程
HistoryService JBPM4的数据库设计发生了改变,区分了历史表和当前表,主要适合于大量流程下的使 用,HistoryService主要是查询历史的
TaskService 和任务相关,取得个人任务,组任务,结束任务、一参与者的完整任务=个人任务(findPersonalTasks) + 组任务(findGroupTasks)
IdentityService 身份相关,创建用户、创建组、主要和我们组织机构整合时用的
ManagementService 管理定时任务的(job)
分享到:
相关推荐
了解了基本的工作流概念之后,接下来我们将介绍如何使用jBPM4进行工作流开发。 **1. jBPM4简介:** jBPM4是Red Hat公司开源的一款轻量级Java工作流引擎,它提供了一整套用于构建复杂业务流程的应用程序接口(API)...
【基于Java的jBPM4工作流引擎】是企业级业务流程管理的重要工具,它提供了一种灵活且可扩展的方式来定义、执行和管理工作流。jBPM4是jBPM系列的一个版本,专为Java开发者设计,允许他们构建复杂的业务流程,通过编排...
jBPM4.4工作流开发指南 ...jBPM4.4是一个功能强大且灵活的工作流引擎,本指南详细介绍了jBPM4.4的安装、部署、使用、开发和原理等方面的知识点。通过本指南,读者可以快速掌握jBPM4.4的使用和开发。
在这个"Jbpm工作流引擎使用例子"中,我们可以深入学习如何利用Jbpm进行流程的创建、流程实例的启动与管理,以及如何将其与Java、Hibernate等技术结合使用。以下是关于这些知识点的详细讲解: 1. **Jbpm工作流引擎**...
**JBPM工作流经典例子详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,用于管理和执行业务流程。它提供了强大的流程建模、执行和监控功能,且基于Java,具有良好的跨平台性和可...
通过"02_传智播客OA+工作流实战_工作流中的概念与JBPM相关API调用"这个文件,我们可以学习如何将这些概念应用于实际项目,例如搭建一个简单的办公自动化(OA)系统,结合JBPM API实现审批流程、任务流转等功能。...
标题提到的“工作流jbpm---学习文档+简单实例项目”是一份包含学习资料和实际操作案例的资源集合,旨在帮助开发者快速理解和掌握jbpm的使用。其中,"jBPM4.4课程文档.doc"很可能是关于jbpm 4.4版本的详细教程,涵盖...
通过阅读《JBPM工作流开发指南》,开发者可以逐步了解并掌握JBPM的各个方面,从而在实际项目中运用这些知识,构建高效、灵活的业务流程管理系统。无论是初学者还是经验丰富的开发者,都能从中受益,提升自己的技能...
### jBPM工作流应用开发指南核心知识点概览 #### 工作流基础与jBPM概述 **工作流管理思想之于企业现代化管理** 工作流管理思想是现代企业管理的重要组成部分,它强调流程的标准化、自动化和优化,旨在提高企业运营...
在jbpm工作流开发中,有以下几个关键知识点: 1. **流程定义**:jbpm使用BPMN(Business Process Modeling Notation)语言进行流程定义。BPMN是一种图形化的建模语言,用于描述企业的业务流程,包括开始事件、结束...
### JBPM工作流管理系统知识点详解 #### 一、基本流程概念与实例执行概念 JBPM(JBoss Business Process Management)是Red Hat旗下的一款开源工作流引擎,它支持BPMN 2.0标准,用于自动化业务流程。JBPM提供了...
JBPM4是一款基于Java的企业级工作流管理系统,它提供了一套完整的流程定义、执行和管理的解决方案。本资料主要涉及Java Web模块的学习,特别关注JBPM4的集成和配置。 **一、导入必要的包** 在开始使用JBPM4之前,...
### JBPM 4.4 工作流开发指南知识点总结 #### 一、概述 - **JBPM**:JBPM 是一个开源的工作流管理系统,它使用纯 Java 编写,可以方便地集成到 Java 应用中。JBPM 的设计目标是提供一个简单而强大的流程管理解决...
jbpm工作流可以帮助企业更高效地组织和自动化业务流程,提高工作效率,减少人为错误。 首先,jbpm4helloworld是jbpm入门的一个经典示例,通常用于引导初学者了解如何在实际项目中部署和运行一个简单的流程。在这个...
jBPM 是一款开源的、纯 Java 的、轻量级的工作流引擎,它支持多种可执行流程语言,为商业流程管理(BPM)提供了一个强大的平台。jBPM 可以在任何 JavaEE 应用服务器或配置了 JDBC 的 JVM 上运行。 #### 二、选择 ...
【jbpm4leave.zip_DEMO_java4leave_jbpm4lea_jbpm4leave_jbpm4leave.zi】是一个包含Java实现的Jbpm Demo的压缩包,它主要用于展示如何利用Jbpm来设计和执行一个简单的请假流程。这个Demo是针对开发者和对业务流程...
jBPM是一个开源的、纯Java的、轻量级的商业流程管理(Business Process Management, BPM)工作流引擎。它支持多种可执行流程语言,并且可以在任何JavaEE应用服务器或简单的配置了JDBC的JVM环境中运行。jBPM的核心...
JBPM4 是一个开源的工作流管理系统,用于处理业务流程自动化。它是Java平台上的一个轻量级、灵活的业务流程管理(BPM)框架,为组织提供了一种有效管理和控制业务流程的方法。对于初学者而言,深入理解JBPM4实例是...