"Flowable流程引擎核心表分析及历史发展"

需积分: 0 48 下载量 60 浏览量 更新于2023-12-31 3 收藏 163KB DOCX 举报
flowable流程引擎是一个活跃的社区,经历了从jbpm到activiti,再到flowable的演化过程。它由同一个核心开发团队开发,这个团队出走原公司是因为设计理念不合。自从16年进行fork之后,flowable赢得了许多工作流引擎使用者的喜爱。 一、数据表分析 引擎所需的数据表可以在启动时进行生成,有以下规范: 1. 表名约定:所有的表都以act_开头,这是从activiti传统中沿用过来的。 2. act_ge_*:这些表是通用表,保存引擎自身的属性和字节数据/文件等。 3. act_re_*:这些表保存引擎相对"静态"的资源,例如流程定义与流程资源(图片、规则等)。 4. act_ru_*:这些表存储运行时信息,例如流程实例、用户任务、变量、作业等。Flowable只在流程实例运行中保存运行时数据,并在流程实例结束时删除记录,这样可以保证运行时表的大小和速度。 5. act_hi_*:这些表存储历史数据。 根据以上表的命名约定,我们可以看出flowable流程引擎对数据表的设计十分规范化和系统化。这种设计可以使开发人员更轻松地理解和操作数据表,也方便了对数据的管理和维护。 在act_ge_*表中,保存了引擎自身的属性和字节数据/文件等。这些数据对于引擎的运行至关重要,包括引擎的配置信息、流程定义的二进制数据等。通过act_ge_*表,我们可以方便地获取、修改和删除这些数据。 act_re_*表保存了引擎相对"静态"的资源,如流程定义与流程资源(图片、规则等)。这些资源可以在流程运行中被引擎加载和使用,通过act_re_*表,我们可以方便地获取和管理这些资源。 act_ru_*表存储了引擎的运行时信息,如流程实例、用户任务、变量、作业等。这些信息对于流程的运行和控制至关重要,通过act_ru_*表,我们可以实时地获取、更新和删除这些信息,以实现流程的动态调整和控制。 act_hi_*表主要存储了引擎的历史数据,包括已完成的流程实例、用户任务等的历史记录。通过act_hi_*表,我们可以方便地查询和分析流程的历史记录,以了解流程的执行情况和性能指标。 综上所述,flowable流程引擎的核心表设计规范化、系统化,并提供了丰富的数据访问和操作接口,使开发人员可以更轻松地管理和控制流程的运行。这些核心表的设计不仅能够满足引擎的运行需要,还能够方便地支持流程的配置、部署、运行和监控等功能。因此,flowable流程引擎在工作流引擎的领域中得到了广泛的应用和认可。