Imixs-Workflow 工作流引擎

基于 BPMN 2.0 的开源工作流引擎,用于构建以人为中心的业务流程应用。

Star 数
★ 418
最近更新
4 天前
License
NOASSERTION
主语言
Java

30 秒速览

运行形态
代码库 / SDK自托管服务
可在哪里用
通用 · 跨平台
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
JDK 8+Maven 3.0.3+Jakarta EE 应用服务器(Wildfly、Payara、Open Liberty、Apache TomEE)Docker(可选,用于 Imixs Process Manager)Shell / 命令行网络访问本地文件系统
典型场景
企业 Java 团队需要把审批、请假、报销等以人为中心的流程从纸质或表格迁移到可编程引擎时,可用 Imixs-Workflow 建模并部署到现有 Jakarta EE 应用服务器。
不适合
  • 无法部署 Jakarta EE 应用服务器的团队
  • 希望用托管云服务一键运行、不自己运维的用户
  • 需要非 Java/Jakarta EE 技术栈内嵌工作流引擎的团队

这个 Agent 能做什么,适合哪些场景?

Imixs-Workflow 是一个开源工作流引擎,用于在灵活稳健的框架上构建以人为中心的流程应用,业务逻辑通过 BPMN 2.0 建模,由引擎执行。它基于 Jakarta EE 和 Eclipse MicroProfile 标准,可运行在 Wildfly、Payara、Open Liberty、Apache TomEE 等现代应用服务器上,并已完整支持 Jakarta EE 9(Jakarta EE 8 用户仍可使用 5.2 版本)。项目由多个组件构成:核心的 imixs-workflow-engine、提供 RESTful 接口的 imixs-workflow-jax-rs、基于 Lucene 的索引模块 imixs-workflow-index-lucene,以及建模工具 Imixs-BPMN、管理工具 Imixs-Admin、开箱即用的 Imixs Process Manager 与面向 Kubernetes/Docker-Swarm 的 Imixs-Microservice。你可以把它作为依赖库嵌入自有 Java 项目,也可以作为独立微服务部署,通过 RESTful API 管理人工任务与流程流转;构建方式为 Maven,产物发布在 Maven Central。它适合需要自托管、可编程、标准化的流程引擎的团队,而不是追求托管 SaaS 或非 Java 技术栈的场景。

引擎读取用 Imixs-BPMN(Eclipse 建模工具,基于 BPMN 2.0 标准)设计的流程模型并执行其中的任务流转:接收流程实例(workitem)与事件,按模型推进状态,并触发相应的业务逻辑。它以 Maven 工件形式提供,例如 org.imixs.workflow:imixs-workflow-engine、org.imixs.workflow:imixs-workflow-jax-rs、org.imixs.workflow:imixs-workflow-index-lucene,可通过依赖引入到自有项目;其中 jax-rs 模块暴露 RESTful API,使引擎可以作为独立微服务管理人工任务。索引模块基于 Lucene 提供流程数据的检索能力。配套的 Imixs-Admin 提供基于 Web 的远程管理,Imixs Process Manager 提供带通用用户界面的完整 BPM 套件与 Docker 镜像,Imixs-Microservice 提供面向 Kubernetes 或 Docker-Swarm 的完整服务栈。构建命令为 mvn install,产物发布在 Maven Central。

  1. 企业 Java 团队需要把审批、请假、报销等以人为中心的流程从纸质或表格迁移到可编程引擎时,可用 Imixs-Workflow 建模并部署到现有 Jakarta EE 应用服务器。
  2. 架构师希望在微服务架构中把工作流能力拆成独立服务,可通过 imixs-workflow-jax-rs 的 RESTful API 将引擎部署为专用微服务。
  3. 流程设计人员使用 Imixs-BPMN 在 Eclipse 中按 BPMN 2.0 标准绘制流程模型,交由引擎直接执行,无需另行开发流转代码。
  4. 运维人员使用 Imixs-Admin 远程管理运行中的工作流实例,或通过 Imixs Process Manager 的 Docker 镜像在本地或容器平台上快速启动开发、测试环境。
  5. 在 Kubernetes 或 Docker-Swarm 上部署的团队,可基于 Imixs-Microservice 项目搭建完整服务栈并对外提供流程服务。
  6. 需要在流程数据上进行检索的开发者,可引入 imixs-workflow-index-lucene 模块,用 Lucene 索引支撑查询需求。

如何安装或部署这个 Agent?

从源码构建需要 JDK 8+、Maven 3.0.3+ 以及一个 Jakarta EE 应用服务器。在仓库目录下执行:

mvn install

在自己的 Maven 项目中引入引擎、REST 接口与 Lucene 索引模块:

