一種可配置工作流的實現(xiàn)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體地說是一種可配置工作流的實現(xiàn)方法及系統(tǒng)。
【背景技術(shù)】
[0002]作為實現(xiàn)企業(yè)信息化的重要底層支撐技術(shù),表單與流程建模是工作流管理應(yīng)用于電子商務(wù)、企業(yè)資源規(guī)劃等信息管理領(lǐng)域中必須解決和無法回避的一個關(guān)鍵問題。
[0003]現(xiàn)有各業(yè)務(wù)系統(tǒng)中的工作流,是在進行詳細的需求分析之后,將業(yè)務(wù)規(guī)范及處理流程固化在信息系統(tǒng)中的,只是在需要用戶確定流轉(zhuǎn)方向的節(jié)點,允許用戶選擇下一節(jié)點處理人。此外,由于涉及節(jié)點間數(shù)據(jù)流轉(zhuǎn)及狀態(tài)轉(zhuǎn)變,難以實現(xiàn)表單的用戶自定義。
[0004]目前已經(jīng)有基于可配置性的一些嘗試,但通常無法做到全面可配置。工作流與表單系統(tǒng)集成中存在表單顯示元素顯示權(quán)限的控制、工作流變量和表單顯示元素相互映射等問題,這些問題都影響了工作流引擎與表單系統(tǒng)的集成。
[0005]傳統(tǒng)的工作流的開發(fā)及使用方式,存在如下不足:
[0006]①當業(yè)務(wù)發(fā)生變更的時候,常常需要重新進行系統(tǒng)需求變更與開發(fā),開發(fā)及維護成本較高;
[0007]②無法滿足用戶多樣化的業(yè)務(wù)處理要求。
【發(fā)明內(nèi)容】
[0008]為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明提供了一種可配置工作流的實現(xiàn)方法及系統(tǒng),其不僅能夠?qū)崿F(xiàn)表單和工作流的自定義,而且能夠簡化對典型流程的設(shè)計過程,并提高其可復(fù)用性。
[0009]本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種可配置工作流的實現(xiàn)方法,其特征是,包括以下過程:
[0010]定義表單模型和工作流模型;
[0011]建立表單模型定義庫和工作流模型定義庫,并將定義的表單模型和工作流模型分別存儲在表單模型定義庫和工作流模型定義庫中;
[0012]建立表單引擎和工作流引擎,所述表單引擎包括表單入口、表單數(shù)據(jù)、表單參數(shù)、權(quán)限控制和表單調(diào)度組件,所述工作流引擎包括節(jié)點訪問、流程數(shù)據(jù)、流程流轉(zhuǎn)、任務(wù)處理和流程調(diào)度組件;
[0013]在表單調(diào)度組件和流程調(diào)度組件之間建立交互接口,進行數(shù)據(jù)交互;
[0014]流程調(diào)度組件根據(jù)控制流指令通過交互接口獲取表單數(shù)據(jù)生成流程任務(wù);
[0015]對生成的流程任務(wù)進行處理。
[0016]上述方法中,所述表單引擎用以捕獲客戶端請求,將客戶端提交的請求數(shù)據(jù)根據(jù)表單模型定義進行解析、校驗和持久化處理。
[0017]上述方法中,所述表單模型和工作流模型的定義采用XML進行描述,并在定義XML時互相協(xié)調(diào)修改對方的節(jié)點處理規(guī)則。
[0018]上述方法中,所述工作流模型在定義時結(jié)合具體業(yè)務(wù)規(guī)則并引用指定表單定義中相應(yīng)表單域的值來決定回退條件和前進條件,從而使流程引擎在處理表單時能捕獲表單域的值并決定流轉(zhuǎn)條件以及在某階段是否呈現(xiàn)。
[0019]上述方法中,所述表單數(shù)據(jù)采樣XML描述,表單數(shù)據(jù)的顯示樣式通過XSLT來定義。
[0020]上述方法中,所述對生成流程任務(wù)進行處理的過程包括以下步驟:
[0021]將每個節(jié)點的業(yè)務(wù)流程定義為元流程,所述元流程包括開始、處理、啟動流程和結(jié)束四個過程;
[0022]查看控制信息,在每個循環(huán)的開始工作流引擎首先查看控制信息表,如果當前沒有用戶發(fā)來的控制信息則進入實例表讀取下一實例,否則執(zhí)行控制信息表中的工作流控制命令,執(zhí)彳丁完畢后進入實例表;
[0023]查看實例表獲取當前執(zhí)行節(jié)點,所有流程實例按優(yōu)先級進入實例隊列中,根據(jù)運行情況,獲取應(yīng)處理節(jié)點信息,如果是結(jié)束節(jié)點,則結(jié)束當前實例;
[0024]節(jié)點處理操作,首先檢測當前節(jié)點觸發(fā)條件是否達到,相關(guān)數(shù)據(jù)是否完備,然后按照當前節(jié)點處理描述,進行節(jié)點操作,如果操作成功則觸發(fā)目標節(jié)點,并傳送相關(guān)數(shù)據(jù);
[0025]將相關(guān)數(shù)據(jù)信息、交互信息返回給用戶,并更改節(jié)點狀態(tài)和流程實例隊列。
[0026]上述方法中,所述流程流轉(zhuǎn)包括基本流轉(zhuǎn)方式、任務(wù)分發(fā)流轉(zhuǎn)方式和任務(wù)合并流轉(zhuǎn)方式,所述基本流轉(zhuǎn)方式為順序流轉(zhuǎn)方式,當前節(jié)點的任務(wù)處理完畢后啟動下一個節(jié)點流程;所述任務(wù)分發(fā)流轉(zhuǎn)方式為當前節(jié)點任務(wù)完成后進入聯(lián)合審批環(huán)節(jié)時,同時調(diào)用多個啟動流程將下一節(jié)點流程待辦任務(wù)發(fā)送給多個人進行處理;所述任務(wù)合并流轉(zhuǎn)方式就是當前節(jié)點任務(wù)為聯(lián)合審批環(huán)節(jié)時,調(diào)用多個啟動流程將待辦任務(wù)發(fā)送給多個人采用與和或的邏輯關(guān)系進行處理。
[0027]本發(fā)明還提供了一種可配置工作流的實現(xiàn)系統(tǒng),其特征是,包括表單建模工具、工作流建模工具、表單模型定義庫、工作流模型定義庫、表單引擎組件、工作流引擎組件和數(shù)據(jù)庫,所述表單建模工具用以定義表單模型,所述作流建模工具用以定義工作流模型,所述表單模型定義庫用以存儲表單模型,所述工作流模型定義庫用以存儲工作流模型,所述表單引擎用以捕獲客戶端請求,將客戶端提交的請求數(shù)據(jù)根據(jù)表單模型定義進行解析、校驗和持久化處理,所述工作流引擎通過交互接口與表單引擎進行數(shù)據(jù)交互,用以根據(jù)控制流指令獲取表單數(shù)據(jù)生成流程任務(wù),所述數(shù)據(jù)庫用于存儲流程任務(wù)產(chǎn)生的流程實例數(shù)據(jù)。
[0028]本發(fā)明可配置工作流的實現(xiàn)系統(tǒng)中,所述表單弓I擎組件包括表單入口、表單數(shù)據(jù)、表單參數(shù)、權(quán)限控制和表單調(diào)度組件。
[0029]本發(fā)明可配置工作流的實現(xiàn)系統(tǒng)中,所述工作流引擎包括節(jié)點訪問、流程數(shù)據(jù)、流程流轉(zhuǎn)、任務(wù)處理和流程調(diào)度組件。
[0030]本發(fā)明的有益效果是:本發(fā)明綜合了表單引擎和工作流引擎技術(shù),通過對表單模型定義庫和工作流模型定義庫的配置,實現(xiàn)了表單與工作流的自定義;本發(fā)明將表單引擎和工作流引擎進行分離,并采用松耦合接口方式進行表單引擎和工作流引擎之間的數(shù)據(jù)交互;本發(fā)明引入“元流程”的設(shè)計理念,有效利用了傳統(tǒng)工作流架構(gòu),同時又保證了流程流轉(zhuǎn)的靈活性。
[0031]本發(fā)明采用集成工作流引擎與表單系統(tǒng)之間的數(shù)據(jù)與業(yè)務(wù)交互,提出了一種低耦合的解決方案,可根據(jù)不同的表單和工作流流程動態(tài)配置顯隱權(quán)限屬性和進行工作流變量與表單參數(shù)之間的映射,有效地解決了目前現(xiàn)有系統(tǒng)集成中存在的問題。
[0032]本發(fā)明利用“元流程”的應(yīng)用使得流程流轉(zhuǎn)的控制權(quán)從工作流引擎向各功能節(jié)點功能開發(fā)人員手中傾斜,從而提高了復(fù)雜業(yè)務(wù)判斷情況下的流程流轉(zhuǎn),簡化對典型流程的設(shè)計過程,并提高元流程的可復(fù)用性。
【附圖說明】
[0033]下面結(jié)合附圖對本發(fā)明進一步說明:
[0034]圖1是本發(fā)明所述方法的流程圖;
[0035]圖2是本發(fā)明所述系統(tǒng)的結(jié)構(gòu)示意圖;
[0036]圖3是本發(fā)明所述元流程的流程圖;
[0037]圖4是本發(fā)明所述流程流轉(zhuǎn)的流程圖;
[0038]圖5是本發(fā)明所述流程基本流轉(zhuǎn)方式的流程圖;
[0039]圖6是本發(fā)明所述流程任務(wù)分發(fā)流轉(zhuǎn)方式的流程圖;
[0040]圖7是本發(fā)明所述流程任務(wù)合并流轉(zhuǎn)“與”方式的流程圖;
[0041]圖8是本發(fā)明所述流程任務(wù)合并流轉(zhuǎn)“或”方式的流程圖。
【具體實施方式】
[0042]為能清楚說明本方案的技術(shù)特點,下面通過【具體實施方式】,并結(jié)合其附圖,對本發(fā)明進行詳細闡述。下文的公開提供了許多不同的實施例或例子用來實現(xiàn)本發(fā)明的不同結(jié)構(gòu)。為了簡化本發(fā)明的公開,下文中對特定例子的部件和設(shè)置進行描述。此外,本發(fā)明可以在不同例子中重復(fù)參考數(shù)字和/或字母。這種重復(fù)是為了簡化和清楚的目的,其本身不指示所討論各種實施例和/或設(shè)置之間的關(guān)系。應(yīng)當注意,在附圖中所圖示的部件不一定按比例繪制。本發(fā)明省略了對公知組件和處理技術(shù)及工藝的描述以避免不必要地限制本發(fā)明。
[0043]如圖1所示,本發(fā)明的一種可配置工作流的實現(xiàn)方法,它包括以下過程:
[0044]定義表單模型和工作流模型;
[0045]建立表單模型定義庫和工作流模型定義庫,并將定義的表單模型和工作流模型分別存儲在表單模型定義庫和工作流模型定義庫中;
[0046]建立表單引擎和工作流引擎,所述表單引擎包括表單入口、表單數(shù)據(jù)、表單參數(shù)、權(quán)限控制和表單調(diào)度組件,所述工作流引擎包括節(jié)點訪問、流程數(shù)據(jù)、流