業(yè)務流程建模:Java開發(fā)中使用Camunda BPM的實踐(java業(yè)務流程圖怎么畫)
業(yè)務流程建模:Java開發(fā)中使用Camunda BPM的實踐(java業(yè)務流程圖怎么畫)
在本文中,我將討論 Camunda 業(yè)務流程管理系統(tǒng)的關(guān)鍵組件。
今天給大家分享一下Camunda BPM在Java開發(fā)中的應用。在本文中,我將討論 Camunda 業(yè)務流程管理系統(tǒng)的關(guān)鍵組件。另外,我將展示系統(tǒng)的部署、建模和部署的一個簡單過程。
讓我們先了解一下術(shù)語,了解一下 BPM、BPMS 和 BPMN 是什么。
BPM(業(yè)務流程管理)
組織管理的概念,將業(yè)務流程視為企業(yè)的特殊資源,不斷適應不斷變化,并依賴于組織中業(yè)務流程的清晰度和可見性等原則,通過使用正式符號進行建模,使用軟件建模,業(yè)務流程的模擬、監(jiān)控和分析,參與者動態(tài)重建業(yè)務流程模型的可能性和軟件系統(tǒng)工具。
BPM 回答了執(zhí)行的地點、時間、原因、方式和內(nèi)容以及由誰處理執(zhí)行的問題。
BPMS(業(yè)務流程管理系統(tǒng))
提供 BPM 概念應用實施的軟件。BPMN(業(yè)務流程建模符號)— 業(yè)務流程的符號(圖形名稱系統(tǒng)及其 XML 格式的描述)。市場上有許多 BPMS,包括市場領(lǐng)導者——甲骨文和 IBM。從名字上看,這些系統(tǒng)功能強大、功能強大、價格昂貴,而且并不適合每個組織,其實施成本可以從 100,000 歐元及以上開始。只有大公司才能負擔得起實施這樣的系統(tǒng)。
小公司應該注意實施其他系統(tǒng),這樣成本會更低。
在具有民主價格或免費版本的外國供應商中,我會挑出 jBPM。
另一個免費的 BPM 系統(tǒng) Activity 是在 2013 年分叉的,并由此出現(xiàn)了被稱為太多的 Camunda BPM。
Camunda Services 是 Camunda BPM 的供應商,長期以來一直為組織提供業(yè)務流程管理方面的咨詢,但最終創(chuàng)建了自己的產(chǎn)品并開始積極開發(fā)它。網(wǎng)上對 Activity 和 Camunda 的比較有很多種,大多偏向后者,而且使用 Camunda 的公司名單也相當廣泛。
我們都明白,業(yè)務流程必須盡可能清晰。使用符號對流程進行建模(符號是圖形符號系統(tǒng)及其 XML 格式的描述)。有很多符號。
什么是卡蒙達 BPM?
實現(xiàn)BPMN(Business Process Model and Notation)、DMN(Decision Model and Notation)、CMMN(Case Management Model and Notation)標準的業(yè)務流程管理平臺。
社區(qū)版具有開源代碼和許可證 Apache-2.0。
它基于流行的 Java 編程語言的技術(shù)棧。它與 Spring/Spring Boot 集成。
DMN 是一個決策模型、一個輸入值表和結(jié)果輸出值。它在決策等任務中很有用。這將有助于決定是發(fā)放信用證還是開立賬戶。在這個表DMN中,你會發(fā)現(xiàn)很多輸入?yún)?shù)和輸出參數(shù),即result——是否發(fā)行信用。
Camunda BPM 組件(社區(qū))
讓我們檢查一下 Camunda 社區(qū)版的組件:
- Camunda Modeler 是一個跨平臺的 GUI 應用程序,業(yè)務分析師或流程架構(gòu)師可以在其中建模和編輯流程圖。
- 支持 BPMN 2.0、DMN 1.1 和 CMMN 1.1。這是一個獨立的跨平臺應用程序,具有圖形用戶界面,業(yè)務分析師或流程架構(gòu)師可以在其中繪制和編輯流程流程圖。
- Camunda Tasklist 是一個基于 Web 的應用程序,最終用戶可以在其中登錄、查看分配給他們的任務并執(zhí)行操作。
- Camunda Cockpit,一個 Web 應用程序,專為操作員或業(yè)務流程所有者而構(gòu)建,用于監(jiān)控和管理他們的業(yè)務流程
- Camunda Admin 是一個 Web 應用程序,一個系統(tǒng)管理員界面,用于管理角色、用戶、組等。
- Camunda BPM 系統(tǒng)的核心部分是引擎,它根據(jù)繪制的模式和符號 CMMN 等控制流程,將它們轉(zhuǎn)換為代碼,然后執(zhí)行它們。
- 請注意,引擎頂部有一個覆蓋層,它實現(xiàn)了 REST 或 Java API。REST/Java API 是系統(tǒng)的編程接口,提供與外部 (REST) 和內(nèi)部 (Java) 組件的交互。Rest API 非常廣泛和方便,允許您實現(xiàn)許多自定義應用程序。
Camunda BPM(企業(yè))組件
企業(yè)版——付費、合同、24/7 技術(shù)支持——在技術(shù)上優(yōu)于社區(qū)版。例如,Enterprise Cockpit——Camunda Cockpit 的擴展版本,它包含附加功能:流程描述的部署、流程實例的重啟、流程實例的高級搜索以及版本之間的流程實例遷移。
Camunda Optimize — 優(yōu)化和改進業(yè)務流程、瓶頸檢測、報告和流程熱圖,所有這些都有助于改進、優(yōu)化和現(xiàn)代化業(yè)務流程。
過程熱圖示例
熱圖顯示流程中任務的相對頻率。它有助于可視化結(jié)果并確定哪個區(qū)域加載更多以及可以卸載哪些資源/操作。
Camunda BPM 的部署方法
正如我之前所寫的,Camunda BPM 是在 Java 堆棧中編寫的,因此它有多種部署方式。第一個也是最簡單的是應用程序中的內(nèi)置庫。
第二種方法也適用于 Java 應用程序 — 應用程序服務器或 servlet 容器中的服務(“共享服務”),部署在容器中的其他應用程序可以使用。
第三種方法,如果應用程序不是用 Java 編寫的,則將 Camunda 部署為獨立服務器,應用程序?qū)⑼ㄟ^Rest API遠程聯(lián)系它。
第四種方式是高負載系統(tǒng)的集群部署,當有一個公共數(shù)據(jù)庫和多個節(jié)點與 Camunda。
Camunda 并不將自己定位為低代碼或無代碼系統(tǒng)。Camunda 將自己定位為一個系統(tǒng),在該系統(tǒng)中,業(yè)務、分析師和開發(fā)之間應該有一種合理的組合,一種共生關(guān)系。