`

JBPM工作流常见概念

    博客分类:
  • jbpm
阅读更多
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节点
state节点是等待节点,它必须等待用户执行signal才能让流程实例进行到下一步。

除了state之外,其他的节点都不需要用户执行signal就可以直接向下运行,感觉state就是一个异类,不清楚在xpdl里是如何定义这类节点的概念的。

jBPM中使用ExecutionService来控制对state的signal操作。

4. task节点
task节点是任务节点,可以使用assignee, swimelane等方式为任务定义分配到某个人或者某个组,对应的用户可以执行completeTask()结束任务,并控制任务结束后流程实例向哪个方向前进。

jBPM中使用TaskService控制task的各项操作。

14.5. Identity身份验证
jBPM中的身份验证分为User, Group和Membership三部分,用户表示登陆用户,Group表示用户组,用户和用户组之间的关联关系保存在Membership中。User和Group与Task中的assignee和swimelane是息息相关的。

jBPM中使用IdentityService控制身份的各项操作。

6.事件
   Event反映的是流程执行中的各个时刻。在流程执行中 JBPM引擎会在计算下一个状态的时候触发各种事件。一个事件通常和流程定义中的一个元素相关联,比如流程定义本身,节点或者转移。大部分的元素能够触发不同类型的事件,比如一个节点可以触发节点进入事件,节点离开事件。事件其实是和动作连接在一起的。每个事件维护一个动作列表。当JBPM引擎触发一个事件的时候,该事件维护的动作列表中的动作将被执行。

JBPM中事件类型是写死在事件类中的,共有16种:
EVENTTYPE_TRANSITION = "transition"; // 转移
EVENTTYPE_BEFORE_SIGNAL = "before-signal"; // 发信号前
EVENTTYPE_AFTER_SIGNAL = "after-signal"; // 发信号后
EVENTTYPE_PROCESS_START = "process-start"; // 处理开始状态
EVENTTYPE_PROCESS_END = "process-end"; // 处理结束状态
EVENTTYPE_NODE_ENTER = "node-enter"; // 进入节点
EVENTTYPE_NODE_LEAVE = "node-leave"; // 离开节点
EVENTTYPE_SUPERSTATE_ENTER = "superstate-enter"; // 进入超级状态
EVENTTYPE_SUPERSTATE_LEAVE = "superstate-leave"; // 离开超级状态
EVENTTYPE_SUBPROCESS_CREATED = "subprocess-created"; // 子流程创建
EVENTTYPE_SUBPROCESS_END = "subprocess-end"; // 子流程结束
EVENTTYPE_TASK_CREATE = "task-create"; // 任务创建
EVENTTYPE_TASK_ASSIGN = "task-assign"; // 任务分派
EVENTTYPE_TASK_START = "task-start"; // 任务启动
EVENTTYPE_TASK_END = "task-end"; // 任务结束
EVENTTYPE_TIMER = "timer"; // 定时器

7.transition
   关联两个节点,用于表示节点的走向

8.常用类说明
   ProcessEngine:它是整个jBPM4的入口,并且是单例模式。通过它可以获取processEngine,并藉此获得工作流引擎所提供的各种服务
   
   RepositoryService:控制流程定义的发布,浏览,删除等操作
   
   ExecutionService:控制流程实例的启动,浏览,执行,删除等操作

   IdentityService:控制身份的各项操作
分享到:
评论

相关推荐

    Spring与JBoss JBPM工作流集成开发指南

    Spring与JBoss JBPM工作流集成开发指南是关于JBPM与Spring框架集成的开发文档,涵盖了工作流的基本概念、设计要点、常见问题解答、参考资源等。下面是从该文件中生成的相关知识点: 一、工作流管理系统 工作流管理...

    jBPM工作流应用开发指南目录和个人笔记

    这个压缩包包含了jBPM工作流应用开发的关键资源,包括安装配置指南、完整的开发指南目录以及工作流基础知识,还有个人的学习笔记,是深入理解并实践jBPM的好资料。 首先,我们来看"安装和配置jBPM4.pdf"。这个文件...

    jbpm工作流开发 java workfow

    综上所述,jbpm工作流开发涉及流程建模、实例管理、任务处理、异常处理等多个方面,开发者需要熟练掌握这些概念和技能,才能有效地利用jbpm进行业务流程的自动化设计和实施。通过不断的学习和实践,可以提高对jbpm的...

    有关工作流jbpm概述(5)

    本文将深入探讨工作流的概念,jbpm的特点,以及它在实际业务场景中的应用。 首先,工作流起源于生产组织和办公自动化领域,旨在通过将工作分解、规则化和流程化,提升效率,降低成本。随着并行工程和敏捷制造的发展...

    jBPM4工作流应用开发指南

    《jBPM4工作流应用开发指南》是一本深度探讨工作流管理系统的专业书籍,尤其聚焦于jBPM4这一开源工作流引擎的使用与开发。工作流技术,作为企业管理信息化的重要工具,能够自动化和规范业务流程,提高企业效率。本书...

    jbpm工作流程的说明文档

    【jbpm工作流程详解】 jbpm,全称为Java Business Process Management,是一款开源的业务流程管理框架,专注于工作流和服务协作领域。jbpm以其灵活性和可扩展性,为开发者提供了执行流程语言,使得业务流程能够被...

    jbpm4.3常见问题解决

    接下来,"jBPM4常见概念.docx"文档将帮助我们理解jBPM的核心概念。这包括: 1. **流程定义(Process Definition)**:这是描述一个业务流程的模型,用BPMN(Business Process Model and Notation)语言编写,包含了...

    jbpm4jbpm5

    开发者可以通过指南学习到jbpm的核心概念,如流程定义语言(bpmn2.0)、工作流引擎的使用以及异常处理机制。 3. **jbpm5用户手册**: jBPM5_用户手册-中文版为开发者提供了jbpm5的详细操作指南,包括新特性和改进...

    完整工作流JBPM项目实战全过程教程2---项目详细讲解

    【标题】"完整工作流JBPM项目实战全过程教程2---项目详细...总之,这个教程是一个全面了解和掌握JBPM工作流管理系统的宝贵资源,涵盖了从基础概念到实际操作的多个层面,适合希望提升企业级业务流程管理能力的开发者。

    jBPM4.4开发指南

    常见的工作流框架包括 Jbpm、OSWorkflow、ActiveBPEL、YAWL 等。 #### 二、jBPM4.4介绍 **1. jBPM简介** jBPM 即 Java Business Process Management,是基于 Java 的业务流程管理系统。它是市面上相当流行的一款...

    jbpm jbpm3 jbpm4 用户和开发指南+教程+最佳实践全套

    "JBPM3.1Help(中文).chm"可能包含了关于jbpm3的安装步骤、API使用、工作流设计等方面的中文帮助文档,这对于初学者了解jbpm3的基础操作和核心概念非常有帮助。 "jbpm开发指南.pdf"可能是对jbpm4或更高版本的开发者...

    JBPM与Activity分析.doc

    FixFlow不仅支持常见的工作流功能,如加签、会签、回退等“中国式工作流”,而且提供了更为友好的用户界面和更完善的本地化支持。 #### 五、总结 综上所述,JBPM与Activiti各有千秋,在不同的应用场景下展现出不同...

    JBPM开发实战教程

    通过本教程的学习,读者可以全面了解JBPM的基本概念、安装配置过程以及如何基于JBPM开发实际项目中的工作流应用。无论是初学者还是有一定经验的开发者,都能够从中获得有价值的信息和技术指导。希望读者能够在实践中...

    jbpm流程图状态显示

    【jbpm流程图状态显示】是关于jbpm工作流管理系统中的一个重要话题,它涉及到如何在图形界面中实时呈现流程实例的状态。jbpm是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程。在jbpm中,流程图是...

    jbpm 下载链接资源

    在深入探讨JBPM及其下载资源之前,我们先来了解一下JBPM的基本概念以及它在工作流管理领域的地位。JBPM(JBoss Business Process Management)是Red Hat公司开发的一款开源业务流程管理(BPM)框架,主要应用于Java...

    Java实现工作流技术简介

    本篇文章将对Java实现工作流技术进行基础介绍,包括其基本概念、常见框架以及如何在Web环境中应用。 一、工作流基本概念 工作流(Workflow)是指一系列相互关联的任务,这些任务按照特定顺序执行,以完成一个明确的...

    java工程中使用Activiti工作流技术

    首先,我们需要理解工作流的基本概念。工作流(Workflow)是指在计算机环境中自动化执行的业务过程,它涉及文档、信息或任务在多个参与者间的传递,目的是实现预设的业务目标。工作流管理系统(WfMS)是支持这一过程...

    jbpm5环境配置、中文文档

    jbpm5是一款开源的工作流管理系统,它提供了强大的业务流程管理和工作流功能。在开始使用jbpm5之前,首先需要进行环境配置。以下是对jbpm5环境配置的详细步骤: 1. **Java环境安装**:jbpm5基于Java平台运行,所以...

    jbpm

    jbpm是一款开源的工作流和业务流程管理(BPM)框架,由JBoss公司开发并维护,现已成为Red Hat的一部分。它提供了一整套解决方案,包括工作流引擎、规则引擎、事件处理以及与各种应用系统的集成能力,为企业级应用...

Global site tag (gtag.js) - Google Analytics