Flowable 实战

Posted 多鱼的夏天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flowable 实战相关的知识,希望对你有一定的参考价值。

Flowable 是用 Java 编写的业务流程引擎。Flowable 项目提供了一组核心的开源业务流程引擎,这些引擎紧凑且高效。它们为开发人员、系统管理员和业务用户提供了一个工作流和业务流程管理(BPM)平台。在本 Chat 并了解如何利用 Flowable Java API 创建和部署示例业务流程。

  1. 什么是 Flowable
  2. 什么是业务流程
  3. 结合代码介绍 Flowable
  4. 以实际案例将 Flowable 集成到 Spring Boot 项目中并提供完整源码下载

适合对工作流引擎感兴趣的技术人员。

什么是 Flowable

Flowable 是用 Java 编写的轻量级业务流程引擎。Flowable 流程引擎允许您部署 BPMN 2.0 流程定义(定义流程的行业 XML 标准)、创建这些流程定义的流程实例、运行查询、访问活动的或历史的流程实例和相关数据等等。本节将通过示例逐步介绍各种概念和 api,您可以在自己的开发机器上使用这些示例。

Flowable 在将其添加到应用程序/服务/体系结构时非常灵活。您可以通过包含作为 jar 提供的 Flowable 库,将引擎嵌入到应用程序或服务中。由于它是一个 jar,您可以轻松地将其添加到任何 Java 环境中:JavaSE;servlet 容器,如 Tomcat 或 Jetty、Spring;JavaEE 服务器,如 JBoss 或 Websphere 等。或者,您可以使用 RESTAPI 通过 HTTP 进行通信。Flowable 应用也可以为处理流程和任务提供了一个现成的 UI。

什么是 BPMN

业务流程模型和符号(BPMN)是一种用于商业流程建模的知名建模标准。它经常创造,以帮助业务流程分析,业务流程改进或再造。BPMN 可视化从头到尾的业务流程,显示过程活动的顺序和参与者之间的信息流程。

了解 BPMN 图

在 BPMN 中,流程是使用带有一系列图形元素的图表来描述的。这样的可视化表示使用户很容易理解流程的逻辑。BPMN 主要用于设计和读取简单和复杂的业务流程图。

应该强调的是,BPMN 开发的驱动力之一是创建一个简单且易于理解的机制来创建业务流程模型,同时能够处理业务流程的复杂性。

BPMN 基本元素

  • Swimlane(泳道):泳道是表示流程参与者的图形化容器。泳道有两种:游泳池和泳道。
  • Flow Elements(流元素):流元素是连接形成业务工作流的元素。流元素是定义过程行为的主要元素。有三种流元素:事件,活动和网关。
  • Connecting Objects(连接对象):流对象不是孤立的,而是连接起来形成一个流。连接流对象的连接器称为连接对象。有四种连接对象:序列流、消息流、关联和数据关联。
  • Data(数据):数据主要是在执行业务流程时所需的信息或产生的信息。有四种数据:数据对象,数据输入,数据输出和数据存储。
  • Artifacts(工件):工件用于提供关于流程的附加信息。有两个标准化的工件,但是建模人员或建模工具可以根据需要自由地添加尽可能多的工件。当前的工件集包括:组和文本注释。

基本 BPMN 建模元素

  • Event:事件是发生并可能对业务流程产生影响的事情。 事件可以是外部的,也可以是内部的。只要它们能够影响正在建模的流程,就应该对它们进行建模。事件用圆圈表示。事件有三种类型:开始事件、中间事件和结束事件。可以为它们中的每一个指定触发器,以指示在什么条件下触发事件。
  • Activity:活动是一个通用术语,表示组织在流程中执行的工作。活动可以是原子的或非原子的。作为流程模型一部分的活动类型有:子流程和任务,它们是圆角矩形。活动在标准流程和编排中都被使用。
  • Gateway:网关用于控制流程和编排中序列流的发散和收敛。因此,它将决定路径的分支、分叉、合并和连接。内部标记将表明行为控制的类型。
  • Sequence Flow:序列流程用于显示活动将在过程中执行的顺序。
  • Message Flow:消息流用于显示准备发送和接收的两个参与者之间的消息流。在 BPMN 中,协作图中的两个单独的池将代表两个参与者。
  • Association:关联用于将信息和工件与 BPMN 图形元素链接起来。文本注释和其他工件可以与图形元素相关联。Association 上的一个箭头在适当的时候表示流的方向(例如数据)。
  • Pool:池是参与者在协作中的图形表示。
  • Lane:Lane 是进程(有时是池)中的一个子分区,它将垂直或水平地扩展整个进程的长度(参见 305 页)。车道是用来组织和分类活动的。
  • Data Object:数据对象提供有关要执行的活动和/或所产生的活动的信息,数据对象可以表示奇异对象或对象集合。数据输入和数据输出为进程提供相同的信息。
  • Group:组是同一类别内的图形元素的分组。这种类型的分组不会影响组内的序列流。类别名称作为组标签出现在关系图中。类别可以用于文档或分析目的。组是在图表中可视地显示对象类别的一种方式。
  • Text Annotation:释是建模人员为 BPMN 图的读者提供额外文本信息的一种机制。

点击这里阅读全文

以上是关于Flowable 实战的主要内容,如果未能解决你的问题,请参考以下文章

Flowable实战Flowable6.4.1自定义id生成

《Flowable流程引擎从零到壹》Flowable流程引擎介绍和实战项目初始化流程引擎实例

《Flowable流程引擎从零到壹》Flowable流程引擎介绍和实战项目初始化流程引擎实例

《Flowable流程引擎从零到壹》Flowable流程引擎介绍和实战项目初始化流程引擎实例

Flowable实战(五)表单和流程变量

工作流Flowable和Camunda的学习之路