本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其是一種工作流程創(chuàng)建方法、工作流設(shè)計器和工作流系統(tǒng)。
背景技術(shù):
工作流程是指工作事項的活動流向順序,包括實際工作過程中的工作環(huán)節(jié)、步驟和程序。在業(yè)務(wù)流程的傳統(tǒng)實現(xiàn)方式中,許多公司采用紙張表單、手工傳遞的方式,一級一級審批簽字,工作效率非常低下,對于統(tǒng)計報表功能則不能實現(xiàn)。
隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)的發(fā)展和普及,各類企業(yè)及個人信息化應(yīng)用層出不窮,工作流(WorkFlow)應(yīng)運而生。工作流就是工作流程的計算模型,即將工作流程中的工作如何前后組織在一起的邏輯和規(guī)則在計算機中以恰當?shù)哪P瓦M行表示并對其實施計算。工作流要解決的主要問題是:為實現(xiàn)某個業(yè)務(wù)目標,在多個參與者之間,利用計算機,按某種預(yù)定規(guī)則自動傳遞文檔、信息或者任務(wù)。采用工作流軟件,使用者只需在電腦上填寫有關(guān)表單,任務(wù)會按照定義好的流程自動往下進行,下一級審批者將會收到相關(guān)資料,并可以根據(jù)需要修改、跟蹤、管理、查詢、統(tǒng)計、打印等,相對于工作流程的傳統(tǒng)實現(xiàn)方式,大大提高了效率,實現(xiàn)了知識管理,提升了公司的核心競爭力。
然而,在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn):在現(xiàn)有的銷售等業(yè)務(wù)系統(tǒng)中,均通過硬編碼方式直接配置工作流程,由于工作流程是直接配置在業(yè)務(wù) 系統(tǒng)中的一套硬編碼,一旦配置完成,調(diào)整工作流程引起的業(yè)務(wù)變更量巨大。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例所要解決的一個技術(shù)問題是:提供一種工作流程創(chuàng)建方法、工作流設(shè)計器和工作流系統(tǒng),以提高工作流程的可配置性和復用性。
為解決上述技術(shù)問題,根據(jù)本發(fā)明實施例的一個方面,提供的一種工作流程創(chuàng)建方法,包括:
響應(yīng)于接收到業(yè)務(wù)系統(tǒng)發(fā)送的調(diào)用請求,啟動設(shè)計界面;
根據(jù)用戶指示,在設(shè)計界面上生成所述工作流程的流程圖,所述流程圖包括分別表示構(gòu)成工作流程的各節(jié)點的各節(jié)點圖標,所述節(jié)點圖標封裝有屬性參數(shù);所述屬性參數(shù)包括節(jié)點標識ID參數(shù)、節(jié)點類型與節(jié)點屬性;構(gòu)成工作流程的各節(jié)點預(yù)先設(shè)置在所述業(yè)務(wù)系統(tǒng)中,節(jié)點ID唯一標識一個節(jié)點;所述節(jié)點屬性包括業(yè)務(wù)模型或流轉(zhuǎn)條件,所述業(yè)務(wù)模型包括業(yè)務(wù)邏輯功能單元、任務(wù)的執(zhí)行角色與處理人員,所述流轉(zhuǎn)條件包括來源節(jié)點、去向節(jié)點和條件表達式;
獲取所述業(yè)務(wù)系統(tǒng)的系統(tǒng)ID;其中,系統(tǒng)ID唯一標識一個業(yè)務(wù)系統(tǒng);
獲取所述工作流程的流程ID;其中,流程ID唯一標識一個工作流程;
分別針對所述流程圖中的各節(jié)點圖標,從業(yè)務(wù)系統(tǒng)獲取節(jié)點圖標所表示的節(jié)點,將節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所表示節(jié)點的節(jié)點ID,并根據(jù)用戶指示對屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值。
在本發(fā)明工作流程創(chuàng)建方法的另一實施例中,所述節(jié)點類型的參數(shù)值包括:開始節(jié)點、結(jié)束節(jié)點、流轉(zhuǎn)條件節(jié)點、普通節(jié)點、分支節(jié)點或聚合節(jié)點;
節(jié)點類型的參數(shù)值為流轉(zhuǎn)條件節(jié)點、分支節(jié)點或聚合節(jié)點時,具體對節(jié)點屬性中的流轉(zhuǎn)條件配置參數(shù)值,配置的流轉(zhuǎn)條件的參數(shù)值具體為:來源節(jié) 點ID、去向節(jié)點ID和具體條件表達式;
所述節(jié)點類型值為開始節(jié)點、結(jié)束節(jié)點或普通節(jié)點時,具體對節(jié)點屬性中的業(yè)務(wù)模型配置參數(shù)值,配置的業(yè)務(wù)模型的參數(shù)值具體為:執(zhí)行角色ID與處理人員的用戶ID。
在本發(fā)明工作流程創(chuàng)建方法的另一實施例中,對節(jié)點類型配置參數(shù)值包括:
響應(yīng)于接收到將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點的配置請求,檢測構(gòu)成所述工作流程的各節(jié)點中,是否已有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點;
響應(yīng)于構(gòu)成所述工作流程的各節(jié)點中,沒有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點,將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點。
在本發(fā)明工作流程創(chuàng)建方法的另一實施例中,所述業(yè)務(wù)模型還包括任務(wù)分配策略;
對屬性參數(shù)中的任務(wù)分配策略配置參數(shù)值具體為:配置任務(wù)分配策略的類型。
在本發(fā)明工作流程創(chuàng)建方法的另一實施例中,所述任務(wù)分配策略的類型包括指派型、競爭型、動態(tài)會簽型或者平均分配型;
若配置任務(wù)分配策略的類型為指派型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色和處理人員均配置具體的參數(shù)值;
若配置任務(wù)分配策略的類型為競爭型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,僅針對執(zhí)行角色配置具體的參數(shù)值而不配置處理人員的參數(shù)值;
若配置任務(wù)分配策略的類型為動態(tài)會簽型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,配置處理人員的參數(shù)值為配置的執(zhí)行角色的參數(shù)值中任務(wù)執(zhí)行效率最高的處理人員;
若配置任務(wù)分配策略的類型為平均分配型,對節(jié)點屬性中的執(zhí)行角色和 處理人員的配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,將處理人員的參數(shù)值配置為配置的執(zhí)行角色的參數(shù)值中按照依次輪換方式確定的處理人員。
在本發(fā)明工作流程創(chuàng)建方法的另一實施例中,所述業(yè)務(wù)模型還包括回溯處理方式;
所述回溯處理方式的參數(shù)值包括:是否需要同一個處理人員處理回溯任務(wù)。
在本發(fā)明工作流程創(chuàng)建方法的另一實施例中,所述節(jié)點類型攜帶有節(jié)點類型參數(shù)值選項;對節(jié)點類型配置參數(shù)值包括:從節(jié)點類型參數(shù)值選項中選擇一個作為所述節(jié)點類型的參數(shù)值;
所述節(jié)點屬性攜帶有節(jié)點屬性參數(shù)值選項;對節(jié)點屬性配置參數(shù)值包括:從節(jié)點屬性參數(shù)值選項中選擇一個作為所述節(jié)點屬性的參數(shù)值。
在本發(fā)明工作流程創(chuàng)建方法的另一實施例中,還包括:
在工作流數(shù)據(jù)庫中通過流程信息表記錄所述工作流程的流程基礎(chǔ)信息,所述流程基礎(chǔ)信息包括所述系統(tǒng)ID與所述流程ID。
根據(jù)本發(fā)明實施例的另一個方面,提供的一種工作流設(shè)計器,包括:
接收單元,用于接收業(yè)務(wù)系統(tǒng)發(fā)送的消息;
設(shè)計界面,用于與用戶進行人機交互;
業(yè)務(wù)處理單元,用于在接收單元接收到業(yè)務(wù)系統(tǒng)發(fā)送的調(diào)用請求時,啟動設(shè)計界面;以及根據(jù)用戶指示,在設(shè)計界面上生成所述工作流程的流程圖,所述流程圖包括分別表示構(gòu)成工作流程的各節(jié)點的各節(jié)點圖標,所述節(jié)點圖標封裝有屬性參數(shù);所述屬性參數(shù)包括節(jié)點標識ID參數(shù)、節(jié)點類型與節(jié)點屬性;構(gòu)成工作流程的各節(jié)點預(yù)先設(shè)置在所述業(yè)務(wù)系統(tǒng)中,節(jié)點ID唯一標識一個節(jié)點;所述節(jié)點屬性包括業(yè)務(wù)模型或流轉(zhuǎn)條件,所述業(yè)務(wù)模型包括業(yè)務(wù)邏輯功能單元、任務(wù)的執(zhí)行角色與處理人員,所述流轉(zhuǎn)條件包括來源節(jié)點、去向節(jié)點和條件表達式;
第一獲取單元,用于獲取所述業(yè)務(wù)系統(tǒng)的系統(tǒng)ID;其中,系統(tǒng)ID唯一標識一個業(yè)務(wù)系統(tǒng);
第二獲取單元,用于獲取所述工作流程的流程ID;其中,流程ID唯一標識一個工作流程;
配置單元,用于分別針對所述流程圖中的各節(jié)點圖標,從業(yè)務(wù)系統(tǒng)獲取節(jié)點圖標所表示的節(jié)點,將節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所表示節(jié)點的節(jié)點ID,并根據(jù)用戶指示對屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值。
根據(jù)本發(fā)明實施例的又一個方面,提供的一種工作流系統(tǒng),包括工作流數(shù)據(jù)庫和本發(fā)明上述任一實施例所述的工作流設(shè)計器;
所述工作流數(shù)據(jù)庫用于存儲:
流程信息表,包括工作流程的流程基礎(chǔ)信息,所述流程基礎(chǔ)信息包括系統(tǒng)ID與流程ID;
節(jié)點信息表,包括構(gòu)成所述工作流程的各節(jié)點的節(jié)點基礎(chǔ)信息,所述節(jié)點基礎(chǔ)信息包括節(jié)點ID、節(jié)點所屬的工作流程的流程ID、節(jié)點類型的參數(shù)值和節(jié)點屬性的參數(shù)值;
流程實例表,包括所述流程ID所標識工作流程實例的流程實例信息,所述流程實例信息包括所述流程實例ID、所述流程ID、所述系統(tǒng)ID和流程實例狀態(tài),所述流程實例狀態(tài)包括未完成或已完成;
實例節(jié)點表,包括記錄工作流程實例中各節(jié)點的節(jié)點實例信息,所述節(jié)點實例信息包括所述流程實例ID、所述開始節(jié)點的節(jié)點ID、節(jié)點狀態(tài)、節(jié)點屬性的參數(shù)值;所述節(jié)點狀態(tài)包括:未激活、待處理、處理中或者完成。
基于本發(fā)明上述實施例的工作流程創(chuàng)建方法、工作流設(shè)計器和工作流系統(tǒng),可以實現(xiàn)一種創(chuàng)建工作流程的方法,可以在業(yè)務(wù)系統(tǒng)中預(yù)先設(shè)置構(gòu)成工作流程所需的各節(jié)點,然后再單獨對各節(jié)點的屬性參數(shù)配置參數(shù)值,即可生成工作流程。由于構(gòu)成工作流程所需的各節(jié)點是單獨設(shè)置的,且節(jié)點的設(shè)置 與其屬性參數(shù)的配置是獨立的過程,生成工作流程后,若某個節(jié)點需要變更功能,僅對單個節(jié)點進行修改即可;若需要增加、刪除或修改節(jié)點,僅需對相關(guān)配置參數(shù)修改即可,操作簡單、易于實現(xiàn),而無需完整的重新配置一套工作流程,與現(xiàn)有技術(shù)通過硬編碼方式直接配置工作流程的方式相比,提高了工作流程的可配置性和復用性;并且,實現(xiàn)該方法的工作流設(shè)計器與業(yè)務(wù)系統(tǒng)解耦合,可用于對所有業(yè)務(wù)系統(tǒng)工作流程提供通用性的配置服務(wù)。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
附圖說明
構(gòu)成說明書的一部分的附圖描述了本發(fā)明的實施例,并且連同描述一起用于解釋本發(fā)明的原理。
參照附圖,根據(jù)下面的詳細描述,可以更加清楚地理解本發(fā)明,其中:
圖1為本發(fā)明工作流程創(chuàng)建方法一個實施例的流程圖。
圖2為本發(fā)明工作流程創(chuàng)建方法另一個實施例的流程圖。
圖3為本發(fā)明工作流設(shè)計器一個實施例的結(jié)構(gòu)示意圖。
圖4為本發(fā)明工作流設(shè)計器另一個實施例的結(jié)構(gòu)示意圖。
圖5為本發(fā)明工作流系統(tǒng)一個實施例的結(jié)構(gòu)示意圖。
具體實施方式
現(xiàn)在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應(yīng)注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。
同時,應(yīng)當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關(guān)系繪制的。
以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應(yīng)用或使用的任何限制。
對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細討論,但在適當情況下,所述技術(shù)、方法和設(shè)備應(yīng)當被視為說明書的一部分。
應(yīng)注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
圖1為本發(fā)明工作流程創(chuàng)建方法一個實施例的流程圖。本發(fā)明各實施例的工作流程創(chuàng)建方法可以通過一個獨立于業(yè)務(wù)系統(tǒng)外的裝置,例如工作流設(shè)計器實現(xiàn)。如圖1所示,該實施例的工作流程創(chuàng)建方法包括:
102,響應(yīng)于接收到業(yè)務(wù)系統(tǒng)發(fā)送的調(diào)用請求,啟動設(shè)計界面。
104,根據(jù)用戶指示,在設(shè)計界面上生成工作流程的流程圖。
簡單地說,工作流程就是一系列相互銜接、自動進行的業(yè)務(wù)活動或任務(wù);可以將整個業(yè)務(wù)過程看作是一條河,其中流過的河水就是待審核的表單。
其中,流程圖包括分別表示構(gòu)成工作流程的各節(jié)點的各節(jié)點圖標,每個節(jié)點圖標封裝有屬性參數(shù),屬性參數(shù)例如可以包括節(jié)點標識(ID)參數(shù)、節(jié)點類型與節(jié)點屬性。節(jié)點ID唯一標識一個節(jié)點。
構(gòu)成工作流程的各節(jié)點預(yù)先設(shè)置在業(yè)務(wù)系統(tǒng)中。
節(jié)點屬性例如可以包括業(yè)務(wù)模型或流轉(zhuǎn)條件。示例性地,業(yè)務(wù)模型可以包括用于實現(xiàn)節(jié)點功能的業(yè)務(wù)邏輯功能單元、任務(wù)的執(zhí)行角色與處理人員,流轉(zhuǎn)條件例如可以包括來源節(jié)點、去向節(jié)點和條件表達式。
106,獲取業(yè)務(wù)系統(tǒng)的系統(tǒng)ID。
其中,系統(tǒng)ID唯一標識一個業(yè)務(wù)系統(tǒng)。
108,獲取工作流程的流程ID。
其中,流程ID唯一標識一個工作流程。該流程ID可以由用戶設(shè)置、從業(yè)務(wù)提供提取,或者也可以由工作流設(shè)計器自動生成。
110,分別針對流程圖中的各節(jié)點圖標,從業(yè)務(wù)系統(tǒng)獲取節(jié)點圖標所表示 的節(jié)點,將節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所表示節(jié)點的節(jié)點ID,并根據(jù)用戶指示對屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值。
本發(fā)明上述實施例提供了一種創(chuàng)建工作流程的方法,可以在業(yè)務(wù)系統(tǒng)中預(yù)先設(shè)置構(gòu)成工作流程所需的各節(jié)點,然后再單獨對各節(jié)點的屬性參數(shù)配置參數(shù)值,即可生成工作流程。由于構(gòu)成工作流程所需的各節(jié)點是單獨設(shè)置的,且節(jié)點的設(shè)置與其屬性參數(shù)的配置是獨立的過程,生成工作流程后,若某個節(jié)點需要變更功能,僅對單個節(jié)點進行修改即可;若需要增加、刪除或修改節(jié)點,僅需對相關(guān)配置參數(shù)修改即可,操作簡單、易于實現(xiàn),提高了工作流程的可配置性和復用性;并且,實現(xiàn)該方法的工作流設(shè)計器與業(yè)務(wù)系統(tǒng)解耦合,使業(yè)務(wù)系統(tǒng)與工作流程的設(shè)計可以相互獨立進行,工作流設(shè)計器以服務(wù)的方式對業(yè)務(wù)系統(tǒng)提供工作流程創(chuàng)建功能,可用于對所有業(yè)務(wù)系統(tǒng)工作流程提供通用性的配置服務(wù)。
根據(jù)本發(fā)明實施例的一個具體示例而非限制,節(jié)點類型的參數(shù)值例如可以是:開始節(jié)點、結(jié)束節(jié)點、流轉(zhuǎn)條件節(jié)點、普通節(jié)點、分支節(jié)點或聚合節(jié)點。
其中,開始節(jié)點、結(jié)束節(jié)點是一種特殊的節(jié)點,可以固定初始化任務(wù)或收尾結(jié)束任務(wù)。在一個工作流程中,只有一個開始節(jié)點,可以有多個結(jié)束節(jié)點。
流轉(zhuǎn)條件節(jié)點是一個帶有條件的向量節(jié)點,默認條件為true。此節(jié)點的條件判斷最終產(chǎn)生true或false,以確定能否流轉(zhuǎn)至工作流程中的下一節(jié)點。普通節(jié)點通常是綁定數(shù)據(jù)模型的節(jié)點,一般可將數(shù)據(jù)呈現(xiàn)為可以操作的表單等形式,用于人機交互,有用戶對表單進行審批等處理。聚合節(jié)點也是一種特殊節(jié)點,用來匯聚工作流中的分支,此節(jié)點是一個綁定數(shù)據(jù)模型、自動執(zhí)行的節(jié)點。分支節(jié)點的作用是實現(xiàn)工作流程的并行流轉(zhuǎn),因為分支節(jié)點的功能特性,決定了其下至少要有兩條流出的連線。在一個工作流程中,可以有多個流轉(zhuǎn)條件節(jié)點、普通節(jié)點、分支節(jié)點、聚合節(jié)點。
其中,節(jié)點類型的參數(shù)值為流轉(zhuǎn)條件節(jié)點、分支節(jié)點或聚合節(jié)點時,操作110中,具體對節(jié)點屬性中的流轉(zhuǎn)條件配置參數(shù)值,配置的流轉(zhuǎn)條件的參數(shù)值例如可以表示為:來源節(jié)點ID、去向節(jié)點ID和具體條件表達式。
節(jié)點類型值為開始節(jié)點、結(jié)束節(jié)點或普通節(jié)點時,操作110中,具體對節(jié)點屬性中的業(yè)務(wù)模型配置參數(shù)值,配置的業(yè)務(wù)模型的參數(shù)值例如可以表示為:執(zhí)行角色ID與處理人員的用戶ID。
由于在一個工作流程中,只有一個開始節(jié)點,因此,對節(jié)點類型配置參數(shù)值時,具體可以通過如下方式實現(xiàn):
響應(yīng)于接收到將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點的配置請求,檢測構(gòu)成工作流程的各節(jié)點中,是否已有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點;
若構(gòu)成工作流程的各節(jié)點中,沒有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點,將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點。
在本發(fā)明工作流程創(chuàng)建方法的另一個實施例中,業(yè)務(wù)模型還可以包括任務(wù)分配策略。相應(yīng)地,對屬性參數(shù)中的任務(wù)分配策略配置參數(shù)值具體為:配置任務(wù)分配策略的類型。
在本發(fā)明實施例的一個具體示例中,任務(wù)分配策略的類型例如可以是指派型、競爭型、動態(tài)會簽型或者平均分配型。
具體地,若配置任務(wù)分配策略的類型為指派型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色和處理人員均配置具體的參數(shù)值。若配置任務(wù)分配策略的類型為競爭型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,僅針對執(zhí)行角色配置具體的參數(shù)值而不配置處理人員的參數(shù)值。若配置任務(wù)分配策略的類型為動態(tài)會簽型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,配置處理人員的參數(shù)值為配置的執(zhí)行角色的參數(shù)值中任務(wù)執(zhí)行效率最高的處理人員。若配置任務(wù)分配策略的類型為平均分配型,對節(jié)點屬性中的執(zhí)行角色和處理人 員的配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,將處理人員的參數(shù)值配置為配置的執(zhí)行角色的參數(shù)值中按照依次輪換方式確定的處理人員。
基于實際需求配置上述任務(wù)分配策略的參數(shù)值后,后續(xù)業(yè)務(wù)系統(tǒng)調(diào)用工作流程進行業(yè)務(wù)處理時,業(yè)務(wù)系統(tǒng)中的相應(yīng)角色、用戶便可以按照配置處理相應(yīng)的任務(wù)。
在本發(fā)明工作流程創(chuàng)建方法的又一個實施例中,業(yè)務(wù)模型還可以包括業(yè)務(wù)模型還包括回溯處理方式,回溯處理方式的參數(shù)值具體為:是否需要同一個處理人員處理回溯任務(wù)。這樣,后續(xù)業(yè)務(wù)系統(tǒng)調(diào)用工作流程進行業(yè)務(wù)處理的過程中,在流程發(fā)生回溯時,便可以確定是否還需要由與之前相同的處理人員處理該任務(wù),實現(xiàn)了任務(wù)分配的合理性、流程的高效性。
本發(fā)明實施例中的屬性參數(shù)設(shè)置為可讀寫方式,對屬性參數(shù)配置參數(shù)值時,用于可以直接填寫各項屬性參數(shù)的參數(shù)值。另外,為了減少用戶操作,提高配置效率和配置的規(guī)范性,在本發(fā)明實施例的一個具體示例中,節(jié)點類型被預(yù)先配置為攜帶有節(jié)點類型參數(shù)值選項,這樣,對節(jié)點類型配置參數(shù)值時,可以從節(jié)點類型參數(shù)值選項中直接選擇一個作為節(jié)點類型的參數(shù)值。同樣的,節(jié)點屬性也可以被配置為攜帶有節(jié)點屬性參數(shù)值選項,對節(jié)點屬性配置參數(shù)值時,可以直接從節(jié)點屬性參數(shù)值選項中選擇一個作為節(jié)點屬性的參數(shù)值。
另外,在本發(fā)明工作流程創(chuàng)建方法的又一個實施例中,可以在工作流數(shù)據(jù)庫中通過流程信息表記錄工作流程的流程基礎(chǔ)信息,該流程基礎(chǔ)信息包括系統(tǒng)ID與流程ID,以便于后續(xù)業(yè)務(wù)系統(tǒng)調(diào)用工作流程時,根據(jù)系統(tǒng)ID查詢流程信息表便可以獲知業(yè)務(wù)系統(tǒng)調(diào)用的是哪個工作流程。
進一步地,在本發(fā)明工作流程創(chuàng)建方法的又一個實施例中,還可以分別在工作流數(shù)據(jù)庫中通過節(jié)點信息表記錄構(gòu)成工作流程的各節(jié)點的節(jié)點基礎(chǔ)信息,該節(jié)點基礎(chǔ)信息包括節(jié)點ID、節(jié)點所屬的工作流程的流程ID、節(jié)點類型的參數(shù)值和節(jié)點屬性的參數(shù)值。
進一步地,在本發(fā)明工作流程創(chuàng)建方法的又一個實施例中,還可以獲取構(gòu)成工作流程的各節(jié)點在設(shè)計界面上的位置,并在工作流數(shù)據(jù)庫中通過節(jié)點位置表分別記錄各節(jié)點的節(jié)點位置信息,該節(jié)點位置信息包括節(jié)點所屬工作流程的流程ID、節(jié)點ID和節(jié)點在設(shè)計界面上的位置。
在工作流數(shù)據(jù)庫中記錄工作流程的流程基礎(chǔ)信息、工作流程中各節(jié)點的節(jié)點基礎(chǔ)信息和節(jié)點位置信息后,后續(xù)業(yè)務(wù)系統(tǒng)便可以依據(jù)流程基礎(chǔ)信息、工作流程中各節(jié)點的節(jié)點基礎(chǔ)信息依次調(diào)用執(zhí)行相應(yīng)節(jié)點;還可以在工作流設(shè)計器的設(shè)計界面上重現(xiàn)流程圖,以便對該工作流程進行修改。
圖2為本發(fā)明工作流程創(chuàng)建方法另一個實施例的流程圖。如圖2所示,與圖1所示的實施例相比,該實施例在圖1所示實施例之后,還包括以下操作:
202,響應(yīng)于接收到流程獲取請求,從工作流數(shù)據(jù)庫中獲取流程該獲取請求中系統(tǒng)ID和流程ID對應(yīng)的所有節(jié)點的節(jié)點基礎(chǔ)信息和節(jié)點位置信息。
204,分別根據(jù)所有節(jié)點中各節(jié)點的節(jié)點位置信息,在設(shè)計界面上顯示攜帶有節(jié)點基礎(chǔ)信息的各節(jié)點以顯示流程圖。
基于圖2所示實施例的操作202~204,通過工作流數(shù)據(jù)庫存儲的一個工作流程中所有節(jié)點的節(jié)點基礎(chǔ)信息和節(jié)點位置信息,便可以實現(xiàn)該工作流程的重現(xiàn),以便于對工作流程進行修改。
例如,在本發(fā)明工作流程創(chuàng)建方法的再一個實施例中,可以根據(jù)用戶指示對設(shè)計界面上顯示的節(jié)點進行修改,并根據(jù)修改后的節(jié)點基礎(chǔ)信息和/或位置,對工作流數(shù)據(jù)庫中的相應(yīng)節(jié)點基礎(chǔ)信息和/或位置信息進行更新。
具體地,對設(shè)計界面上顯示的節(jié)點進行修改可以是:
調(diào)整構(gòu)成工作流程的節(jié)點之間的順序和/或?qū)?jié)點的基礎(chǔ)信息進行修改;
或者,刪除構(gòu)成工作流程的一個或多個節(jié)點,并對其它相關(guān)節(jié)點之間的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整;
或者,根據(jù)用戶指示在流程圖中加入新節(jié)點圖標,并從業(yè)務(wù)系統(tǒng)獲取預(yù) 先設(shè)置的、新節(jié)點圖標所表示的新節(jié)點,將新節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為新節(jié)點的節(jié)點ID,并根據(jù)用戶指示對新節(jié)點圖標的屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值,以及對構(gòu)成工作流程的其它相關(guān)節(jié)點的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整。
在本發(fā)明工作流程創(chuàng)建方法的再一個實施例中,還可以刪除一個工作流程。具體可以通過如下操作實現(xiàn):
接收用戶發(fā)送的流程刪除請求,該流程刪除請求中包括請求刪除工作流程的流程ID;
從工作流數(shù)據(jù)庫中刪除流程刪除請求中流程ID相關(guān)的流程基礎(chǔ)信息、節(jié)點基礎(chǔ)信息和節(jié)點位置信息。
以下以一個具體的應(yīng)用實例為例對本發(fā)明實施例的應(yīng)用進行說明。例如請假系統(tǒng)(即:實現(xiàn)請假流程的業(yè)務(wù)系統(tǒng))所需的請假流程需要包括以下三個節(jié)點:第一個節(jié)點是提假單,第二個節(jié)點是經(jīng)理審批,第三個節(jié)點是總監(jiān)審批。在請假系統(tǒng)中設(shè)置好上述三個節(jié)點后,用戶在工作流設(shè)計器的設(shè)計界面生成請假流程的流程圖,其還包括除上述三個節(jié)點外的其他節(jié)點,例如流轉(zhuǎn)條件節(jié)點、分支節(jié)點等,然后工作流設(shè)計器接入請假系統(tǒng)獲取系統(tǒng)ID和流程ID,并從請假系統(tǒng)分別獲取這三個節(jié)點配置給流程圖中的三個節(jié)點,并由用戶分別對其屬性參數(shù)的參數(shù)值進行配置,包括設(shè)置執(zhí)行角色ID、處理人員的用戶ID等。
當請假流程發(fā)生變化時,例如請假條件發(fā)生變化,之前請一天假需要經(jīng)理審批,請三天假需要總監(jiān)審批,現(xiàn)在請假條件變化為:請五天以下假只需經(jīng)理審批,請五天以上假需要總監(jiān)審批,這時通過工作流設(shè)計器的設(shè)計界面可以調(diào)出流程圖,簡單地更改流轉(zhuǎn)條件的參數(shù)值,便可完成流程的變更。
另外,如果節(jié)點發(fā)生變化了,例如又引入一個部門長的角色,只需在業(yè)務(wù)系統(tǒng)增加該節(jié)點,把它要做的事情設(shè)置好,通過工作流設(shè)計器的設(shè)計界面可以調(diào)出流程圖,在流程圖中加入該節(jié)點的節(jié)點圖標并進行配置即可,而無 需對整個流程的實現(xiàn)代碼進行更改。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
圖3為本發(fā)明工作流設(shè)計器一個實施例的結(jié)構(gòu)示意圖。該實施例的工作流設(shè)計器可用于實現(xiàn)本發(fā)明上述各工作流程創(chuàng)建方法實施例。如圖3所示,該實施例的工作流設(shè)計器包括接收單元、設(shè)計界面、業(yè)務(wù)處理單元、第一獲取單元、第二獲取單元和配置單元。其中:
接收單元,用于接收業(yè)務(wù)系統(tǒng)發(fā)送的消息。
設(shè)計界面,用于與用戶進行人機交互。
業(yè)務(wù)處理單元,用于在接收單元接收到業(yè)務(wù)系統(tǒng)發(fā)送的調(diào)用請求時,啟動設(shè)計界面;以及根據(jù)用戶指示,在設(shè)計界面上生成工作流程的流程圖,該流程圖包括分別表示構(gòu)成工作流程的各節(jié)點的各節(jié)點圖標,各節(jié)點圖標封裝有屬性參數(shù),包括節(jié)點ID參數(shù)、節(jié)點類型與節(jié)點屬性,節(jié)點ID唯一標識一個節(jié)點。其中,構(gòu)成工作流程的各節(jié)點預(yù)先設(shè)置在業(yè)務(wù)系統(tǒng)中,節(jié)點屬性包括業(yè)務(wù)模型或流轉(zhuǎn)條件;業(yè)務(wù)模型包括業(yè)務(wù)邏輯功能單元、任務(wù)的執(zhí)行角色與處理人員,流轉(zhuǎn)條件包括來源節(jié)點、去向節(jié)點和條件表達式。
第一獲取單元,用于獲取業(yè)務(wù)系統(tǒng)的系統(tǒng)ID。其中,系統(tǒng)ID唯一標識一個業(yè)務(wù)系統(tǒng)。
第二獲取單元,用于獲取工作流程的流程ID。其中,流程ID唯一標識一個工作流程。
配置單元,用于分別針對流程圖中的各節(jié)點圖標,從業(yè)務(wù)系統(tǒng)獲取節(jié)點圖標所表示的節(jié)點,將節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所表示節(jié)點的節(jié)點ID,并根據(jù)用戶指示對屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù) 值。
本發(fā)明上述實施例的工作流設(shè)計器,可以實現(xiàn)一種創(chuàng)建工作流程的方法,可以在業(yè)務(wù)系統(tǒng)中預(yù)先設(shè)置構(gòu)成工作流程所需的各節(jié)點,然后再單獨對各節(jié)點的屬性參數(shù)配置參數(shù)值,即可生成工作流程。由于構(gòu)成工作流程所需的各節(jié)點是單獨設(shè)置的,且節(jié)點的設(shè)置與其屬性參數(shù)的配置是獨立的過程,生成工作流程后,若某個節(jié)點需要變更功能,僅對單個節(jié)點進行修改即可;若需要增加、刪除或修改節(jié)點,僅需對相關(guān)配置參數(shù)修改即可,操作簡單、易于實現(xiàn),提高了工作流程的可配置性和復用性;并且,實現(xiàn)該方法的工作流設(shè)計器與業(yè)務(wù)系統(tǒng)解耦合,可用于對所有業(yè)務(wù)系統(tǒng)工作流程提供通用性的配置服務(wù)。
其中,節(jié)點類型的參數(shù)值可以是:開始節(jié)點、結(jié)束節(jié)點、流轉(zhuǎn)條件節(jié)點、普通節(jié)點、分支節(jié)點或聚合節(jié)點。
具體地,節(jié)點類型的參數(shù)值為流轉(zhuǎn)條件節(jié)點、分支節(jié)點或聚合節(jié)點時,配置單元具體對節(jié)點屬性中的流轉(zhuǎn)條件配置參數(shù)值,配置的流轉(zhuǎn)條件的參數(shù)值具體為:來源節(jié)點ID、去向節(jié)點ID和具體條件表達式;
節(jié)點類型值為開始節(jié)點、結(jié)束節(jié)點或普通節(jié)點時,配置單元具體對節(jié)點屬性中的業(yè)務(wù)模型配置參數(shù)值,配置的業(yè)務(wù)模型的參數(shù)值具體為:執(zhí)行角色ID與處理人員的用戶ID。
在本發(fā)明工作流設(shè)計器實施例的一個具體示例中,配置單元對節(jié)點類型配置參數(shù)值時,具體在接收到將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點的配置請求時,檢測構(gòu)成工作流程的各節(jié)點中,是否已有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點;以及在構(gòu)成工作流程的各節(jié)點中,沒有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點時,將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點。
在本發(fā)明工作流設(shè)計器的另一個實施例中,業(yè)務(wù)模型還包括任務(wù)分配策略。相應(yīng)地,該實施例中,配置單元對屬性參數(shù)中的任務(wù)分配策略配置參數(shù) 值時,具體配置任務(wù)分配策略的類型。
任務(wù)分配策略的類型例如包括指派型、競爭型、動態(tài)會簽型或者平均分配型。
若配置任務(wù)分配策略的類型為指派型,配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色和處理人員均配置具體的參數(shù)值;
若配置任務(wù)分配策略的類型為競爭型,配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,僅針對執(zhí)行角色配置具體的參數(shù)值而不配置處理人員的參數(shù)值;
若配置任務(wù)分配策略的類型為動態(tài)會簽型,配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,配置處理人員的參數(shù)值為配置的執(zhí)行角色的參數(shù)值中任務(wù)執(zhí)行效率最高的處理人員;
若配置任務(wù)分配策略的類型為平均分配型,配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員的配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,將處理人員的參數(shù)值配置為配置的執(zhí)行角色的參數(shù)值中按照依次輪換方式確定的處理人員。
在本發(fā)明工作流設(shè)計器的另一個實施例中,業(yè)務(wù)模型還包括回溯處理方式,配置單元配置的回溯處理方式的參數(shù)值具體為:是否需要同一個處理人員處理回溯任務(wù)。
在本發(fā)明實施例的一個具體示例中,節(jié)點類型被配置為攜帶有節(jié)點類型參數(shù)值選項;相應(yīng)地,配置單元對節(jié)點類型配置參數(shù)值時,具體從節(jié)點類型參數(shù)值選項中選擇一個作為節(jié)點類型的參數(shù)值。同樣,節(jié)點屬性也可以被配置攜帶有節(jié)點屬性參數(shù)值選項,相應(yīng)地,配置單元對節(jié)點屬性配置參數(shù)值時,具體從節(jié)點屬性參數(shù)值選項中選擇一個作為節(jié)點屬性的參數(shù)值。
圖4為本發(fā)明工作流設(shè)計器另一個實施例的結(jié)構(gòu)示意圖。如圖4所示, 與圖3所示的實施例相比,該實施例的工作流設(shè)計器還包括記錄單元,用于在工作流數(shù)據(jù)庫中通過流程信息表記錄工作流程的流程基礎(chǔ)信息,其中的流程基礎(chǔ)信息包括系統(tǒng)ID與流程ID。
另外,記錄單元還可以用于分別在工作流數(shù)據(jù)庫中通過節(jié)點信息表記錄構(gòu)成工作流程的各節(jié)點的節(jié)點基礎(chǔ)信息,其中的節(jié)點基礎(chǔ)信息包括節(jié)點ID、節(jié)點所屬的工作流程的流程ID、節(jié)點類型的參數(shù)值和節(jié)點屬性的參數(shù)值。
進一步地,記錄單元還可用于獲取構(gòu)成工作流程的各節(jié)點在設(shè)計界面上的位置,并在工作流數(shù)據(jù)庫中通過節(jié)點位置表分別記錄各節(jié)點的節(jié)點位置信息,其中的節(jié)點位置信息包括節(jié)點所屬工作流程的流程ID、節(jié)點ID和節(jié)點在設(shè)計界面上的位置。
再參見圖4,在本發(fā)明工作流設(shè)計器的又一個實施例中,還可以包括第三獲取單元,用于在接收單元接收到流程獲取請求時,從工作流數(shù)據(jù)庫中獲取流程獲取請求中系統(tǒng)ID和流程ID對應(yīng)的所有節(jié)點的節(jié)點基礎(chǔ)信息和節(jié)點位置信息,并分別根據(jù)所有節(jié)點中各節(jié)點的節(jié)點位置信息,在設(shè)計界面上顯示攜帶有節(jié)點基礎(chǔ)信息的各節(jié)點以顯示流程圖。
進一步地,再參見圖4,在本發(fā)明工作流設(shè)計器的再一個實施例中,還可以包括更新單元,用于根據(jù)用戶指示對設(shè)計界面上顯示的節(jié)點進行修改,并根據(jù)修改后的節(jié)點基礎(chǔ)信息和/或位置,對工作流數(shù)據(jù)庫中的相應(yīng)節(jié)點基礎(chǔ)信息和/或位置信息進行更新。
具體地,更新單元對設(shè)計界面上顯示的節(jié)點進行修改,例如可以是:
調(diào)整構(gòu)成工作流程的節(jié)點之間的順序和/或?qū)?jié)點的基礎(chǔ)信息進行修改;或者
刪除構(gòu)成工作流程的一個或多個節(jié)點,并對其它相關(guān)節(jié)點之間的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整;或者
根據(jù)用戶指示在流程圖中加入新節(jié)點圖標,并從業(yè)務(wù)系統(tǒng)獲取預(yù)先設(shè)置的、新節(jié)點圖標所表示的新節(jié)點,將新節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù) 配置為新節(jié)點的節(jié)點ID,并根據(jù)用戶指示對新節(jié)點圖標的屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值,以及對構(gòu)成工作流程的其它相關(guān)節(jié)點的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整。
另外,在本發(fā)明上述各實施例的工作流設(shè)計器中,接收單元還可用于接收用戶發(fā)送的流程刪除請求,該流程刪除請求中包括請求刪除工作流程的流程ID。相應(yīng)地,該實施例中,記錄單元還可用于從工作流數(shù)據(jù)庫中刪除流程刪除請求中流程ID相關(guān)的流程基礎(chǔ)信息、節(jié)點基礎(chǔ)信息和節(jié)點位置信息。
本發(fā)明各實施例中,可以將工作流設(shè)計器的應(yīng)用程序接口(API)耦合設(shè)置在業(yè)務(wù)系統(tǒng)中,則工作流設(shè)計器便可以具體通過API與業(yè)務(wù)系統(tǒng)進行信息交互。具體地,工作流設(shè)計器可以通過超文本傳輸協(xié)議(HTTP)與業(yè)務(wù)系統(tǒng)通信。
圖5為本發(fā)明工作流系統(tǒng)一個實施例的結(jié)構(gòu)示意圖。該實施例的工作流系統(tǒng)可用于實現(xiàn)本發(fā)明上述各工作流程創(chuàng)建方法實施例。如圖5所示,該實施例的工作流系統(tǒng)包括工作流數(shù)據(jù)庫和工作流設(shè)計器。
其中,工作流設(shè)計器例如可以通過本發(fā)明圖3或圖4所述任一實施例的結(jié)構(gòu)實現(xiàn)。
工作流數(shù)據(jù)庫用于存儲以下信息:
流程信息表,包括工作流程的流程基礎(chǔ)信息,流程基礎(chǔ)信息包括系統(tǒng)ID與流程ID;
節(jié)點信息表,包括構(gòu)成工作流程的各節(jié)點的節(jié)點基礎(chǔ)信息,節(jié)點基礎(chǔ)信息包括節(jié)點ID、節(jié)點所屬的工作流程的流程ID、節(jié)點類型的參數(shù)值和節(jié)點屬性的參數(shù)值;
流程實例表,包括流程ID所標識工作流程實例的流程實例信息,流程實例信息包括流程實例ID、流程ID、系統(tǒng)ID和流程實例狀態(tài),流程實例狀態(tài)包括未完成或已完成;
實例節(jié)點表,包括記錄工作流程實例中節(jié)點的節(jié)點實例信息,節(jié)點實例 信息包括流程實例ID、開始節(jié)點的節(jié)點ID、節(jié)點狀態(tài)、節(jié)點屬性的參數(shù)值;節(jié)點狀態(tài)包括:未激活、待處理、處理中或者完成。
示例性地,本發(fā)明實施例中的工作流數(shù)據(jù)庫例如可以是MySQL、MS SQL、SqlServer、Oracle等類型的數(shù)據(jù)庫。
本發(fā)明上述實施例的工作流系統(tǒng),可以對業(yè)務(wù)系統(tǒng)中預(yù)先設(shè)置的構(gòu)成工作流程所需的各節(jié)點的屬性參數(shù)配置參數(shù)值,即可生成工作流程。由于構(gòu)成工作流程所需的各節(jié)點是單獨設(shè)置的,且節(jié)點的設(shè)置與其屬性參數(shù)的配置是獨立的過程,生成工作流程后,若某個節(jié)點需要變更功能,僅對單個節(jié)點進行修改即可;若需要增加、刪除或修改節(jié)點,僅需對相關(guān)配置參數(shù)修改即可,操作簡單、易于實現(xiàn),提高了工作流程的可配置性和復用性;并且,實現(xiàn)該方法的工作流設(shè)計器與業(yè)務(wù)系統(tǒng)解耦合,可用于對所有業(yè)務(wù)系統(tǒng)工作流程提供通用性的配置服務(wù)。
本發(fā)明實施例提供了以下技術(shù)方案:
1、一種工作流程創(chuàng)建方法,包括:
響應(yīng)于接收到業(yè)務(wù)系統(tǒng)發(fā)送的調(diào)用請求,啟動設(shè)計界面;
根據(jù)用戶指示,在設(shè)計界面上生成所述工作流程的流程圖,所述流程圖包括分別表示構(gòu)成工作流程的各節(jié)點的各節(jié)點圖標,所述節(jié)點圖標封裝有屬性參數(shù);所述屬性參數(shù)包括節(jié)點標識ID參數(shù)、節(jié)點類型與節(jié)點屬性;構(gòu)成工作流程的各節(jié)點預(yù)先設(shè)置在所述業(yè)務(wù)系統(tǒng)中,節(jié)點ID唯一標識一個節(jié)點;所述節(jié)點屬性包括業(yè)務(wù)模型或流轉(zhuǎn)條件,所述業(yè)務(wù)模型包括業(yè)務(wù)邏輯功能單元、任務(wù)的執(zhí)行角色與處理人員,所述流轉(zhuǎn)條件包括來源節(jié)點、去向節(jié)點和條件表達式;
獲取所述業(yè)務(wù)系統(tǒng)的系統(tǒng)ID;其中,系統(tǒng)ID唯一標識一個業(yè)務(wù)系統(tǒng);
獲取所述工作流程的流程ID;其中,流程ID唯一標識一個工作流程;
分別針對所述流程圖中的各節(jié)點圖標,從業(yè)務(wù)系統(tǒng)獲取節(jié)點圖標所表示的節(jié)點,將節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所表示節(jié)點的節(jié)點 ID,并根據(jù)用戶指示對屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值。
2、根據(jù)1所述的方法,所述節(jié)點類型的參數(shù)值包括:開始節(jié)點、結(jié)束節(jié)點、流轉(zhuǎn)條件節(jié)點、普通節(jié)點、分支節(jié)點或聚合節(jié)點;
節(jié)點類型的參數(shù)值為流轉(zhuǎn)條件節(jié)點、分支節(jié)點或聚合節(jié)點時,具體對節(jié)點屬性中的流轉(zhuǎn)條件配置參數(shù)值,配置的流轉(zhuǎn)條件的參數(shù)值具體為:來源節(jié)點ID、去向節(jié)點ID和具體條件表達式;
所述節(jié)點類型值為開始節(jié)點、結(jié)束節(jié)點或普通節(jié)點時,具體對節(jié)點屬性中的業(yè)務(wù)模型配置參數(shù)值,配置的業(yè)務(wù)模型的參數(shù)值具體為:執(zhí)行角色ID與處理人員的用戶ID。
3、根據(jù)2所述的方法,對節(jié)點類型配置參數(shù)值包括:
響應(yīng)于接收到將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點的配置請求,檢測構(gòu)成所述工作流程的各節(jié)點中,是否已有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點;
響應(yīng)于構(gòu)成所述工作流程的各節(jié)點中,沒有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點,將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點。
4、根據(jù)1至3任意一項所述的方法,所述業(yè)務(wù)模型還包括任務(wù)分配策略;
對屬性參數(shù)中的任務(wù)分配策略配置參數(shù)值具體為:配置任務(wù)分配策略的類型。
5、根據(jù)4所述的方法,所述任務(wù)分配策略的類型包括指派型、競爭型、動態(tài)會簽型或者平均分配型;
若配置任務(wù)分配策略的類型為指派型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色和處理人員均配置具體的參數(shù)值;
若配置任務(wù)分配策略的類型為競爭型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,僅針對執(zhí)行角色配置具體的參數(shù)值而不配置處理人員的參數(shù)值;
若配置任務(wù)分配策略的類型為動態(tài)會簽型,對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,配置處理人員的參數(shù)值為配置的執(zhí)行角色的參數(shù)值中任務(wù)執(zhí)行效率最高的處理人員;
若配置任務(wù)分配策略的類型為平均分配型,對節(jié)點屬性中的執(zhí)行角色和處理人員的配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,將處理人員的參數(shù)值配置為配置的執(zhí)行角色的參數(shù)值中按照依次輪換方式確定的處理人員。
6、根據(jù)1至5任意一項所述的方法,所述業(yè)務(wù)模型還包括回溯處理方式;
所述回溯處理方式的參數(shù)值包括:是否需要同一個處理人員處理回溯任務(wù)。
7、根據(jù)1至6任意一項所述的方法,所述節(jié)點類型攜帶有節(jié)點類型參數(shù)值選項;對節(jié)點類型配置參數(shù)值包括:從節(jié)點類型參數(shù)值選項中選擇一個作為所述節(jié)點類型的參數(shù)值;
所述節(jié)點屬性攜帶有節(jié)點屬性參數(shù)值選項;對節(jié)點屬性配置參數(shù)值包括:從節(jié)點屬性參數(shù)值選項中選擇一個作為所述節(jié)點屬性的參數(shù)值。
8、根據(jù)1至7任意一項所述的方法,還包括:
在工作流數(shù)據(jù)庫中通過流程信息表記錄所述工作流程的流程基礎(chǔ)信息,所述流程基礎(chǔ)信息包括所述系統(tǒng)ID與所述流程ID。
9、根據(jù)8所述的方法,還包括:
分別在工作流數(shù)據(jù)庫中通過節(jié)點信息表記錄構(gòu)成所述工作流程的各節(jié)點的節(jié)點基礎(chǔ)信息,所述節(jié)點基礎(chǔ)信息包括節(jié)點ID、節(jié)點所屬的工作流程的流程ID、節(jié)點類型的參數(shù)值和節(jié)點屬性的參數(shù)值。
10、根據(jù)9所述的方法,還包括:
獲取構(gòu)成所述工作流程的各節(jié)點在設(shè)計界面上的位置,并在工作流數(shù)據(jù)庫中通過節(jié)點位置表分別記錄各節(jié)點的節(jié)點位置信息,所述節(jié)點位置信息包 括節(jié)點所屬工作流程的流程ID、節(jié)點ID和節(jié)點在設(shè)計界面上的位置。
11、根據(jù)10所述的方法,還包括:
響應(yīng)于接收到流程獲取請求,從工作流數(shù)據(jù)庫中獲取所述流程獲取請求中系統(tǒng)ID和流程ID對應(yīng)的所有節(jié)點的節(jié)點基礎(chǔ)信息和節(jié)點位置信息,并分別根據(jù)所有節(jié)點中各節(jié)點的節(jié)點位置信息,在設(shè)計界面上顯示攜帶有節(jié)點基礎(chǔ)信息的各節(jié)點以顯示所述流程圖。
12、根據(jù)11所述的方法,還包括:
根據(jù)用戶指示對設(shè)計界面上顯示的節(jié)點進行修改,并根據(jù)修改后的節(jié)點基礎(chǔ)信息和/或位置,對工作流數(shù)據(jù)庫中的相應(yīng)節(jié)點基礎(chǔ)信息和/或位置信息進行更新。
13、根據(jù)12所述的方法,所述對設(shè)計界面上顯示的節(jié)點進行修改包括:
調(diào)整構(gòu)成所述工作流程的節(jié)點之間的順序和/或?qū)?jié)點的基礎(chǔ)信息進行修改;或者
刪除構(gòu)成所述工作流程的一個或多個節(jié)點,并對其它相關(guān)節(jié)點之間的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整;或者
根據(jù)用戶指示在所述流程圖中加入新節(jié)點圖標,并從業(yè)務(wù)系統(tǒng)獲取預(yù)先設(shè)置的、所述新節(jié)點圖標所表示的新節(jié)點,將新節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所述新節(jié)點的節(jié)點ID,并根據(jù)用戶指示對所述新節(jié)點圖標的屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值,以及對構(gòu)成所述工作流程的其它相關(guān)節(jié)點的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整。
14、根據(jù)10至13任意一項所述的方法,還包括:
接收用戶發(fā)送的流程刪除請求,該流程刪除請求中包括請求刪除工作流程的流程ID;
從工作流數(shù)據(jù)庫中刪除所述流程刪除請求中流程ID相關(guān)的流程基礎(chǔ)信息、節(jié)點基礎(chǔ)信息和節(jié)點位置信息。
15、一種工作流設(shè)計器,包括:
接收單元,用于接收業(yè)務(wù)系統(tǒng)發(fā)送的消息;
設(shè)計界面,用于與用戶進行人機交互;
業(yè)務(wù)處理單元,用于在接收單元接收到業(yè)務(wù)系統(tǒng)發(fā)送的調(diào)用請求時,啟動設(shè)計界面;以及根據(jù)用戶指示,在設(shè)計界面上生成所述工作流程的流程圖,所述流程圖包括分別表示構(gòu)成工作流程的各節(jié)點的各節(jié)點圖標,所述節(jié)點圖標封裝有屬性參數(shù);所述屬性參數(shù)包括節(jié)點標識ID參數(shù)、節(jié)點類型與節(jié)點屬性;構(gòu)成工作流程的各節(jié)點預(yù)先設(shè)置在所述業(yè)務(wù)系統(tǒng)中,節(jié)點ID唯一標識一個節(jié)點;所述節(jié)點屬性包括業(yè)務(wù)模型或流轉(zhuǎn)條件,所述業(yè)務(wù)模型包括業(yè)務(wù)邏輯功能單元、任務(wù)的執(zhí)行角色與處理人員,所述流轉(zhuǎn)條件包括來源節(jié)點、去向節(jié)點和條件表達式;
第一獲取單元,用于獲取所述業(yè)務(wù)系統(tǒng)的系統(tǒng)ID;其中,系統(tǒng)ID唯一標識一個業(yè)務(wù)系統(tǒng);
第二獲取單元,用于獲取所述工作流程的流程ID;其中,流程ID唯一標識一個工作流程;
配置單元,用于分別針對所述流程圖中的各節(jié)點圖標,從業(yè)務(wù)系統(tǒng)獲取節(jié)點圖標所表示的節(jié)點,將節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所表示節(jié)點的節(jié)點ID,并根據(jù)用戶指示對屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值。
16、根據(jù)15所述的工作流設(shè)計器,所述節(jié)點類型的參數(shù)值包括:開始節(jié)點、結(jié)束節(jié)點、流轉(zhuǎn)條件節(jié)點、普通節(jié)點、分支節(jié)點或聚合節(jié)點;
節(jié)點類型的參數(shù)值為流轉(zhuǎn)條件節(jié)點、分支節(jié)點或聚合節(jié)點時,所述配置單元具體對節(jié)點屬性中的流轉(zhuǎn)條件配置參數(shù)值,配置的流轉(zhuǎn)條件的參數(shù)值具體為:來源節(jié)點ID、去向節(jié)點ID和具體條件表達式;
所述節(jié)點類型值為開始節(jié)點、結(jié)束節(jié)點或普通節(jié)點時,所述配置單元具體對節(jié)點屬性中的業(yè)務(wù)模型配置參數(shù)值,配置的業(yè)務(wù)模型的參數(shù)值具體為:執(zhí)行角色ID與處理人員的用戶ID。
17、根據(jù)16所述的工作流設(shè)計器,所述配置單元對節(jié)點類型配置參數(shù)值時,具體在接收到將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點的配置請求時,檢測構(gòu)成所述工作流程的各節(jié)點中,是否已有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點;以及在構(gòu)成所述工作流程的各節(jié)點中,沒有節(jié)點的節(jié)點類型的參數(shù)值被配置為開始節(jié)點時,將當前節(jié)點的節(jié)點類型的參數(shù)值配置為開始節(jié)點。
18、根據(jù)15至17任意一項所述的工作流設(shè)計器,所述業(yè)務(wù)模型還包括任務(wù)分配策略;
所述配置單元對屬性參數(shù)中的任務(wù)分配策略配置參數(shù)值時,具體配置任務(wù)分配策略的類型。
19、根據(jù)18所述的工作流設(shè)計器,所述任務(wù)分配策略的類型包括指派型、競爭型、動態(tài)會簽型或者平均分配型;
若配置任務(wù)分配策略的類型為指派型,所述配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色和處理人員均配置具體的參數(shù)值;
若配置任務(wù)分配策略的類型為競爭型,所述配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,僅針對執(zhí)行角色配置具體的參數(shù)值而不配置處理人員的參數(shù)值;
若配置任務(wù)分配策略的類型為動態(tài)會簽型,所述配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,配置處理人員的參數(shù)值為配置的執(zhí)行角色的參數(shù)值中任務(wù)執(zhí)行效率最高的處理人員;
若配置任務(wù)分配策略的類型為平均分配型,所述配置單元對節(jié)點屬性中的執(zhí)行角色和處理人員的配置參數(shù)值時,針對執(zhí)行角色配置具體的參數(shù)值,將處理人員的參數(shù)值配置為配置的執(zhí)行角色的參數(shù)值中按照依次輪換方式確定的處理人員。
20、根據(jù)15至19任意一項所述的工作流設(shè)計器,所述業(yè)務(wù)模型還包括回溯處理方式;
所述回溯處理方式的參數(shù)值包括:是否需要同一個處理人員處理回溯任務(wù)。
21、根據(jù)15至20任意一項所述的工作流設(shè)計器,所述節(jié)點類型攜帶有節(jié)點類型參數(shù)值選項;所述配置單元對節(jié)點類型配置參數(shù)值時,具體從節(jié)點類型參數(shù)值選項中選擇一個作為所述節(jié)點類型的參數(shù)值;
所述節(jié)點屬性攜帶有節(jié)點屬性參數(shù)值選項;所述配置單元對節(jié)點屬性配置參數(shù)值時,具體從節(jié)點屬性參數(shù)值選項中選擇一個作為所述節(jié)點屬性的參數(shù)值。
22、根據(jù)15至21任意一項所述的工作流設(shè)計器,還包括:
記錄單元,用于在工作流數(shù)據(jù)庫中通過流程信息表記錄所述工作流程的流程基礎(chǔ)信息,所述流程基礎(chǔ)信息包括所述系統(tǒng)ID與所述流程ID。
23、根據(jù)22所述的工作流設(shè)計器,所述記錄單元,還用于分別在工作流數(shù)據(jù)庫中通過節(jié)點信息表記錄構(gòu)成所述工作流程的各節(jié)點的節(jié)點基礎(chǔ)信息,所述節(jié)點基礎(chǔ)信息包括節(jié)點ID、節(jié)點所屬的工作流程的流程ID、節(jié)點類型的參數(shù)值和節(jié)點屬性的參數(shù)值。
24、根據(jù)23所述的工作流設(shè)計器,所述記錄單元,還用于獲取構(gòu)成所述工作流程的各節(jié)點在設(shè)計界面上的位置,并在工作流數(shù)據(jù)庫中通過節(jié)點位置表分別記錄各節(jié)點的節(jié)點位置信息,所述節(jié)點位置信息包括節(jié)點所屬工作流程的流程ID、節(jié)點ID和節(jié)點在設(shè)計界面上的位置。
25、根據(jù)24所述的工作流設(shè)計器,還包括:
第三獲取單元,用于在接收單元接收到流程獲取請求時,從工作流數(shù)據(jù)庫中獲取所述流程獲取請求中系統(tǒng)ID和流程ID對應(yīng)的所有節(jié)點的節(jié)點基礎(chǔ)信息和節(jié)點位置信息,并分別根據(jù)所有節(jié)點中各節(jié)點的節(jié)點位置信息,在設(shè)計界面上顯示攜帶有節(jié)點基礎(chǔ)信息的各節(jié)點以顯示所述流程圖。
26、根據(jù)25所述的工作流設(shè)計器,還包括:更新單元,用于根據(jù)用戶指示對設(shè)計界面上顯示的節(jié)點進行修改,并根據(jù)修改后的節(jié)點基礎(chǔ)信息和/或位置,對工作流數(shù)據(jù)庫中的相應(yīng)節(jié)點基礎(chǔ)信息和/或位置信息進行更新。
27、根據(jù)26所述的工作流設(shè)計器,所述更新單元對設(shè)計界面上顯示的節(jié)點進行修改時,具體用于:
調(diào)整構(gòu)成所述工作流程的節(jié)點之間的順序和/或?qū)?jié)點的基礎(chǔ)信息進行修改;或者
刪除構(gòu)成所述工作流程的一個或多個節(jié)點,并對其它相關(guān)節(jié)點之間的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整;或者
根據(jù)用戶指示在所述流程圖中加入新節(jié)點圖標,并從業(yè)務(wù)系統(tǒng)獲取預(yù)先設(shè)置的、所述新節(jié)點圖標所表示的新節(jié)點,將新節(jié)點圖標的屬性參數(shù)中的節(jié)點ID參數(shù)配置為所述新節(jié)點的節(jié)點ID,并根據(jù)用戶指示對所述新節(jié)點圖標的屬性參數(shù)中的節(jié)點類型和節(jié)點屬性配置參數(shù)值,以及對構(gòu)成所述工作流程的其它相關(guān)節(jié)點的順序和/或節(jié)點基礎(chǔ)信息進行相應(yīng)調(diào)整。
28、根據(jù)24至27任意一項所述的工作流設(shè)計器,所述接收單元,還用于接收用戶發(fā)送的流程刪除請求,該流程刪除請求中包括請求刪除工作流程的流程ID;
所述記錄單元,還用于從工作流數(shù)據(jù)庫中刪除所述流程刪除請求中流程ID相關(guān)的流程基礎(chǔ)信息、節(jié)點基礎(chǔ)信息和節(jié)點位置信息。
29、根據(jù)25至28任意一項所述的工作流設(shè)計器,所述工作流設(shè)計器的應(yīng)用程序接口API耦合設(shè)置在所述業(yè)務(wù)系統(tǒng)中;
所述工作流設(shè)計器具體通過所述API與所述業(yè)務(wù)系統(tǒng)進行信息交互。
30、一種工作流系統(tǒng),包括工作流數(shù)據(jù)庫和15至29任意一項所述的工作流設(shè)計器;
所述工作流數(shù)據(jù)庫用于存儲:
流程信息表,包括工作流程的流程基礎(chǔ)信息,所述流程基礎(chǔ)信息包括系 統(tǒng)ID與流程ID;
節(jié)點信息表,包括構(gòu)成所述工作流程的各節(jié)點的節(jié)點基礎(chǔ)信息,所述節(jié)點基礎(chǔ)信息包括節(jié)點ID、節(jié)點所屬的工作流程的流程ID、節(jié)點類型的參數(shù)值和節(jié)點屬性的參數(shù)值;
流程實例表,包括所述流程ID所標識工作流程實例的流程實例信息,所述流程實例信息包括所述流程實例ID、所述流程ID、所述系統(tǒng)ID和流程實例狀態(tài),所述流程實例狀態(tài)包括未完成或已完成;
實例節(jié)點表,包括記錄工作流程實例中節(jié)點的節(jié)點實例信息,所述節(jié)點實例信息包括所述流程實例ID、所述開始節(jié)點的節(jié)點ID、節(jié)點狀態(tài)、節(jié)點屬性的參數(shù)值;所述節(jié)點狀態(tài)包括:未激活、待處理、處理中或者完成。
本說明書中各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似的部分相互參見即可。對于系統(tǒng)實施例而言,由于其與方法實施例基本對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
可能以許多方式來實現(xiàn)本發(fā)明的方法、裝置和系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實現(xiàn)本發(fā)明的方法、裝置和系統(tǒng)。用于所述方法的步驟的上述順序僅是為了進行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實施例中,還可將本發(fā)明實施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實現(xiàn)根據(jù)本發(fā)明的方法的機器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實施例。