flowable-spring-boot-starter 和 flowable-ui 是 Flowable 项目中两个独立的模块/库。
详细说明:
-
flowable-spring-boot-starter:
-
定位 :这是 Flowable 工作流引擎的 Spring Boot 自动化配置核心依赖。它包含了 Flowable 的核心引擎功能(如 BPMN、CMMN、DMN 等),并提供了与 Spring Boot 的自动集成(自动创建数据库表、配置事务、提供默认的 ProcessEngine 等)。
-
包含的内容 :流程引擎、REST API、Java API、事件监听器等后端运行和集成所需的核心组件。
-
用途 :主要用于在你的 Spring Boot 应用中嵌入和运行工作流引擎,通过编程或 REST API 来驱动流程。
-
-
flowable-ui:
-
定位 :这是一个基于 Web 的图形化用户界面应用,用于设计、管理和监控流程。
-
包含的模块:通常包含 Modeler(流程设计器)、Task App(任务应用,处理用户任务)、Admin App(管理控制台)和 IDM App(身份管理)。
-
用途 :提供给业务人员、管理员和开发者一个可视化的工具,用于设计流程模型、启动流程实例、处理待办任务、查看报表和历史数据等。
-
部署方式 :它是一个独立的
.war文件,需要部署到 Servlet 容器(如 Tomcat)中,或者也可以通过 Docker 容器运行。它需要连接到你自己的 Flowable 引擎数据库。
-
典型使用场景:
-
仅需要引擎功能(最常见) :你只想在你的微服务或应用中通过代码驱动业务流程,不需要可视化的设计和管理界面。那么只需要引入
flowable-spring-boot-starter即可。 -
需要UI进行设计和监控:
-
在你的业务应用中引入
flowable-spring-boot-starter,部署并运行你的应用(引擎启动,操作数据库)。 -
额外单独部署
flowable-ui应用。 -
在
flowable-ui的配置中,将其数据库连接指向第一步中你的应用所使用的同一个数据库。 -
这样,
flowable-ui就能读取到你的流程定义、任务实例等数据,并提供可视化操作。
-
在 Maven 中的体现:
XML
<!-- 核心引擎 Starter(不包含UI) -->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</artifactId>
<version>6.8.0</version> <!-- 请使用最新稳定版本 -->
</dependency>
<!-- UI 是一个独立的应用,通常不作为依赖引入,而是单独部署 -->
<!-- 你可以从 Flowable 官网下载 flowable-ui 的 war 包 -->
总结:
-
flowable-spring-boot-starter= 引擎的心脏和肌肉(驱动业务) -
flowable-ui= 操作面板和仪表盘(给人看的、操作的)
它们是互补关系,但设计上是分离的,以满足不同的部署和架构需求(例如,在生产环境中,可能只部署引擎,而UI仅用于开发和测试环境)。