資料內(nèi)容:
1、什么是工作流
工作流(Workflow),就是通過計算機對業(yè)務流程自動化執(zhí)行管理。它主要解決的是“使在多個參與者
之間按照某種預定義的規(guī)則自動進行傳遞文檔、信息或任務的過程,從而實現(xiàn)某個預期的業(yè)務目標,或
者促使此目標的實現(xiàn)”。通俗來講,就是業(yè)務上一個完整的審批流程。例如員工的請假,出差,外出采
購,合同審核等等,這些過程,都是一個工作流。
2、工作流引擎
對于工作流的處理,如果采用原始的方式,我們需要拿著各種文件到各個負責人那里去簽字,需要在多
個部門之間不斷審批,這種方式費時費力。而我們可以借助軟件系統(tǒng)來協(xié)助我們處理這些審批流程,這
樣就出現(xiàn)了工作流系統(tǒng),使用工作流系統(tǒng)后可以極大的提高工作效率。
在學習工作流的過程中,我們肯定看到過這個模型:填寫請假單->部門經(jīng)理審批->總經(jīng)理審批->人事備
案。
(1)要實現(xiàn)上述的流程,我們自己可以通過字段標識來實現(xiàn)這個審批效果,在業(yè)務表中加個字段,比如
填寫請假單用1標識,部門經(jīng)理用2標識,總經(jīng)理用3標識,人事備案用4標識,好像看起來沒啥問題,也
實現(xiàn)了審批效果??墒且坏┪覀兊牧鞒坛霈F(xiàn)了變化,這個時候我們就需要改動我們的代碼了,這顯然是
不可取的,那么有沒有專業(yè)的方式來實現(xiàn)工作流的管理呢?并且可以做到業(yè)務流程變化之后,我們的程
序可以不用改變,如果可以實現(xiàn)這樣的效果,那么我們的業(yè)務系統(tǒng)的適應能力就得到了極大提升。在這
樣的背景下,就出現(xiàn)了工作流引擎。
為什么使用工作流引擎,能實現(xiàn)業(yè)務流程改變,不用修改代碼,流程還能自動推進?
(1)我們先來說說為什么流程改變,不用修改代碼:我們的工作流引擎都實現(xiàn)了一個規(guī)范,這個規(guī)范要
求我們的流程管理與狀態(tài)字段無關(guān),始終都是讀取業(yè)務流程圖的下一個節(jié)點。當業(yè)務更新的時候我們只
需要更新業(yè)務流程圖就行了。這就實現(xiàn)了業(yè)務流程改變,不用修改代碼。
(2)再來說說流程自動推進,這個原理就更簡單了,就拿上面的請假模型來說,工作流引擎會用一張表
來記錄當前處在的節(jié)點。當填寫完請假單后肯定是要輪到部門經(jīng)理來審批了,所以我們一旦完成了請假
單填寫那么這條記錄將會被從這張表刪除掉,并且會把下一個節(jié)點部門經(jīng)理的信息插入到這張表中,當
我們用部門經(jīng)理的信息去這張表中查詢的時候就能查出部門經(jīng)理相關(guān)的審批的信息了,以此類推,這樣
層層遞進,就實現(xiàn)了流程的自動遞交了。
3、常見工作流引擎
主流的框架有:Activiti、jBPM、Camunda 、Flowable 、還有我們國產(chǎn)的盤古BPM、云程
4、Activiti7概述
4.1、Activiti介紹
activiti是一個工作流引擎,可以將業(yè)務系統(tǒng)中復雜的業(yè)務流程抽取出來,使用專門的建模語言BPMN進
行定義,業(yè)務流程按照預先定義的流程進行執(zhí)行。實現(xiàn)了系統(tǒng)的流程由activiti進行管理,減少業(yè)務系統(tǒng)
由于流程變更進行系統(tǒng)升級改造的工作流量,從而提高系統(tǒng)的健壯性,同時也減少了系統(tǒng)開發(fā)維護成
本。
官方網(wǎng)站:https://www.activiti.org
4.2、建模語言BPMN
BPM(Business Process Management)即業(yè)務流程管理,是一種規(guī)范化的構(gòu)造端到端的業(yè)務流程,以
持續(xù)提高組織業(yè)務效率
BPM 軟件就是根據(jù)企業(yè)中業(yè)務環(huán)境的變化,推進人與人之間、人與系統(tǒng)之間以及系統(tǒng)與系統(tǒng)之間的整理
及調(diào)整的經(jīng)營方法與解決方案的 IT 工具。使用 BPM 軟件對企業(yè)內(nèi)部及外部的業(yè)務流程的整個生命周期
進行建模、自動化、管理監(jiān)控和優(yōu)化,可以降低企業(yè)成本,提高利潤
BPMN(Business Process Model AndNotation)即業(yè)務流程模型和符號,是一套標準的業(yè)務流程建模
符號,使用 BPMN 提供的符號可以創(chuàng)建業(yè)務流程。Activit 就是使用 BPMN 進行流程建模、流程執(zhí)行管
理的
BPMN2.0 是業(yè)務流程建模符號 2.0 的縮寫,它由 Business Process Management Initiative 這個非營
利協(xié)會創(chuàng)建并不斷發(fā)展。BPMN2.0 是使用一些符號來明確業(yè)務流程設計流程圖的一套符號規(guī)范,能增進
業(yè)務建模時的溝通效率。目前 BPMN2.0 是最新的版本,它用于在 BPM 上下文中進行布局和可視化的溝
通
BPMN2.0 的基本符號主要包含:
事件 Event
開始:表示一個流程的開始
中間:發(fā)生的開始和結(jié)束事件之間,影響處理的流程
結(jié)束:表示該過程結(jié)束