一、什么是 jBPM?
jBPM 是一个灵活的业务流程管理 (BPM) 套件。它不仅仅是一个流程引擎,而是一个集成了多种功能的平台,旨在帮助企业建模、自动化和监控业务流程。jBPM 遵循业界标准,特别是 BPMN 2.0(业务流程模型和标记)用于流程建模,以及 DMN(决策模型和标记)用于决策管理。
1、核心组件和特性:
- BPMN 2.0 引擎: 这是 jBPM 的核心,负责执行业务流程定义。它是一个高性能、可扩展的引擎,能够处理复杂的工作流场景,包括并行执行、条件分支、事件处理等。
- KIE Workbench (或 Business Central): 这是一个基于Web的集成开发环境和管理控制台。业务分析师和开发者可以使用它来:
- 图形化地建模 BPMN 流程和 DMN 决策表。
- 管理项目、版本控制(通常与 Git 集成)。
- 部署流程定义。
- 启动和管理人力任务。
- 监控流程实例的执行状态、查看历史数据、生成报告。
- 人力任务服务 (Human Task Service): jBPM 深度集成了对人力任务的支持,允许将需要人工参与的步骤建模到流程中。系统可以创建任务,分配给用户或组,用户可以通过任务列表界面完成任务,并驱动流程继续。
- 规则引擎集成 (Drools): jBPM 与 Red Hat 的另一个知名开源项目 Drools 规则引擎紧密集成。这使得可以在业务流程中轻松地执行业务规则和决策逻辑,实现更智能的流程自动化。
- 事件处理: 支持基于事件的流程触发和处理,可以集成外部事件源。
- 持久化: 支持将流程状态、任务数据等持久化到数据库中,保证流程的可靠执行。
- API 和集成: 提供丰富的 Java API 和 REST API,方便与其他系统进行集成或二次开发。
- 多种部署模式: jBPM 可以作为独立的服务器运行,也可以嵌入到 Java 应用程序中(如 Spring Boot 应用),非常灵活。
2、起源与关系:
jBPM 最早由 JBoss 开发,后来 JBoss 被 Red Hat 收购,jBPM 成为 Red Hat 开源中间件家族的一部分。它是 Red Hat Business Automation 产品(包括 RHPAM)的基础。这意味着社区版的 jBPM 经过了企业级场景的考验,并且 Red Hat 的商业支持和企业版功能是基于这个开源核心构建的。
3、从用户角度看 jBPM:
- 优势:
- 功能全面: 它是一个完整的BPM套件,不只是一个引擎,提供了建模、执行、监控、任务管理、规则集成等一站式功能。
- 标准兼容: 严格遵循 BPMN 2.0 和 DMN 标准,这意味着流程定义具有互操作性。
- 企业级背景: 作为一个大型公司支持的开源项目,它在稳定性、可伸缩性和安全性方面通常表现良好,适合企业级应用。
- 强大的规则集成: 如果你的业务流程需要复杂的决策逻辑,jBPM 与 Drools 的集成是一个显著优势。
- 考虑因素:
- 复杂性: 作为一个功能全面的套件,jBPM 的整体架构和配置可能比一些轻量级引擎更复杂,特别是对于初次接触的用户。KIE Workbench 功能强大但也可能显得庞大。
- 资源消耗: KIE Workbench 或 standalone 服务器版本可能需要较多的系统资源。
- 社区版与商业版: 尽管开源版功能全面,但企业级的专业支持、更完善的高可用方案、某些高级管理工具和性能优化等通常需要通过 Red Hat 的商业产品获得。
总结:
jBPM 是一个功能强大的、遵循标准的开源 BPM 套件,非常适合需要全面 BPM 功能、规则集成以及考虑未来可能需要企业级支持的场景。关于其停止更新的说法是不准确的,它仍然是一个活跃且被维护的开源项目。选择 jBPM 意味着获得一个成熟、稳定且功能丰富的平台,但也需要投入相应的学习和配置成本。如果想清楚了,社区版的目的就是为了让体验,而不是用于生产。
二、使用Docker安装jBPM
1、运行命令
docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-server-full jboss/jbpm-server-full:latest
启动之后,默认的用户名和密码:
- wbadmin/wbadmin
- krisv/krisv
- john/john
- mary/mary
- katy/katy
- jack/jack
- kieserver/kieserver1!
2、访问地址
- Business Central - http://localhost:8080/business-central
- KIE Server - http://localhost:8080/kie-server/services/rest/server
- KIE Server Swagger docs - http://localhost:8080/kie-server/docs
- jBPM case management - http://localhost:8080/jbpm-casemgmt
3、Business Central
- 设计用户可以创建项目和页面的视角
- 部署用户可以管理执行服务器的视角
- 管理用户可以控制流程和案例实例的视角
- 跟踪用户可以访问分配的任务和报告的视角
4、安装发行版
如果要部署发行版,或者带有Demo的全功能版本,请一定要要先安装和配置好Java1.8(Java 8 SDK)和ANT 1.10.15,否则无法启动,特别是高版本的Java通常会导致失败。在下面目录可以看到,如果出现有.failed的文件就证明失败了,要安装正确Java和ANT,然后删除这个文件,重新部署。可参看此文档:jBPM Documentation
5、重要提示
jBPM 默认没有中文界面,不过可以通过修改其界面资源文件来支持中文显示,基本上有两种途径:
修改 jBPM 界面资源文件:可以修改 jBPM 的前端页面,尤其是界面中的文本,替换成中文。这通常涉及到调整 jBPM 提供的资源文件,可能需要修改 HTML 模板或者是与后端交互的部分。
创建中文语言包:如果熟悉 jBPM 的源代码,可以为其添加一个中文语言包。这通常包括对 jBPM 控制台中的各种文本进行翻译,确保用户界面在中文环境下显示正确。