一、Flowable简介
Flowable是一个开源的工作流引擎,它的主要目标是提供一个灵活、可扩展、可靠的流程管理系统。Flowable通过提供一组API和工具,使组织能够自动化和管理其业务流程。
二、Flowable中的数据库
Flowable使用数据库来存储和管理其运行时的数据。这些数据库是动态创建的,可以根据流程定义和运行时的状态来调整。Flowable支持多种类型的数据库,包括关系型数据库(如MySQL、PostgreSQL、Oracle等),也可以自由扩展国产化数据库,如kingbase,参考https://blog.csdn.net/luansj/article/details/131519280。
生成数据库的sql分散在不同的jar中
三、自动生成的数据库的含义
'RE’表示流程定义和流程静态资源 (图片,规则,等等)。
'RU’表示流程实例,任务,变量,异步任务等运行中的数据。
'HI’表示历史数据,比如历史流程实例, 变量,任务等等。
GE 表示通用数据
6.5.0会生成80张表,各含义如下:
act_app_appdef 应用程序定义相关的流程定义。
act_app_databasechangelog 应用程序的数据库变更日志。
act_app_databasechangeloglock 应用程序的数据库变更锁定信息。
act_app_deployment 应用程序的部署信息。
act_app_deployment_resource 应用程序部署资源信息。
act_cmmn_casedef 案例定义相关的流程静态资源。
act_cmmn_databasechangelog 案例的数据库变更日志。
act_cmmn_databasechangeloglock 案例的数据库变更锁定信息。
act_cmmn_deployment 案例的部署信息。
act_cmmn_deployment_resource 案例部署资源信息。
act_cmmn_hi_case_inst 历史案例实例数据。
act_cmmn_hi_mil_inst 历史手动实例数据。
act_cmmn_hi_plan_item_inst 历史计划项目实例数据。
act_cmmn_ru_case_inst 运行中的案例实例数据。
act_cmmn_ru_mil_inst 运行中的手动实例数据。
act_cmmn_ru_plan_item_inst 运行中的计划项目实例数据。
act_cmmn_ru_sentry_part_inst 运行中的条件分支实例数据。
act_co_content_item 内容项相关的数据。
act_co_databasechangelog 数据库变更日志。
act_co_databasechangeloglock 数据库变更锁定信息。
act_dmn_databasechangelog DMN决策表的数据库变更日志。
act_dmn_databasechangeloglock DMN决策表的数据库变更锁定信息。
act_dmn_decision_table DMN决策表相关的流程静态资源。
act_dmn_deployment DMN决策表的部署信息。
act_dmn_deployment_resource DMN决策表部署资源信息。
act_dmn_hi_decision_execution DMN决策执行的历史数据。
act_evt_log 事件日志数据。
act_fo_databasechangelog 表单定义的数据库变更日志。
act_fo_databasechangeloglock 表单定义的数据库变更锁定信息。
act_fo_form_definition 表单定义相关的流程静态资源。
act_fo_form_deployment 表单定义的部署信息。
act_fo_form_instance 表单实例运行中的数据。
act_fo_form_resource 表单资源信息。
act_ge_bytearray: 通用数据中的二进制数组,表示流程定义或模型中的二进制数据,例如流程图或表单的二进制表示。
act_ge_property: 通用数据中的属性,表示流程定义或模型中的属性信息,例如流程定义的一些元数据或配置。
act_hi_actinst: 历史数据中的行动或任务实例,表示历史流程实例中的具体行动或任务实例的信息,例如执行的操作、任务的状态或完成情况等。
act_hi_attachment: 历史数据中的附件或文件,表示历史流程实例中的附件或文件信息,例如流程文档或相关文件的存储位置等。
act_hi_comment: 历史数据中的注释信息,表示历史流程实例中的注释信息,例如对特定步骤或操作的解释或说明。
act_hi_detail: 历史数据中的细节信息,表示历史流程实例的详细信息,例如操作的执行时间、执行者、异常信息等。
act_hi_entitylink: 历史数据中的实体链接信息,表示历史流程实例中的实体链接信息,例如不同实体之间的关联关系。
act_hi_identitylink: 历史数据中的身份链接信息,表示历史流程实例中的身份链接信息,例如用户或组与任务之间的关联关系。
act_hi_procinst: 历史数据中的流程实例,表示历史流程实例的信息,例如流程的启动时间、完成时间、状态等。
act_hi_taskinst: 历史数据中的任务实例,表示历史流程实例中的任务实例的信息,例如任务的名称、描述、状态等。
act_hi_tsk_log: 历史任务日志,表示任务执行过程中的详细信息,例如任务的执行时间、执行者、结果等。
act_hi_varinst: 历史数据中的变量实例,表示历史流程实例中的变量实例的信息,例如变量的名称、值等。
act_id_bytearray: 用户或组中的二进制数组,表示用户或组的二进制数据,例如用户头像或组的图标等。
act_id_group: 用户或组的信息,表示用户或组的详细信息,例如组的名称、描述等。
act_id_info: 用户或组的额外信息,包含其他与用户或组相关的信息,例如联系信息、地址等。
act_id_membership: 用户或组的成员关系信息,表示用户或组与其成员之间的关系信息,例如成员的名称、角色等。
act_id_priv: 用户或组的权限信息,包含与用户或组相关的权限信息,例如权限级别、访问控制等。
act_id_priv_mapping: 权限映射的信息,表示不同用户或组之间的权限映射关系,例如哪些用户或组具有哪些权限等。
act_id_property: 用户或组的属性信息,包含与用户或组相关的属性信息,例如创建时间、修改时间等。
act_id_token: 用户令牌的信息,包含与用户令牌相关的信息,例如令牌的生成时间、过期时间等。
act_id_user: 用户的信息,包含用户的详细信息,例如用户名、密码等。
act_procdef_info: 流程定义的信息,包含与流程定义相关的详细信息,例如流程的名称、版本、描述等。
act_re_deployment: 流程定义的部署信息,包含与流程定义部署相关的信息,例如部署时间、部署者、部署状态等。
act_re_ext: 流程定义的扩展信息,包含与流程定义相关的扩展信息,例如自定义的字段、查询条件等。
act_re_model: 流程定义的模型信息,包含与流程定义模型相关的信息,例如流程图的XML表示、流程实例的图形化展示等。
act_re_procdef: 流程定义的过程定义信息,包含与流程定义过程相关的信息,例如节点的定义、流程步骤的顺序等。
act_re_user_device: 用户设备的信息,包含与用户设备相关的信息,例如设备的唯一标识符、设备类型、设备状态等。
act_ru_actinst: 运行中的行动或任务实例,表示正在执行的操作或任务实例的状态信息,例如操作的执行状态、任务的完成情况等。
act_ru_deadletter_job: 运行中的死信队列任务,表示在消息传输过程中被丢弃的任务信息,例如任务的ID、执行时间、异常信息等。
act_ru_entitylink: 运行中的实体链接信息,表示正在执行的操作与实体之间的关联关系,例如操作的实体ID、操作的类型等。
act_ru_event_subscr: 运行中的事件订阅信息,包含与事件订阅相关的信息,例如事件类型、订阅者、订阅时间等。
act_ru_execution: 运行中的执行信息,表示正在执行的操作或任务的状态信息,例如操作的执行时间、执行者、异常信息等。
act_ru_history_job: 历史任务队列的任务信息,包含历史任务队列中任务的相关信息,例如任务的ID、执行时间、结果等。
act_ru_identitylink: 运行中的身份链接信息,表示正在执行的操作或任务与用户或组之间的关联关系,例如操作者的用户ID、操作者的角色等。
act_ru_job: 运行中的任务信息,表示正在执行的任务的详细信息,例如任务的名称、描述、状态等。
act_ru_suspended_job: 挂起任务的信息,表示挂起任务的状态信息,例如任务的ID、执行时间、异常信息等。
act_ru_task: 运行中的任务信息,表示正在执行的任务的详细信息,例如任务的名称、描述、状态等。
act_ru_timer_job: 计时器任务的信息,表示计时器任务的状态信息,例如任务的ID、执行时间、异常信息等。
act_ru_variable: 运行中的变量信息,表示正在执行的流程实例的变量值,例如变量的名称、值等。
flw_channel_definition: 工作流通道的定义信息,包含与工作流通道相关的定义信息,例如通道的类型、参数等。
flw_ev_databasechangelog: 数据库变更日志的事件信息,包含数据库变更日志的事件相关信息,例如事件的ID、类型、执行时间等。
flw_ev_databasechangeloglock: 数据库变更日志锁定事件的信息,包含数据库变更日志锁定事件的相关信息,例如锁定的ID、状态等。
flw_event_definition: 事件定义的信息,包含与事件相关的定义信息,例如事件的类型、触发条件等。
四、如何使用自动生成的数据库
在使用Flowable自动生成的数据库时,以下步骤:
-
定义流程:使用Flowable的BPMN 2.0 XML语法来定义我们的流程。这个流程将决定我们的数据库的结构。
-
启动流程实例:使用Flowable提供的API和工具来启动我们的流程实例。在启动流程实例时,Flowable将根据我们定义的流程和运行时的状态,动态创建和管理我们的数据库。
-
监控和管理数据库:虽然自动生成的数据库是由Flowable自动管理的,但我们仍然需要通过API和工具来监控和管理这些数据库,确保其正常运行。