<dependencies>
  <dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-engine</artifactId>
    <version>${org.imixs.workflow.version}</version>
  </dependency>
  <dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-jax-rs</artifactId>
    <version>${org.imixs.workflow.version}</version>
  </dependency>
  <dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-index-lucene</artifactId>
    <version>${org.imixs.workflow.version}</version>
  </dependency>
</dependencies>

若想快速获得可运行环境,可下载 Imixs Process Manager 的 docker-compose 文件并启动:

docker-compose up

REST 服务的具体端点、鉴权方式与初始管理员凭据在 README 中未给出,需要查阅项目主页或对应模块文档。

如何使用这个 Agent?

按照 Imixs-BPMN 的 BPMN 2.0 模型定义流程后,将引擎以 Maven 依赖或独立微服务的形式部署,调用流程实例以推进任务。构建与依赖声明示例:

<dependency>
  <groupId>org.imixs.workflow</groupId>
  <artifactId>imixs-workflow-engine</artifactId>
  <version>${org.imixs.workflow.version}</version>
</dependency>

本地或容器环境可先启动 Process Manager 获得带通用界面的环境:

docker-compose up

随后通过 Imixs-Admin 远程管理实例,或经 imixs-workflow-jax-rs 提供的 RESTful API 集成到微服务架构。README 未列出具体 REST 路径与请求体格式,实际集成需参考各模块文档与示例。

这个 Agent 有哪些优点和局限?

优点
  • 以 BPMN 2.0 作为流程建模标准,模型可由 Imixs-BPMN 直接设计并由引擎执行,业务逻辑与代码解耦。
  • 基于 Jakarta EE 与 Eclipse MicroProfile 标准,可部署在 Wildfly、Payara、Open Liberty、Apache TomEE 等多种应用服务器上,不绑定单一厂商运行时。
  • 模块化程度高:引擎、REST 接口(imixs-workflow-jax-rs)、Lucene 索引分别作为独立 Maven 工件发布在 Maven Central。
  • 提供从建模、管理到微服务部署的完整配套:Imixs-BPMN、Imixs-Admin、Imixs Process Manager 与 Imixs-Microservice。
  • 采用 EPL 2.0(或 GPL-2.0-or-later)许可,可自由使用、修改与分发。
局限
  • 构建与运行依赖 JDK、Maven 以及 Jakarta EE 应用服务器,环境准备比单文件工具复杂。
  • Jakarta EE 9 与 Jakarta EE 8 之间存在版本分叉(EE 8 需使用 5.2 版本),升级时需评估兼容性。
  • README 未给出 REST 端点的具体路径、鉴权方式和初始凭据,首次集成需要额外查阅模块文档。
  • 核心栈为 Java/Jakarta EE,非 Java 技术栈的项目难以直接嵌入使用。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Imixs-Workflow 工作流引擎 当前 44 · 缺口较多 代码库 / SDK免费 ★ 418 4 天前 Java —
Budibase 52 · 缺口较多 自托管服务免费版 + 付费版 ★ 28k 今天 TypeScript —
Bubble Lab 58 · 缺口较多 网页应用免费版 + 付费版 ★ 1.1k 5 个月前 TypeScript —
ClickClickClick 23 · 缺口较多 命令行工具免费 + 模型费 ★ 714 6 个月前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
44/ 100 五分制 2.2 / 5
信任安全 7/29
可靠稳定 6/14
适用触发 9/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

least_privilege:仅 maven-publish.yml 显式声明 contents: read 与 packages: write,权限范围合理,但 codeql.yml 未声明 permissions,且仓库整体未提供权限模型说明,故仅给 1。user_confirmation:README 与工作流均未描述任何需要用户确认的破坏性操作或交互确认机制,给 0。data_flow_transparency:README 说明 RESTful API 与微服务集成,但未描述数据流向、日志或遥测,仅 1。sensitive_data_handling:未见任何关于凭据、个人数据或敏感字段处理的说明,给 0。dependency_security:存在 CodeQL 工作流与 SECURITY.md 中 Dependabot 更新流程,属于可验证的依赖安全实践,但未提供 SBOM 或锁定版本证据,给 2。external_effects:README 提到 Docker 部署与微服务,但未说明外部副作用边界,仅 1。rollback:未见任何回滚、恢复或迁移回退说明,给 0。source_attribution:README 与 LICENSE 标明 EPL-2.0 及项目主页,但发布者身份未经验证,归属信息有限,给 1。

可靠稳定6 / 14 · 2.1/5

