快速开始
结构说明
如下简单介绍项目核心结构
|- db 数据库文件存放目录
|- flowlong-core 工作流核心库
|- flowlong-mybatis-plus 数据访问层,默认 MybatisPlus 当然你可以适配其它 ORM
|- flowlong-solon-plugin Solon 启动插件
|- flowlong-spring-boot-example SpringBoot 演示案例
|- flowlong-spring-boot-starter SpringBoot 启动插件
|- build.gradle Gradle 依赖管理
|- pom.xml Maven 依赖管理
本地开发
导入
idea
可选择Gradle
或Maven
方式管理依赖
git clone https://gitee.com/aizuda/flowlong.git
先跑一跑测试用例
初始化执行
db/flowlong-mysql.sql
数据库脚本找到
flowlong-spring-boot-starter
模块,目录test
部分java/test
找到
mysql
相关测试类Test...java
执行观察数据库中表数据变化
概念说明
飞龙工作流
Flowlong
是一个轻量级的开源业务流程引擎,旨在提供灵活、可扩展和高性能的业务流程管理解决方案。被广泛应用于各种领域,包括企业业务流程管理、工作流系统、在线服务流程管理等。 它提供了丰富的功能和灵活的架构,能够满足不同规模和复杂度的业务流程管理需求。
在
flowlong
中抛弃了传统BPMN
所包含的泳道
、网关
、连线
、补偿
、信号
、活动
、数据对象
等复杂的概念,也不采用xml
这种较重格式的标记语言作为模型设计, 模型化繁为简只有节点这么一个概念,节点分为条件节点
、任务节点
两种,其中任务节点包含审批任务
、定时器任务
、触发器任务
、子流程任务
等。要深入了解飞龙工作流,必须要清楚了解
模型
、实例
、任务
的区别,整个框架都在围绕这三个概念执行操作。
模型
流程模型是指对业务流程进行抽象和描述的模型。在业务流程管理中,流程模型用于描述业务流程的各个环节、活动和参与者之间的关系,以及它们之间的执行顺序和流转规则。
- 流程模型通常由以下几个要素组成:
流程图(Process Diagram):
流程图是流程模型的可视化表示,用于展示业务流程中各个环节的顺序和流程逻辑。
活动(Activity):
活动是流程模型中的基本单位,表示业务流程中的一个具体操作或任务,例如审批、通知、处理等。
参与者(Participant):
参与者是指参与业务流程执行的人员、角色或系统,他们执行流程中的活动并影响流程的执行结果。
提示!
流程模型的设计和优化是业务流程管理的关键环节,它可以帮助组织理清业务流程的逻辑、优化流程效率,并提高组织的管理和执行效果。
实例
流程实例是指根据流程模型启动的具体执行实体。在业务流程管理中,当一个业务流程被启动时,就会生成一个对应的流程实例,该实例代表了流程的一次具体执行过程, 包括流程中的各个活动、执行状态、参与者等信息。
- 流程实例通常包含以下关键信息:
流程定义:
流程实例基于某个特定的流程模型启动,因此它会引用流程模型的定义信息,包括流程图、活动、参与者等。
流程状态:
流程实例会记录当前流程的执行状态,包括流程已完成、流程进行中、流程中断等状态。
执行路径:
流程实例记录了流程执行过程中经过的活动和路径,包括各个活动的执行顺序和执行结果。
流程变量:
流程实例中可以包含流程执行过程中涉及的各种数据和信息,这些数据称为流程变量,可以在流程执行过程中传递和使用。
参与者信息:
流程实例记录了参与流程执行的人员、角色或系统信息,包括活动的负责人、执行者等。
提示!
流程实例的创建通常是由外部系统或用户发起的,根据流程模型的定义和启动条件,系统会自动创建对应的流程实例并将其提交到流程引擎进行执行。流程实例的执行过程中, 流程引擎会根据流程模型中定义的流程逻辑和规则,自动处理各个活动的执行顺序、流转条件等,直到流程执行完成或中断。 通过对流程实例的监控和管理,组织可以实时了解业务流程的执行情况,及时发现和解决问题,从而提高业务流程的效率和质量。
任务
流程任务是指在业务流程中需要由参与者完成的具体工作或操作。当一个业务流程启动后,流程中的各个活动通常会被划分为不同的任务,这些任务需要由相关的参与者负责执行。 流程任务是业务流程中的具体执行单元,它们代表了流程中需要进行的实际操作,可以是人工任务、自动任务或者服务任务等。
- 流程任务通常具有以下特点:
责任人指派:
每个流程任务都会被指派给特定的责任人或执行者,负责完成任务的执行。责任人可以是具体的人员、角色或者系统。
执行条件:
流程任务通常会有执行条件或触发条件,只有在满足条件的情况下才能执行任务。这些条件可以是时间条件、数据条件、前置任务完成等。
执行结果:
每个流程任务都有一个明确的执行结果,通常包括任务的完成状态、执行结果数据等。
任务流转:
流程任务之间可能存在流转关系,例如某个任务的完成可能触发下一个任务的开始。
任务通知和提醒:
系统通常会提供任务通知和提醒功能,及时通知责任人有新任务需要处理或者提醒任务的截止时间等。
提示!
流程任务是业务流程管理中的核心概念之一,通过对流程任务的定义、指派和执行监控,可以实现业务流程的自动化和优化,提高工作效率和质量。 流程任务的执行情况通常可以通过流程管理系统进行实时监控和跟踪,以便及时发现和解决问题。
提示!
如下问题还是无法解决您的疑惑,可以添加微信 wx153666
备注 flowlong
进入微信官方群交流。
Solon 为类似 SpringBoot 的国产 Web 开发框架,轻量简洁、感兴趣的小伙伴可以试试看!