1. 程式人生 > 其它 >Camunda學習筆記(一)--Camunda簡介

Camunda學習筆記(一)--Camunda簡介

一.工作流介紹

1. 什麼是工作流

工作流(Workflow),是對工作流程及其各操作步驟之間業務規則的抽象、概括描述。

工作流將一套大的業務邏輯分解成業務邏輯段, 並統一控制這些業務邏輯段的執行條件,執行順序以及相互通訊,實現業務邏輯的分解和解耦。

做飯:

貸款審批:

2. 為什麼要使用工作流

在企業日常的管理中,經常會有出差申請、加班申請、請假申請等流程。

如果用人工的方式管理這些流程,效率低,管理成本高。

因此為了提高效率,我們需要使用到工作流開發。

3. 使用工作流有什麼好處

在工作流開發中,我們可以通過每一個流程定義清楚的看到業務的所有步驟,以及每一個流程例項執行到什麼位置,參與者是誰;

能夠節省更多的時間成本,提升企業資訊化水平。

二. 工作流引擎

1. Camunda介紹

Camunda是一種工作流引擎,是由Java開發的一個純Java庫。

工作流引擎是用來開發工作流的框架。

市面上主流的工作流引擎有Activiti、Flowable、Camunda等。

Activiti Activiti 由 Alfresco 公司開發,目前最高版本為 Activiti cloud 7.1.0。由於團隊分歧 ,在Activiti6版本衍生出了Flowable。 
Flowable Flowable是基於Activiti6衍生出來的版本,開發團隊也是Activiti中分裂出來的,修復了Activiti6中的bug,並再此基礎上實現的DMN、BPEL支援。 
Camunda Camunda是基於Activiti5的,最新版本是Camunda7.17,開發團隊也是從Activiti中分裂出來的,發展軌跡和Flowable相似。通過壓力測試驗證Camunda BPMN引擎效能和穩定性更好,功能完善;除了BPMN,Camunda還支援CMMN(案例管理)和DMN(決策自動化)。Camunda不僅帶有引擎,還有很多強大的工具,用於建模、任務管理、監控和使用者管理等。 

Camunda BPM(業務流程管理)平臺,用來管理,部署的流程定義、執行任務、策略等等。

下載安裝一個Camunda平臺,成功解壓 Camunda 平臺的發行版後,執行名為start.bat(對於 Windows 使用者)或start.sh(對於 Unix 使用者)的指令碼。此指令碼將啟動應用程式伺服器。

開啟您的 Web 瀏覽器並導航到http://localhost:8080/以訪問歡迎頁面,Camunda的管理平臺。

Camunda Modeler(用於編輯流程圖及其他模型)平臺,用來定義流程圖,簡單說就是一個畫圖工具。

下載 Modeler 後,只需將下載檔案解壓縮到您選擇的資料夾中。

成功解壓縮 zip 後,執行camunda-modeler.exe(對於 Windows 使用者)、camunda-modeler.app(對於 Mac 使用者)或camunda-modeler.sh(對於 Linux 使用者)。  

2. Camunda常用Api

RepositoryService

該服務提供了管理和操控流程部署和流程定義的操作方法。

(1)查詢流程引擎所知道的部署和流程定義。

(2)掛起、啟用流程定義。掛起意味著不能進行下一步的操作,而啟用則是反操作。

(3)獲取各種資源,比如部署種包含的檔案,或者引擎自動生成的流程圖等。

RuntimeService

處理已經啟動的流程例項,查詢流程例項和執行。

TaskService

需要被使用者或者系統執行的任務是流程引擎的核心,跟任務有關的資源都在這個服務中:

(1)查詢分配給使用者或組的任務。

(2)建立新的獨立任務。

(3)控制將任務分配給那個使用者,或者那些使用者,以及以何種方式參與到任務中。 認領並完成一個任務。認領是指某個使用者決定承擔某個任務。 

FormService

獲取表單相關的服務,可獲取啟動表單、審批表單,提交表單等操作。

HistoryService

獲取執行的歷史任務、歷史的審批記錄、引數、表單等資訊。