開源業務流程:jBPM

一、什么是 jBPM?

jBPM 是一個靈活的業務流程管理 (BPM) 套件。它不僅僅是一個流程引擎,而是一個集成了多種功能的平臺,旨在幫助企業建模、自動化和監控業務流程。jBPM 遵循業界標準,特別是 BPMN 2.0(業務流程模型和標記)用于流程建模,以及 DMN(決策模型和標記)用于決策管理。

1、核心組件和特性:

  1. BPMN 2.0 引擎: 這是 jBPM 的核心,負責執行業務流程定義。它是一個高性能、可擴展的引擎,能夠處理復雜的工作流場景,包括并行執行、條件分支、事件處理等。
  2. KIE Workbench (或 Business Central): 這是一個基于Web的集成開發環境和管理控制臺。業務分析師和開發者可以使用它來:
    • 圖形化地建模 BPMN 流程和 DMN 決策表。
    • 管理項目、版本控制(通常與 Git 集成)。
    • 部署流程定義。
    • 啟動和管理人力任務。
    • 監控流程實例的執行狀態、查看歷史數據、生成報告。
  3. 人力任務服務 (Human Task Service): jBPM 深度集成了對人力任務的支持,允許將需要人工參與的步驟建模到流程中。系統可以創建任務,分配給用戶或組,用戶可以通過任務列表界面完成任務,并驅動流程繼續。
  4. 規則引擎集成 (Drools): jBPM 與 Red Hat 的另一個知名開源項目 Drools 規則引擎緊密集成。這使得可以在業務流程中輕松地執行業務規則和決策邏輯,實現更智能的流程自動化。
  5. 事件處理: 支持基于事件的流程觸發和處理,可以集成外部事件源。
  6. 持久化: 支持將流程狀態、任務數據等持久化到數據庫中,保證流程的可靠執行。
  7. API 和集成: 提供豐富的 Java API 和 REST API,方便與其他系統進行集成或二次開發。
  8. 多種部署模式: 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 控制臺中的各種文本進行翻譯,確保用戶界面在中文環境下顯示正確。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80021.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80021.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80021.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA:使用 JMH 進行基準測試的技術指南

1、簡述 在性能優化中,寫高效代碼離不開準確的基準測試。而 Java 的 JIT 編譯器會對代碼進行優化(如方法內聯、死代碼消除等),導致簡單的測試方法可能得不到真實的性能數據。這時候,JMH(Java Microbenchmark Harness)就派上用場了。 JMH 是 Java 官方提供的基準測試框…

Thinkphp開發自適應職業學生證書查詢系統職業資格等級會員證書管理網站

環境:php7.2mysql5.7think偽靜態 1.上傳壓縮包到服務器解壓 2.還原數據庫 3.配置數據庫信息application/database.php 4.后臺:http://你的域名/abc.php 用戶:admin 密碼:123456 程序說明: 【修復版】Thinkphp5開發的自…

(二)毛子整潔架構(CQRS/Dapper/領域事件處理器/垂直切片)

文章目錄 項目地址一、Application 層1.1 定義CQRS的接口以及其他服務1. Command2. IQuery查詢3. 當前時間服務接口4. 郵件發送服務接口 1.2 ReserveBooking Command1. 處理傳入的參數2. ReserveBookingCommandHandler3. BookingReservedDomainEvent 1.3 Query使用Sql查詢1. 創…

詳解Redis

