專利名稱:一種業(yè)務(wù)流程管理支持方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工作流領(lǐng)域,尤其涉及工作流的兼容方法。
背景技術(shù):
工作流(Workflow),就是“業(yè)務(wù)過程的部分或整體在計(jì)算機(jī)應(yīng)用環(huán)境下的自動(dòng)化”,它主要解決的是“使在多個(gè)參與者之間按照某種預(yù)定義的規(guī)則傳遞文檔、信息或任務(wù)的過程自動(dòng)進(jìn)行,從而實(shí)現(xiàn)某個(gè)預(yù)期的業(yè)務(wù)目標(biāo),或者促使此目標(biāo)的實(shí)現(xiàn)。目前,因工作流其具有圖形化、可視化設(shè)計(jì)流程圖,支持各種復(fù)雜流程,表單功能強(qiáng)大,擴(kuò)展便捷,處理過程可跟蹤、管理,豐富的統(tǒng)計(jì)、查詢、報(bào)表功能等特點(diǎn),很多企業(yè)及部門都采用工作流引擎對業(yè)務(wù)流程進(jìn)行管理。但是,由于工作流的需要,工作流引擎的種類繁多,如麗S系統(tǒng)和MES系統(tǒng),還有很多具體應(yīng)用系統(tǒng),在多個(gè)工作流引擎的使用過程中,一個(gè)重要的問題就是不同工作流引擎的兼容性,為此,常常導(dǎo)致在支持工作流這個(gè)環(huán)節(jié)上總要需要很多的人力和物力,特別是在自己開發(fā)的工作流引擎與主流產(chǎn)品的兼容性上,而這嚴(yán)重制約了工作流的廣泛應(yīng)用和發(fā)展。
發(fā)明內(nèi)容
基于此,本發(fā)明的首要目的是提供一種業(yè)務(wù)流程管理支持方法,該支持方法能夠兼容多種工作流,有效地整合利用工作流資源,保持與工作流引擎的同步。本發(fā)明的另一個(gè)目的是提供一種業(yè)務(wù)流程管理支持方法,該支持方法能夠有效地整合利用多種工作流引擎資源,且控制方便,實(shí)現(xiàn)簡單,成本低廉。為達(dá)到上述目的,本發(fā)明是按照如下方式實(shí)現(xiàn)的。一種業(yè)務(wù)流程管理支持方法,其特征在于該方法包括如下步驟
A、選擇工作流引擎,
B、對工作流引擎接口進(jìn)行封裝;
所述的封裝,是采用接口映射的方法,在接口中定義工作流引擎的各種接口和工作流模塊接口,并將工作流引擎的各種接口與工作流模板接口的接口屬性進(jìn)行映射。而實(shí)現(xiàn)該工作流模板接口的時(shí)候是利用工作流配置文件來進(jìn)行讀取工作流引擎的各個(gè)接口來進(jìn)行實(shí)現(xiàn)。例如我們定義了工作流模板接口,定義了啟動(dòng)流程(工作流引擎利用的流程),執(zhí)行任務(wù),結(jié)束流程(工作流引擎利用的流程)的方法,定義了工作流配置文件,定義了不同工作流引擎的各種接口名稱(由于不同工作流引擎的接口名字不一定一樣,但做的事情是一樣的,所以我們專門對各種不同工作流引擎的接口名字與工作流模板接口的實(shí)現(xiàn)類中的接口屬性進(jìn)行了映射,使得適應(yīng)不同工作流引擎,再通過動(dòng)態(tài)的生成spring配置文件,其中主要是定義各種接口 bean及其實(shí)現(xiàn)類)。工作流模板接口的實(shí)現(xiàn)類中定義了工作流引擎的各種接口屬性,接口屬性通過spring的bean來取值,通過接口屬性來實(shí)現(xiàn)啟動(dòng)流程,執(zhí)行任務(wù),結(jié)束流程的方法,為了能夠更好的適應(yīng)各種工作流引擎,我們自己定義了流程的所有對象(定義所有流程結(jié)點(diǎn)、流程實(shí)例、流程任務(wù)的class對象),通過hibernate自動(dòng)生成需要的數(shù)據(jù)庫,在工作流方面我們用自己定義的對象來對工作流引擎進(jìn)行操作。C、對TOB流程進(jìn)行定義; D、對TOB流程進(jìn)行管理。本發(fā)明是針對工作流的支持器,主要應(yīng)用于需要工作流支持的各種應(yīng)用場景。其工作流引擎的選擇,可以是選擇目前常用的工作流引擎,或者根據(jù)自己的需要進(jìn)行添加。所述的TOB流程定義,是指選擇流程中需要定義的活動(dòng)(包括該活動(dòng)的動(dòng)態(tài)表單) 以及子流程,按一定的順序組織起來。定義的規(guī)則由于各種工作流引擎利用的流程定義中的各個(gè)結(jié)點(diǎn)不一定一樣,所以在前面的工作流配置文件也對該流程定義中的結(jié)點(diǎn)名字進(jìn)行了映射,保證不同工作流引擎對應(yīng)自己的流程定義。定義的結(jié)點(diǎn)主要有開始結(jié)點(diǎn)(有且只有一個(gè)),結(jié)束結(jié)點(diǎn)(有且只有一個(gè)),判斷結(jié)點(diǎn),分支結(jié)點(diǎn),任務(wù)結(jié)點(diǎn),子流程結(jié)點(diǎn)。其中的任務(wù)結(jié)點(diǎn)需要選擇表單(動(dòng)態(tài)表單),選擇執(zhí)行人員(個(gè)人任務(wù),多人任務(wù))等等。為了使得定義的流程能夠適應(yīng)不同的工作流引擎,盡量用英文來書寫各個(gè)結(jié)點(diǎn)名字和流程名字。Web流程的定義主要指的是可以在瀏覽器中對流程進(jìn)行定義。所述WEB流程管理,是指列出所有流程以及流程實(shí)例,查看各個(gè)流程的執(zhí)行狀況及其動(dòng)態(tài)數(shù)據(jù)。本發(fā)明通過對工作流的整合,解決工作流引擎的變化而造成IT成本上升能夠有效地提高企業(yè)運(yùn)營效率,改善企業(yè)資源利用,保護(hù)企業(yè)IT投資,集中精力處理核心業(yè)務(wù),與流行的工作流引擎保持同步,優(yōu)化并合理利用資源,減少工作流引擎與企業(yè)之間的磨合,提高其易用性。
圖1為本發(fā)明實(shí)施的系統(tǒng)框架圖。圖2為本發(fā)明實(shí)施工作流的處理流程圖。圖3為本發(fā)明實(shí)施動(dòng)態(tài)表單的流程圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖1、圖2所示,對于實(shí)現(xiàn)本發(fā)明的方法,包括通過工作流模塊選擇工作流引擎、對工作流引擎進(jìn)行封裝、對WEB流程進(jìn)行定義和對TOB流程進(jìn)行管理幾個(gè)步驟,其中對于工作流引擎的選擇相對比較簡單,可以采用選擇現(xiàn)有的工作流引擎,也可以根據(jù)自己的需要進(jìn)行添加。一個(gè)重要的問題是對選擇的工作流引擎所提供的接口進(jìn)行封裝,從而達(dá)到流行的工作流引擎的支持,利用工作流引擎對工作流進(jìn)行管理,與流程有關(guān)的數(shù)據(jù)一概用動(dòng)態(tài)表單來處理。對于工作流模塊,首先定義工作流配置文件,再對各種不同工作流引擎的接口名字與工作流模板接口的實(shí)現(xiàn)類中的接口屬性進(jìn)行了映射,使得適應(yīng)不同工作流引擎;然后通過動(dòng)態(tài)的生成spring配置文件,所述spring配置文件主要是定義各種接口 bean及其實(shí)現(xiàn)類。工作流模板接口的實(shí)現(xiàn)類中定義了工作流引擎的各種接口屬性,接口屬性通過 spring的bean來取值,通過接口屬性來實(shí)現(xiàn)啟動(dòng)流程,執(zhí)行任務(wù),結(jié)束流程的方法,為了能夠更好的適應(yīng)各種工作流引擎,我們自己定義了流程的所有對象(包括定義所有流程結(jié)點(diǎn)、 流程實(shí)例、流程任務(wù)的class對象),通過hibernate自動(dòng)生成需要的數(shù)據(jù)庫,在工作流方面通過自己定義的對象來對工作流引擎進(jìn)行操作。由于各種工作流引擎利用的流程定義中的各個(gè)結(jié)點(diǎn)不一定一樣,另一個(gè)重要的問題是在前面的工作流配置文件也對該流程定義中的結(jié)點(diǎn)名字進(jìn)行了映射,保證不同工作流引擎對應(yīng)自己的流程定義。定義的結(jié)點(diǎn)主要有開始結(jié)點(diǎn)(有且只有一個(gè)),結(jié)束結(jié)點(diǎn)(有且只有一個(gè)),判斷結(jié)點(diǎn),分支結(jié)點(diǎn),任務(wù)結(jié)點(diǎn),子流程結(jié)點(diǎn)。其中的任務(wù)結(jié)點(diǎn)需要選擇表單(動(dòng)態(tài)表單),選擇執(zhí)行人員(個(gè)人任務(wù),多人任務(wù))等等。為了使得定義的流程能夠適應(yīng)不同的工作流引擎,盡量用英文來書寫各個(gè)結(jié)點(diǎn)名字和流程名字。Web流程的定義主要指的是可以在瀏覽器中對流程進(jìn)行定義。工作流的結(jié)構(gòu)采用傳統(tǒng)的MVC結(jié)構(gòu)。功能工作流的定義,執(zhí)行,結(jié)束。結(jié)合圖3所示,動(dòng)態(tài)表單結(jié)構(gòu)采用傳統(tǒng)的MVC結(jié)構(gòu)。動(dòng)態(tài)表單的功能為動(dòng)態(tài)表單的定義,查看,修改以及動(dòng)態(tài)表單數(shù)據(jù)的存儲(chǔ)和查看。動(dòng)態(tài)表單主要分成表單的自定義和表單數(shù)據(jù)的存儲(chǔ)兩部分實(shí)現(xiàn),表單的自定義可通過兩種方式生成
1、動(dòng)態(tài)表單可視化生成器使用javascript技術(shù)實(shí)現(xiàn)鼠標(biāo)拖放的方式任意組合web組件。可以任意設(shè)置表單元素的顏色和顯示風(fēng)格,隨意調(diào)整表單元素的長寬高,進(jìn)行個(gè)性化的表單排版。隨意添加和刪除表單元素,適應(yīng)用戶需求的變化,動(dòng)態(tài)生成適合用戶需要的靜態(tài)頁面表單。并且封裝了一些特有常用的控件,如日期控件和附件控件,很方便生成各種用途的表單,如請假申請表,項(xiàng)目申請表等,達(dá)到靈活、快捷、個(gè)性的特點(diǎn)。2、動(dòng)態(tài)表單XML解析器通過xml (可擴(kuò)展標(biāo)記語音)把表單的元素、展示樣式及排版編制成xml文檔,通過動(dòng)態(tài)表單XML解析器自動(dòng)生成靜態(tài)頁面表單。在本發(fā)明的具體實(shí)施中,動(dòng)態(tài)表單通過解析特定的xml文件(針對動(dòng)態(tài)表單)生成對應(yīng)的jsp文件。具體地說,解析XML文件及生成jsp文件的具體步驟為。1、用xml語言,按標(biāo)識(shí)(標(biāo)識(shí)是對表單元素做記號,作用是為了便于識(shí)別)定義表單的元素及顏色大小長度等所有html屬性。2、用開源組件digester解析xml,解析表單的元素,解析表單的排版布局和表單元素的風(fēng)格,解析自定義組件(如日歷事件和附件事件等),解析綁定的特定事件(比如回車事件等)。
3、識(shí)別解析出來的表單元素的標(biāo)識(shí),并按排版布局重組表單。4、解析綁定的特定事件,并載入表單綁定的特定事件,載入表單數(shù)據(jù),對號填充表單數(shù)據(jù)項(xiàng)。5、動(dòng)態(tài)生成表單的html代碼,輸出到j(luò)sp頁面。通過動(dòng)態(tài)表單,這樣能實(shí)現(xiàn)表單數(shù)據(jù)的隨意組合和拆分,并建立與表單表現(xiàn)層的索引關(guān)系。實(shí)現(xiàn)表單數(shù)據(jù)層與表單顯示層分離,減少表單的耦合關(guān)系,使得相關(guān)表單的數(shù)據(jù)轉(zhuǎn)換后能夠完美的展現(xiàn)出來。因此,本發(fā)明配置文件來管理工作流引擎的接口,克服了不同工作流引擎的接口不一樣的問題。為了解決動(dòng)態(tài)表單的這一問題,定義了表單的xml格式。本發(fā)明的優(yōu)點(diǎn)為易于利用。當(dāng)需要工作流支持,只需要將發(fā)明加入工程就可以了。易于擴(kuò)展。當(dāng)需要個(gè)性化工作流時(shí),可以擴(kuò)展需要的接口就可以了。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種業(yè)務(wù)流程管理支持方法,其特征在于該方法包括如下步驟A、選擇工作流引擎,B、對工作流引擎接口進(jìn)行封裝;所述的封裝,是采用接口映射的方法,在接口中定義工作流引擎的各種接口和工作流模塊接口,并將工作流引擎的各種接口與工作流模板接口的接口屬性進(jìn)行映射,而實(shí)現(xiàn)該工作流模板接口的時(shí)候是利用工作流配置文件來進(jìn)行讀取工作流引擎的各個(gè)接口來進(jìn)行實(shí)現(xiàn);C、對TOB流程進(jìn)行定義;D、對TOB流程進(jìn)行管理。
2.如權(quán)利要求1所述的業(yè)務(wù)流程管理支持方法,其特征在于工作流引擎的選擇,是選擇目前常用的工作流引擎,或者根據(jù)自己的需要進(jìn)行添加。
3.如權(quán)利要求1所述的業(yè)務(wù)流程管理支持方法,其特征在于對于工作流模塊,首先定義工作流配置文件,再對各種不同工作流引擎的接口名字與工作流模板接口的實(shí)現(xiàn)類中的接口屬性進(jìn)行了映射,使得適應(yīng)不同工作流引擎;然后通過動(dòng)態(tài)的生成spring配置文件, 所述spring配置文件主要是定義各種接口 bean及其實(shí)現(xiàn)類。
4.如權(quán)利要求4所述的業(yè)務(wù)流程管理支持方法,其特征在于工作流模板接口的實(shí)現(xiàn)類中定義了工作流引擎的各種接口屬性,接口屬性通過spring的bean來取值,通過接口屬性來實(shí)現(xiàn)啟動(dòng)流程,執(zhí)行任務(wù),結(jié)束流程的方法。
5.如權(quán)利要求1所述的業(yè)務(wù)流程管理支持方法,其特征在于所述的WEB流程定義,是指選擇流程中需要定義的活動(dòng)(包括該活動(dòng)的動(dòng)態(tài)表單)以及子流程,按一定的順序組織起來ο
6.如權(quán)利要求5所述的業(yè)務(wù)流程管理支持方法,其特征在于Web流程的定義主要指的是可以在瀏覽器中對流程進(jìn)行定義。
7.如權(quán)利要求6所述的業(yè)務(wù)流程管理支持方法,其特征在于定義的方法為在工作流配置文件也對該流程定義中的結(jié)點(diǎn)名字進(jìn)行了映射,保證不同工作流引擎對應(yīng)自己的流程定義;定義的結(jié)點(diǎn)主要有開始結(jié)點(diǎn),結(jié)束結(jié)點(diǎn),判斷結(jié)點(diǎn),分支結(jié)點(diǎn),任務(wù)結(jié)點(diǎn),子流程結(jié)點(diǎn);其中的任務(wù)結(jié)點(diǎn)需要選擇動(dòng)態(tài)表單,選擇執(zhí)行人員。
8.如權(quán)利要求1所述的業(yè)務(wù)流程管理支持方法,其特征在于所述WEB流程管理,是指列出所有流程以及流程實(shí)例,查看各個(gè)流程的執(zhí)行狀況及其動(dòng)態(tài)數(shù)據(jù)。
全文摘要
本發(fā)明是提供一種業(yè)務(wù)流程管理支持方法,該方法包括選擇工作流引擎、對工作流引擎接口進(jìn)行封裝、對WEB流程進(jìn)行定義和對WEB流程進(jìn)行管理等步驟。本發(fā)明通過對工作流的整合,解決工作流引擎的變化而造成IT成本上升能夠有效地提高企業(yè)運(yùn)營效率,改善企業(yè)資源利用,保護(hù)企業(yè)IT投資,集中精力處理核心業(yè)務(wù),與流行的工作流引擎保持同步,優(yōu)化并合理利用資源,減少工作流引擎與企業(yè)之間的磨合,提高其易用性。
文檔編號G06Q10/00GK102298740SQ20111028542
公開日2011年12月28日 申請日期2011年9月23日 優(yōu)先權(quán)日2011年9月23日
發(fā)明者馮劍, 林文炳, 王應(yīng)時(shí) 申請人:深圳市華波美通信技術(shù)有限公司