Activiti視頻分享

什麼是工作流

工作流介紹

工作流(Workflow),就是通過計算機對業務流程自動化執行管理。它主要解決的是“使在多個參與者之間按照某種預定義的規則自動進行傳遞文檔、信息或任務的過程,從而實現某個預期的業務目標,或者促使此目標的實現”。

工作流系統

一個軟件系統中具有工作流的功能,我們把它稱爲工作流系統,一個系統中工作流的功能是什麼?就是對系統的業務流程進行自動化管理,所以工作流是建立在業務流程的基礎上,所以一個軟件的系統核心根本上還是系統的業務流程,工作流只是協助進行業務流程管理。即使沒有工作流業務系統也可以開發運行,只不過有了工作流可以更好的管理業務流程,提高系統的可擴展性。

什麼是Activiti

Activiti介紹

Alfresco軟件在2010年5月17日宣佈Activiti業務流程管理(BPM)開源項目的正式啓動,其首席架構師由業務流程管理BPM的專家 Tom Baeyens擔任,Tom Baeyens就是原來jbpm的架構師,而jbpm是一個非常有名的工作流引擎,當然activiti也是一個工作流引擎。
Activiti是一個工作流引擎, activiti可以將業務系統中複雜的業務流程抽取出來,使用專門的建模語言(BPMN2.0)進行定義,業務系統按照預先定義的流程進行執行,實現了業務系統的業務流程由activiti進行管理,減少業務系統由於流程變更進行系統升級改造的工作量,從而提高系統的健壯性,同時也減少了系統開發維護成本。

Activit如何使用

  1. 部署activiti
    Activiti是一個工作流引擎(其實就是一堆jar包API),業務系統使用activiti來對系統的業務流程進行自動化管理,爲了方便業務系統訪問(操作)activiti的接口或功能,通常將activiti環境與業務系統的環境集成在一起。

  2. 流程定義
    使用activiti流程建模工具(activity-designer)定義業務流程(.bpmn文件) 。
    .bpmn文件就是業務流程定義文件,通過xml定義業務流程。

如果使用其它公司開發的工作作引擎一般都提供了可視化的建模工具(Process Designer)用於生成流程定義文件,建模工具操作直觀,一般都支持圖形化拖拽方式、多窗口的用戶界面、豐富的過程圖形元素、過程元素拷貝、粘貼、刪除等功能。

  1. 流程定義部署
    向activiti部署業務流程定義(.bpmn文件)。
    使用activiti提供的api向activiti中部署.bpmn文件(一般情況還需要一塊兒部署業務流程的圖片.png)

  2. 啓動一個流程實例(ProcessInstance)
    啓動一個流程實例表示開始一次業務流程的運行,比如員工請假流程部署完成,如果張三要請假就可以啓動一個流程實例,如果李四要請假也啓動一個流程實例,兩個流程的執行互相不影響,就好比定義一個java類,實例化兩個對象一樣,部署的流程就好比java類,啓動一個流程實例就好比new一個java對象。

  3. 用戶查詢待辦任務(Task)

因爲現在系統的業務流程已經交給activiti管理,通過activiti就可以查詢當前流程執行到哪了,當前用戶需要辦理什麼任務了,這些activiti幫我們管理了,而不像上邊需要我們在sql語句中的where條件中指定當前查詢的狀態值是多少。

  1. 用戶辦理任務
    用戶查詢待辦任務後,就可以辦理某個任務,如果這個任務辦理完成還需要其它用戶辦理,比如採購單創建後由部門經理審覈,這個過程也是由activiti幫我們完成了,不需要我們在代碼中硬編碼指定下一個任務辦理人了。

  2. 流程結束
    當任務辦理完成沒有下一個任務/結點了,這個流程實例就完成了。

視頻分享

Activiti視頻是傳智播客燕青老師2015年錄製的視頻,歡迎下載學習
鏈接:https://pan.baidu.com/s/17DF8aAYqRjx0qhONBysxlg
提取碼:vewz
講義:
鏈接:https://pan.baidu.com/s/1t4L_xnPqYkSsE1ZufkTsrw
提取碼:kab9

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章