一.Redis的基本概念 首先,什么是Redis? Redis(Remote Dictionary Server)是一個開源的、高性能的鍵值對內存數據庫,常被用作緩存、消息隊列、分布式鎖等。 二.Redis的基本數據類型 1. 字符串(String&am…

智慧醫院的可視化變革:可視化工具助力數字化轉型

在科技飛速發展的當下,智慧醫院已從概念逐步落地,深刻改變著傳統醫療模式。它借助互聯網、數字孿生及人工智能等前沿技術,在醫療服務領域掀起革新,涵蓋面向醫務人員的“智慧醫療”、面向患者的“智慧服務”以及面向醫院的“智慧管…

Ubuntu Linux系統配置賬號無密碼sudo

在Linux系統中,配置無密碼sudo可以通過修改sudoers文件來實現。以下是具體的配置步驟 一、編輯sudoers文件 輸入sudo visudo命令來編輯sudo的配置文件。visudo是一個專門用于編輯sudoers文件的命令,它會在保存前檢查語法錯誤,從而防止可能的…

graphviz和dot繪制流程圖

graphviz和dot繪制流程圖 指令 1.寫后端需求文檔 2.用中文輸出結果 3.必須詳細全面 4.必須搭配相關流程圖step1:下載graphviz,https://graphviz.org/download/ step2:安裝,記得添加環境變量 step3:驗證是否安裝成功 dot --versio…

MongoDB常用操作示例

以下是基于 MongoDB Shell 的完整操作示例,覆蓋數據庫管理、集合操作、文檔處理、聚合分析、索引管理等核心功能,并結合實際場景說明。所有示例均結合搜索結果中的技術要點整理而成。 一、連接與配置管理 1. 啟動 MongoDB Shell 并連接實例 # 默認連接…

C++ 模板方法模式詳解與實例

模板方法模式概念? 模板方法模式(Template Method Pattern)屬于行為型設計模式,其核心思想是在一個抽象類中定義一個算法的骨架,而將一些步驟延遲到子類中實現。這樣可以使得子類在不改變算法結構的情況下,重新定義算法中的某些步驟。它通過繼承機制,實現代碼復用和行為…

MySQL基礎關鍵_012_事務

目 錄 一、概述 二、ACID 四大特性 三、MySQL 事務 四、事務隔離級別 1.說明 2.現象 (1)臟讀 (2)不可重復讀 (3)幻讀 3.查看隔離級別 4.設置隔離級別 5.隔離級別 (1)初始…

Hutool中的Pair類詳解

1. Pair類概述 Hutool工具庫中的Pair類是一個簡單的鍵值對數據結構,用于存儲兩個相關聯的對象。它類似于Map的Entry,但更加輕量級,適用于需要臨時存儲兩個相關聯數據的場景。 2. Pair類的主要特點 簡單輕量:不依賴復雜的數據結…

02-GBase 8s 事務型數據庫 客戶端工具dbaccess

dbaccess概述 數據庫產品通常會提供一個命令行客戶端工具。 數據庫廠商 命令行客戶端 Oracle sqlplus MySQL mysql Marladb mysql GBase 8s dbaccess Kingbase ES ksql DM8 disql dbaccess 是 GBase 8s 數…

手撕基于AMQP協議的簡易消息隊列-8(單元測試的編寫)

在MQTest中編寫模塊的單元測試 在MQTest中編寫makefile文件來編譯客戶端模塊 all:Test_FileHelper Test_Exchange Test_Queue Test_Binding Test_Message Test_VirtualHost Test_Route Test_Consumer Test_Channel Test_Connection Test_VirtualHost:Test_VirtualHost.cpp ..…

Spark 之 metrics

peak memory.//sql/core/src/main/scala/org/apache/spark/sql/execution/aggregate/HashAggregateExec.scala: “peakMemory” -> SQLMetrics.createSizeMetric(sparkContext, “peak memory”), .//sql/core/src/main/scala/org/apache/spark/sql/execution/SortExec.scal…

HTTP/HTTPS協議(請求響應模型、狀態碼)

目錄 HTTP/HTTPS協議簡介 HTTP協議 HTTPS協議 請求 - 響應模型 HTTP請求 (二)HTTP響應 HTTPS協議與HTTP協議在請求 - 響應模型中的區別 HTTP/HTTPS協議簡介 HTTP協議 定義 HTTP(HyperText Transfer Protocol)即超文本傳輸…

OpenHarmony 5.0 切換已連接過的wifi切換失敗

目錄 1.背景 2.流程分析 3.方案 1.背景 在OpenHarmony 5.0的設置中,輸入密碼進行wifi連接可以正常連接,然后多個已經連接過的wifi進行切換發現大概率切換失敗 2.流程分析 wifi連接過程其實是先進行斷開當前的wifi連接,然后再連接另一個wifi,如下: 雖然上述流程看起來沒…

【Ollama】docker離線部署Ollama+deepseek

因為要做項目,實驗室的服務器不聯網,所以只能先打包一個基礎的docker環境,然后再在實驗室的服務器上進行解壓和配置環境 參考:https://zhuanlan.zhihu.com/p/23377266873 1.打包基礎的docker環境 這里最好用有cuda的&#xff0c…

如何使用極狐GitLab 軟件包倉庫功能托管 terraform?

極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有: 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 Terraform 模塊庫 (BASIC ALL) 基礎設施倉庫和 Terraform 模塊倉庫合并到單個 Terraform 模塊倉庫功能引入于極狐GitLab 15.1…

【QT】深入理解 Qt 中的對象樹:機制、用途與最佳實踐

深入理解 Qt 中的對象樹:機制、用途與最佳實踐 在使用 Qt 編程時,你是否注意到很多對象可以設置“父對象”?比如: QPushButton* btn new QPushButton(parentWidget);這不是簡單的層級結構,而是 Qt 強大而優雅的 對象…

比較入站和出站防火墻規則

組織需要仔細配置防火墻規則,監控網絡的傳入和傳出流量,從而最大限度降低遭受攻擊的風險。在有效管理入站和出站防火墻規則前,了解入站與出站流量的區別至關重要。 一、什么是入站流量? 入站流量指的是并非源自網絡內部&#xf…