所謂ERP系統(tǒng)工作流(workflow)就是一系列相互銜接、自動(dòng)進(jìn)行的業(yè)務(wù)活動(dòng)或任務(wù),是經(jīng)營過程的全部或部分自動(dòng)化。當(dāng)前工作流的研究與應(yīng)用在我國主要側(cè)重于工作流的實(shí)現(xiàn)技術(shù)。在動(dòng)態(tài)變化的國際市場競爭環(huán)境中缺乏隨機(jī)響應(yīng)能力,因此工作流的智能性和動(dòng)態(tài)性還有待提高。
因此,作者在對工作流過程元模型擴(kuò)展的基礎(chǔ)上,提出了一個(gè)智能動(dòng)態(tài)工作流模型(intelligent and dynamic workflow model,IDWFM)。該模型在工作流中引入可擴(kuò)展規(guī)則控制流程的智能動(dòng)態(tài)流轉(zhuǎn),并且提出一個(gè)獨(dú)立于工作流系統(tǒng)的流程規(guī)則協(xié)調(diào)器(flow-coordinator,F(xiàn)C)完成規(guī)則的解析。該協(xié)調(diào)器可以識別用戶輸入的信息,通過對輸入信息以及規(guī)則的解析實(shí)現(xiàn)流程的智能選擇以及動(dòng)態(tài)運(yùn)行。在FC的支持下,工作流管理系統(tǒng)的柔性和通用性也獲得了提高。最后,通過一個(gè)具體的實(shí)例說明了基于IDWFM開發(fā)的工作流管理系統(tǒng)的動(dòng)態(tài)性和智能性。
1 工作流過程元模型的擴(kuò)展
工作流管理聯(lián)盟(workflow management coalition)定義了一個(gè)工作流過程元模型,該模型通過活動(dòng)(activity)、轉(zhuǎn)移條件(transition conditions)、角色(role)、工作流相關(guān)數(shù)據(jù)(workflow relevant data)、被調(diào)應(yīng)用(infoked application)5類元素描述工作流的組成及邏輯關(guān)系。該模型適于描述具有標(biāo)準(zhǔn)、穩(wěn)定的流程輸入和輸出業(yè)務(wù),以利于業(yè)務(wù)過程能夠一致、準(zhǔn)確、高效、可靠地執(zhí)行。當(dāng)前工作流專注于業(yè)務(wù)流程的表示,工作流元模型不支持流程動(dòng)態(tài)生成以及智能流轉(zhuǎn)的描述。為此,對原有的工作流過程元模型進(jìn)行擴(kuò)展,并做相應(yīng)的變化,使得工作流中動(dòng)態(tài)因素在元模型中更好地描述。圖1為擴(kuò)展后的工作流過程元模型。
圖1 擴(kuò)展的工作流過程元模型
在圖1中,白色方框是工作流管理聯(lián)盟的過程定義元模型,陰影部分為新引入的元素,分別是可擴(kuò)展規(guī)則(extent rule)和規(guī)則引擎(rule engine)?蓴U(kuò)展規(guī)則主要包括路由規(guī)則、活動(dòng)屬性更改規(guī)則、自定義規(guī)則3種約束規(guī)則。這些規(guī)則是指流程運(yùn)行過程中動(dòng)態(tài)變化以及智能更改所必須遵守的約束條件。路由規(guī)則負(fù)責(zé)控制流程的走向;活動(dòng)屬性更改規(guī)則主要負(fù)責(zé)控制流程運(yùn)行過程中工作流活動(dòng)屬性變化;自定義規(guī)則是指工作流運(yùn)行中活動(dòng)參與者自己定義的規(guī)則,通過它工作流系統(tǒng)可以實(shí)現(xiàn)全部或部分環(huán)節(jié)的自動(dòng)運(yùn)行、智能流轉(zhuǎn);顒(dòng)參與者定義的規(guī)則包括上級定義的規(guī)則和用戶自已定義的規(guī)則,前者定義的規(guī)則優(yōu)先級高于后者。通過引入可擴(kuò)展規(guī)則后所得到的新模型可以更好地描述工作流中動(dòng)態(tài)變化的各個(gè)因素,實(shí)現(xiàn)工作流的動(dòng)態(tài)性以及智能性。
規(guī)則引擎主要負(fù)責(zé)對擴(kuò)展規(guī)則以及轉(zhuǎn)移條件進(jìn)行解釋分析,并把分析判斷的結(jié)果傳遞給工作流引擎。規(guī)則引擎根據(jù)需要調(diào)用流程規(guī)則并且對規(guī)則進(jìn)行分析判斷,根據(jù)分析的結(jié)果實(shí)現(xiàn)流程的動(dòng)態(tài)變化和智能流轉(zhuǎn)。
在工作流管理聯(lián)盟定義的工作流過程元模型的基礎(chǔ)上添加了可擴(kuò)展規(guī)則和規(guī)則引擎后,該模型可更好地描述流程中的各動(dòng)態(tài)因素,為建立業(yè)務(wù)流程提供充分的擴(kuò)展性;谔砑恿丝蓴U(kuò)展規(guī)則和規(guī)則引擎后元模型建立的工作流管理系統(tǒng)具有更強(qiáng)的動(dòng)態(tài)性以及智能性。
2 基于擴(kuò)展元模型的智能動(dòng)態(tài)工作流模型
2.1 智能動(dòng)態(tài)工作流模型形式化描述
智能動(dòng)態(tài)工作流模型的形式化描述如下。
定義1 IDWFM={V,D,A,E}。式中,V為工作流的版本號;D=為一個(gè)多元組,表示動(dòng)態(tài)工作流一般信息;A為流程中活動(dòng)的集合;E={T1,T2}為一個(gè)二元組,E為工作流中可擴(kuò)展規(guī)則的集合;T1等于{α1,α2,。..,αi-1,αi}為流程運(yùn)行中動(dòng)態(tài)變化活動(dòng)組成的集合,它可在流程實(shí)例運(yùn)行過程中被動(dòng)態(tài)的選定;T2={RR,RA,RP}是流程動(dòng)態(tài)變化規(guī)則的集合,式中,RR為路由規(guī)則,RA和RP分別為活動(dòng)屬性更改規(guī)則和自已定義規(guī)則。
定義2 αi={ID,Name,Tyi,Ri,ExA}為工作流活動(dòng)。式中ID為活動(dòng)的唯一標(biāo)志;Name為活動(dòng)名稱;Tyi∈{Start,End,General Activity,Routing Activity,Auto Activity}為活動(dòng)類型;ExA={N_Ai,V_Ai|i=1,2,。..,n}為活動(dòng)可擴(kuò)展的屬性集合,N_A為屬性的名稱,V_A為屬性的值。通過定義活動(dòng)中的可擴(kuò)展屬性就可以對活動(dòng)的屬性進(jìn)行有效的描述。這些屬性是動(dòng)態(tài)可擴(kuò)展的屬性值,是動(dòng)態(tài)可變的。當(dāng)Tyi=General Activity時(shí),Ri為空;當(dāng)Tyi=Routing Activity時(shí)Rule表示路由規(guī)則,當(dāng)Tyi=Routing Activity時(shí)Rule表示自定義規(guī)則。
定義3 e={ID,WFID,Name,Type,AF,AE}用于傳遞兩個(gè)業(yè)務(wù)活動(dòng)之間的數(shù)據(jù)信息和控制信息,是連接弧集合E的一個(gè)元素;式中,ID為連接弧的標(biāo)識;WFID為連接弧所屬流程ID;Name為連接弧的名稱;Type為連接弧的類型;Type∈{Static,Dynamic},Type=Static表示連接弧在建模時(shí)建立;Type=Dynamic表示連接弧在流程運(yùn)行時(shí)建立的是一個(gè)臨時(shí)連接;AF和AE分別為連接弧的源活動(dòng)和目標(biāo)活動(dòng)。
2.2 FC系統(tǒng)
傳統(tǒng)的ERP系統(tǒng)工作流產(chǎn)品提供一定的意見路由支持功能。但是它們存在著以下不足:①無法識別動(dòng)態(tài)意見,無法根據(jù)流程中的信息項(xiàng)實(shí)現(xiàn)流程的動(dòng)態(tài)變化、智能流轉(zhuǎn),并且這些只是提供了對意見路由的支持,功能比較單一。②傳統(tǒng)工作流中的路由解析由工作流引擎負(fù)責(zé),而且在建立模型的同時(shí),路由規(guī)則已經(jīng)固定好,無法實(shí)現(xiàn)規(guī)則的動(dòng)態(tài)變化,而且當(dāng)需求變化的時(shí)候,往往要對工作流模型做出調(diào)整。③規(guī)則的解析由工作流引擎負(fù)責(zé),從而加大了引擎的負(fù)擔(dān),而且解析器的設(shè)計(jì)比較固定不容易更改。
基于上述原因,本文中提出一個(gè)獨(dú)立于工作流系統(tǒng)的流程協(xié)調(diào)器(FC),F(xiàn)C系統(tǒng)獨(dú)立于工作流系統(tǒng),它與工作流系統(tǒng)共享同一個(gè)數(shù)據(jù)庫,并且通過本身提供的交互接口與工作流引擎進(jìn)行數(shù)據(jù)交換,結(jié)構(gòu)如圖2所示。
圖2 FC系統(tǒng)結(jié)構(gòu)
①規(guī)則設(shè)計(jì)器。規(guī)則設(shè)計(jì)器主要負(fù)責(zé)設(shè)計(jì)系統(tǒng)中用于約束、限制工作流動(dòng)態(tài)因素變化所必須遵守的規(guī)則。當(dāng)需求變化的時(shí)候,可以通過規(guī)則設(shè)計(jì)器修改規(guī)則達(dá)到對流程的設(shè)置,提高系統(tǒng)的柔性。
②意見字典設(shè)計(jì)器。業(yè)務(wù)主管簽署的意見必須是計(jì)算機(jī)可識別的規(guī)范化的意見,業(yè)務(wù)主管只能從這些規(guī)范意見中進(jìn)行選擇,而不能隨意地在意見欄內(nèi)填寫意見,從而“生產(chǎn)”出計(jì)算機(jī)無法識別的新意見。因此就必需建立意見字典,它用于存儲意見標(biāo)志和意見名稱。通過意見字典設(shè)計(jì)器,可以相機(jī)進(jìn)行添加意見以適應(yīng)不同審批系統(tǒng)的實(shí)際需求。意見字典包含動(dòng)態(tài)意見和路由意見兩種。
③路由規(guī)則引擎。路由規(guī)則引擎負(fù)責(zé)解析流程的規(guī)則。通過對流程規(guī)則的解析完成工作流動(dòng)態(tài)因素的動(dòng)態(tài)更改,包括:流程活動(dòng)屬性的動(dòng)態(tài)更改、動(dòng)態(tài)添加、刪除流程活動(dòng)。路由規(guī)則引擎通過交互接口完成與工作流引擎的數(shù)據(jù)交換。通過加入路由引擎可以大大降低工作流引擎負(fù)擔(dān),也降低了工作流引擎的復(fù)雜度。
④交互接口。交互接口負(fù)責(zé)與工作流引擎進(jìn)行數(shù)據(jù)的交換,它主要包括2個(gè)接口。
規(guī)則解析接口主要描述FC系統(tǒng)對工作流引擎提供的功能。其中Get Nexe Node Model ID函數(shù)主要是用于解析規(guī)則得到當(dāng)前流程下一個(gè)活動(dòng),輸入的參數(shù)分別為當(dāng)前活動(dòng)意見、流程模板ID、活動(dòng)模板ID;EditNode函數(shù)負(fù)責(zé)更改活動(dòng)屬性,輸入的參數(shù)依次為當(dāng)前活動(dòng)意見、流程模板ID、活動(dòng)模板ID;IsHaveRul函數(shù)判斷當(dāng)前活動(dòng)是否具有解析的規(guī)則,如果返回真則表示當(dāng)前活動(dòng)具有解析的規(guī)則調(diào)用上面兩個(gè)函數(shù),否則不調(diào)用路由規(guī)則引擎。
數(shù)據(jù)提取接口描述FC對外提供的數(shù)據(jù)獲取功能。其中,Getopinion函數(shù)主要是獲取意見列表,參數(shù)為流程模板ID.Getrul函數(shù)用來獲得某個(gè)活動(dòng)的規(guī)則,參數(shù)分別為流程模板ID和活動(dòng)模板ID。以上接口中的函數(shù)可以根據(jù)需要進(jìn)行擴(kuò)展。
2.3 智能動(dòng)態(tài)工作流模型體系結(jié)構(gòu)
智能動(dòng)態(tài)工作流模型結(jié)構(gòu)如圖3所示。
圖3 IDWFM結(jié)構(gòu)
該模型右半部分是工作流管理聯(lián)盟提出的工作流參考模型,左半部分是規(guī)則協(xié)調(diào)器。智能動(dòng)態(tài)工作流模型與傳統(tǒng)工作流模型的不同主要體現(xiàn)在任務(wù)表管理器工作流引擎,功能說明如下:
①任務(wù)表管理器。任務(wù)表管理器管理和維護(hù)任務(wù)表,引用規(guī)則協(xié)調(diào)器(即FC),提供用戶界面,讓用戶便捷地選擇意見。同時(shí)還可以自定義規(guī)則。用戶在執(zhí)行提交操作時(shí),任務(wù)表管理器將檢查用戶是否完成必要的任務(wù),是否簽署了必要的意見。通過引用FC接口判斷本結(jié)點(diǎn)是否具有解析規(guī)則。
②工作流引擎。工作流引擎通過FC系統(tǒng)的數(shù)據(jù)接口與其路由規(guī)則引擎進(jìn)行交互,工作流中的一部分功能將由路由規(guī)則引擎負(fù)責(zé)。工作流引擎接受到任務(wù)后將根據(jù)條件對任務(wù)進(jìn)行分配,如果當(dāng)前結(jié)點(diǎn)需要對工作任務(wù)進(jìn)行規(guī)則的解釋分析,則工作流會把該任務(wù)分配給路由規(guī)則引擎,并把意見傳送到規(guī)則協(xié)調(diào)器系統(tǒng),由規(guī)則協(xié)調(diào)器中的路由規(guī)則進(jìn)行解釋分析,解釋分析后把結(jié)果回送到工作流引擎,工作流引擎根據(jù)結(jié)果進(jìn)行任務(wù)的分配。這樣就實(shí)現(xiàn)了流程的智能流轉(zhuǎn)。
從圖3所示的模型看到,協(xié)調(diào)器系統(tǒng)與右半部分的工作流參考模型是相互獨(dú)立的,兩者之間通過數(shù)據(jù)接口相互聯(lián)系,因此當(dāng)同一個(gè)流程應(yīng)用于其他的部門時(shí),只需要通過協(xié)調(diào)器系統(tǒng)提供的設(shè)計(jì)器對意見字典和規(guī)則庫進(jìn)行更新,而不需要通過工作流系統(tǒng)進(jìn)行更改,這樣既可以非常便捷地實(shí)現(xiàn)工作流管理系統(tǒng)的移植,又提高了工作流管理系統(tǒng)的可移植性和通用性。
3 實(shí)例
FC系統(tǒng)的運(yùn)行過程是和工作流引擎交互的過程,通過FC系統(tǒng)提供的數(shù)據(jù)接口進(jìn)行數(shù)據(jù)的交換。本節(jié)以一個(gè)項(xiàng)目審批流程為例介紹流程動(dòng)態(tài)智能流轉(zhuǎn)的過程。圖4為一個(gè)審批流程的流程圖。
圖4 審批流程圖
該流程的關(guān)鍵路徑為:登記一崗位責(zé)任人審核一主管處長審核一局長審核一備案。而黨委擴(kuò)大會議為一個(gè)動(dòng)態(tài)活動(dòng),它是在流程運(yùn)行過程中動(dòng)態(tài)添加的。流程中主管處長審核環(huán)節(jié)的審批時(shí)限是動(dòng)態(tài)變化的。
假設(shè)審批輸入的信息項(xiàng)如下。
審批項(xiàng)目名稱:爆炸物品生產(chǎn)審批;生產(chǎn)產(chǎn)品:12#工業(yè)用炸藥,數(shù)量:12t;緊急程度:緊急;意見字典為:同意生產(chǎn)、不同意生產(chǎn)。
審批系統(tǒng)規(guī)則包括審批環(huán)節(jié)和審批規(guī)則,其中審批環(huán)節(jié)有崗位責(zé)任人審核和主管處長審核。對應(yīng)崗位責(zé)任人審核規(guī)則為:RP={1008,002,崗位責(zé)任人審核,上級指定規(guī)則,IF(超過時(shí)限流程自動(dòng)通過,審批意見為:同意生產(chǎn))}。對應(yīng)主管處長審核規(guī)則為RA={1009,IF(事項(xiàng)類型為緊急)THEN環(huán)節(jié)中時(shí)限更改為1天}。RR={1010,add,IF(意見為同意生產(chǎn)并且物品的數(shù)量》10t)THEN增加黨委擴(kuò)大會議,主管處長審核環(huán)節(jié))。
流程運(yùn)行過程如下。
①當(dāng)?shù)怯浫藛T登記完后,提交申請,工作流引擎首先調(diào)用RulExplain中的IsHaveRul函數(shù),函數(shù)返回false,這樣FC系統(tǒng)將不進(jìn)行工作,工作流引擎將負(fù)責(zé)解析流程模板,把任務(wù)發(fā)送給崗位責(zé)任人審核這個(gè)環(huán)節(jié)的任務(wù)處理人員。
②崗位責(zé)任人審核的處理人員得到任務(wù)后在任務(wù)處理界面進(jìn)行審批,根據(jù)信息處理人員選擇的意見為同意生產(chǎn)。如果在規(guī)定時(shí)限內(nèi)審批,審批的過程為:提交任務(wù)后工作流引擎同樣調(diào)用IsHaveRul函數(shù),返回值為true,因此工作流引擎通過調(diào)用EditNode函數(shù)把任務(wù)發(fā)送給FC系統(tǒng)的路由規(guī)則引擎,引擎根據(jù)規(guī)則對主管處長審核這一環(huán)節(jié)的屬性進(jìn)更改完成后函數(shù)返回值為true,并把結(jié)果送給工作流引擎,引擎得到返回結(jié)果后再次進(jìn)行任務(wù)的分配,把任務(wù)發(fā)送給下一個(gè)審批環(huán)節(jié)的處理人員。
③主管處長審核這一環(huán)節(jié)的處理人員得到任務(wù)后在規(guī)定的時(shí)限處理任務(wù),選擇同意生產(chǎn),這樣工作流引擎通過調(diào)用GetNexeNode函數(shù)把任務(wù)交給路由規(guī)則引擎進(jìn)行規(guī)則的解析,得到增加的審批環(huán)節(jié)的信息并把結(jié)果返回給工作流引擎,工作流引擎根據(jù)結(jié)果把任務(wù)發(fā)送給新增加審批環(huán)節(jié)的任務(wù)處理人員。這樣就完成了流程的智能動(dòng)態(tài)的變化。
以此類推,流程逐步運(yùn)行直到流程運(yùn)行到最后。
流程在運(yùn)行的過程中根據(jù)輸入的信息項(xiàng)和用戶輸入的意見進(jìn)行智能流轉(zhuǎn),自動(dòng)調(diào)整流程的路徑,實(shí)現(xiàn)了工作流的動(dòng)態(tài)性以及智能性。
4 結(jié)論
通過對原有的工作流過程元模型進(jìn)行擴(kuò)展,引入新的元素,提高了元模型在流程動(dòng)態(tài)性的描述。在該元模型的基礎(chǔ)上提出了IDWF模型,該模型通過FC系統(tǒng)對規(guī)則的解析實(shí)現(xiàn)了流程的動(dòng)態(tài)運(yùn)行以及智能流轉(zhuǎn)。此外引入FC系統(tǒng)的工作流管理系統(tǒng)具有很高的通用性和移植性。目前開發(fā)了基于IDWFM的動(dòng)態(tài)審批系統(tǒng)并應(yīng)用于某項(xiàng)目,具有很好的效果。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于擴(kuò)展元模型的智能動(dòng)態(tài)工作流建模方法
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401931608.html