self_consistency:README 中 Jakarta EE 9 支持、版本 5.2 仍受支持、构建命令与 SECURITY.md 的支持版本表基本一致,给 2。dependency_availability:README 给出 Maven Central 坐标与 JDK8+/Maven 3.0.3+ 前置条件,依赖来源明确,给 2。failure_messages:README、SECURITY.md 与工作流均未描述错误信息、诊断或故障提示机制,给 0。

适用触发9 / 18 · 2.5/5

audience_and_scenarios:README 明确面向 BPMN 2.0 人类工作流应用开发者,并列出 Wildfly、Payara、Open Liberty、TomEE 等场景,给 2。capability_boundaries:仅说明是工作流引擎与 REST API,未列出明确的能力边界或非目标,给 1。trigger_precision:工作流触发条件(push、pull_request、schedule、release)清晰,但 Agent 层面的触发语义未定义,给 1。environment_fit:README 给出 JDK、Maven、Jakarta EE 应用服务器与 Docker 环境要求,适配说明较完整,给 2。

规范维护10 / 18 · 2.8/5

information_architecture:README 按构建、BPMN、REST API、Admin、Process Manager、Microservice、License 分节,结构清晰,给 2。install_notes:提供 Maven 依赖片段、mvn install 命令与前置条件,安装说明充分,给 2。naming_stability:模块命名(imixs-workflow-engine、imixs-workflow-jax-rs、imixs-workflow-index-lucene)一致且稳定,给 2。examples_and_faq:仅有依赖示例与 docker-compose 提示,缺少 FAQ 与完整使用示例,给 1。known_limitations:SECURITY.md 列出不支持版本,但 README 未系统说明已知限制,给 1。license:LICENSE.md 完整给出 EPL-2.0 与 GPL-2.0-or-later 双许可全文及 SPDX 标识,给 3。versioning_changelog:README 提到 5.2 版本与 Jakarta EE 8/9 差异,但无 CHANGELOG 文件或版本历史,给 1。maintenance_responsibility:README 指向 issue tracker 与 discussions,SECURITY.md 给出漏洞报告路径,但未明确维护者角色与响应承诺,且发布者未经验证,给 1。

有效结果9 / 13 · 3.5/5

output_usability:作为工作流引擎,README 提供 Maven 坐标、构建命令与部署路径,输出可直接用于集成,给 2。marginal_value:提供 BPMN 2.0 引擎、REST API 与微服务集成,对目标场景有明确增量价值,给 2。cost_benefit:依赖 Jakarta EE 应用服务器,部署成本中等,但功能覆盖与开源许可使收益合理,给 2。

证据核验3 / 8 · 1.9/5

claim_traceability:README 声明 Jakarta EE 9 支持、版本 5.2 支持等,但未提供对应测试或发布证据链接,给 1。cross_source_corroboration:README、LICENSE.md、SECURITY.md 与工作流之间在许可、版本支持上部分互证,但缺少代码或测试佐证,给 1。fact_inference_separation:文档多为事实陈述,但未区分已验证事实与推断,给 1。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 发布者身份未经验证,不应据此推断可靠性或安全性。
  • 未发现任何用户确认、回滚或恢复机制,部署前需自行评估破坏性操作风险。
  • 缺少敏感数据处理与数据流透明度的说明,涉及个人或业务数据时需额外审查。
  • 依赖安全仅依赖 CodeQL 与 Dependabot,未提供 SBOM 或版本锁定证据。
  • README 中的 Jakarta EE 9 支持与版本支持声明缺少可追溯的测试或发布证据。
证据充分度:低 评估于 2026年9月29日 审查版本 acddae5a1dec
查看完整评分方法 →

常见问题

使用 Imixs-Workflow 需要付费吗?
不需要。项目以 Eclipse Public License v. 2.0 发布,文档说明也可以在 GPL-2.0-or-later 条款下使用、修改和分发。
它必须跑在特定厂商的应用服务器上吗?
不必须。README 列出 Wildfly、Payara、Open Liberty 和 Apache TomEE 等多种现代应用服务器,并说明其开放性使其能融入现代微服务架构。
支持哪个 Jakarta EE 版本?
完整支持 Jakarta EE 9,可运行在所有支持 Jakarta EE 9 的现代应用服务器上;如需 Jakarta EE 8,可使用仍受支持的 5.2 版本。
能不能不自己搭建环境,先快速试用?
可以。Imixs Process Manager 提供 Docker 镜像与 docker-compose 文件,执行 docker-compose up 即可在本地或容器环境启动带通用用户界面的流程管理套件。
如何把工作流能力接入已有的微服务系统?
可通过 imixs-workflow-jax-rs 提供的 RESTful API 将引擎部署为独立微服务;README 还指向 Imixs-Microservice 项目获取完整的服务栈方案。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents