一、工作流相關概念
- 工作流定義:
- 工作流是對工作流程及其各操作步驟之間業務規則的抽象、概括、描述。
- 工作流建模:
- 即將工作流程中的工作如何前後組織在一起的邏輯和規則,在計算中以恰當的模型進行表示並對其實施計算。
- 要解決的問題:
- 是爲了實現某個業務目標,利用計算機在多個參與者之間按某種預定規則自動傳遞文檔、信息或者任務。
- 工作流管理系統:WfMS【Workflow Management Systems】
- 是處理工作流的電腦軟件系統
- 主要功能是通過計算機技術的支持去定義、執行和管理工作流,協調工作流執行過程中工作之間以及羣體成員之間的信息交互。
- 工作流需要依靠工作流管理系統來實現的
- 計算機支持的協同工作:CSCW【Computer Supported Cooperative Work】
- 是普遍地研究一個羣體如何在計算機的幫助下實現協同工作的
- 工作流屬於計算機支持的協同工作(CSCW)的一部分
- 工作流管理聯盟:WFMC【WorkFlow Management Coalition】
- 工作流技術標準化的工業組織,成立於1993年8月
- 工作流管理聯盟發佈了用於工作管理系統之間相互操作的工作流參考模型,並相繼制定了一系列工業標準。
二、爲什麼需要工作流
- 產品需求遺漏,開發上線後需求經常改
- 業務代碼如此複雜,DDL【deadline截止日期】的時間緊急
- 時間流逝,文檔缺失,PM【Project Management項目管理】讓RD【Research and Development engineer研發工程師】刨代碼梳理流程
三、使用工作流的好處
- 流程對項目的好處:
- 可以快速響應、靈活調整線上流程。
- 業務和開發基於流程模型溝通,基於業務構建模塊快速部署
- 流程可視化,方便查看流程的運行進展
- 工作流對團隊的好處:
- 提供效率,減少等待
- 規範行爲,落實制度
- 協同內外,快速響應
- 監控全面,提升執行
四、BPMN2.0規範【全稱:Business Process Model And Notation】
-
發展歷史
- 2004年BPMI 組織發佈1.0版本,全稱Business Process Modeling Notation
- 2008年1月發佈 BPMN 1.1規範
- 2011年1月發佈BPMN2.0,全稱改爲 Business Process Model And Notation(業務流程模型和符號)
-
BPMN是什麼
- 定義了業務流程的符號以及模型,並且爲流程定義設定了轉換模式,同是定義流程描述文件語法。
-
BPMN規範的作用
- 爲了讓業務流程的全部參與人員對流程可以進行可視化管理,提供一套讓所有參與人員都易於理解的語言和標記, 爲業務流程的設計人員(非技 術人員)和流程的實現人員(技術人員) 建立起一座橋樑。
-
BPMN2.0元素
-
BPMN 中定義了 5 個基礎的元素類別。
- 流對象( Flow Objects ):在一個業務流程中,流對象是用於定義行爲的圖形元素, 主要有事件 (Events )、活動( Activities )和 網關( Gateways ) 三種流對象 。
- 數據( Data ):主要有數據對象( Data Objects )、數據輸入 ( Data Inputs )、數據輸 出( Data Inputs )和數據存儲( Data Stores) 4 種元素。
- 連接對象( Connecting Objects ):用於連接流對象, 主要有 4 種連接流對象的方式 , 包括順序流( Sequence Flows )、消息流( Message Flows )、 關聯( Associations )和 數據關聯( Data Associations )。
- 泳道( Swimlanes ):泳道提供了兩種途徑用於組織基礎的模型元素,分別是池( Pools) 和道( Lanes )。
- 製品(Artifacts ):製品主要用於爲流程提供附加信息, 當前製品包括組( Group )和 註釋( Text Annotation )。
-
BPMN對應的圖形
-
五、工作流的技術選型
- 主流工作流引擎
- Activiti
- Flowable
- jBPM
- Snaker
- ccflow
- 對比Activiti和jBPM
- Activiti6.0的優勢
- 老牌、成熟、穩定、滿足BPMN2.0規範。
- 用戶衆多、社區活躍、趨勢良好。
- 易於上手基於spring、mybatis常用互聯網技術堆棧。