崔中偉,王 璞,滿宜謙
(中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)
鐵路物資管理信息系統(tǒng)中審批工作流功能的設(shè)計(jì)與實(shí)現(xiàn)
崔中偉,王 璞,滿宜謙
(中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)
分析鐵路物資管理信息系統(tǒng)對(duì)審批工作流的業(yè)務(wù)需求,詳述審批工作流的功能設(shè)計(jì)和關(guān)鍵技術(shù),實(shí)現(xiàn)了審批流程的透明化和高效化。
審批工作流;Flex;鐵路物資
鐵路物資管理信息系統(tǒng)(簡(jiǎn)稱:鐵路物資系統(tǒng))是為適應(yīng)鐵路總公司新的物資管理需求,對(duì)既有物資管理信息系統(tǒng)進(jìn)行升級(jí)改造進(jìn)行的定制開發(fā)。為滿足不同管理層級(jí)、模式等對(duì)生產(chǎn)經(jīng)營物資和建設(shè)物資的管理要求,在鐵路物資系統(tǒng)在審批環(huán)節(jié)中引入了工作流,以提高管理的透明度、效率和質(zhì)量。
工作流就是業(yè)務(wù)過程的部分或整體在計(jì)算機(jī)應(yīng)用環(huán)境下的自動(dòng)化,是對(duì)工作流程及其各操作步驟之間業(yè)務(wù)規(guī)則的抽象、概括描述。為了實(shí)現(xiàn)某個(gè)業(yè)務(wù)目標(biāo),利用計(jì)算機(jī)在多個(gè)參與者之間按某種預(yù)定規(guī)則自動(dòng)傳遞文檔、信息或者任務(wù),從而實(shí)現(xiàn)某個(gè)預(yù)期的業(yè)務(wù)目標(biāo),或者促使此目標(biāo)的實(shí)現(xiàn)。簡(jiǎn)單地說,工作流就是一系列相互銜接、自動(dòng)進(jìn)行的業(yè)務(wù)活動(dòng)或任務(wù)。一個(gè)工作流包括一組任務(wù)(或活動(dòng))及它們的相互順序關(guān)系,還包括流程及任務(wù)(或活動(dòng))的啟動(dòng)和終止條件,以及對(duì)每個(gè)任務(wù)(或活動(dòng))的描述。
工作流管理模塊通過定義、創(chuàng)建、運(yùn)行和管理工作流,將傳統(tǒng)信息管理軟件的流程控制、管理及其他公共部分抽象出來,集合成為一種流程開發(fā)平臺(tái)。用戶只需按照特定步驟將控制流程描述出來,就可以對(duì)該流程進(jìn)行自動(dòng)執(zhí)行和有效管理,避免了對(duì)不同應(yīng)用的重復(fù)開發(fā),并在實(shí)際操作中大幅加快工作效率。
工作流引擎是工作流管理模塊的核心,工作流引擎的作用主要包括兩個(gè)方面:(1)從數(shù)據(jù)庫中讀取工作流的基本信息和控制信息,并判斷當(dāng)前工作處在整個(gè)工作流程的哪一個(gè)步驟;(2)按照工作流的設(shè)置和條件約束,將該步驟的工作與上一步和下一步的工作連接起來,使審批任務(wù)能夠順利從上一步轉(zhuǎn)移到下一步。以工作流引擎為核心,基于工作流的應(yīng)用可以為面向使用者、管理者、設(shè)計(jì)者分別提供針對(duì)性的應(yīng)用。達(dá)到改進(jìn)和優(yōu)化業(yè)務(wù)流程,提高業(yè)務(wù)工作效率;實(shí)現(xiàn)更好的業(yè)務(wù)過程控制,提高業(yè)務(wù)協(xié)同能力等。
在鐵路物資系統(tǒng)中,工作流用于實(shí)現(xiàn)審批環(huán)節(jié)的流程。審批的工作流程如圖 1所示。因此,鐵路物資系統(tǒng)中工作流管理模塊需要實(shí)現(xiàn)以下功能:
(1)能夠根據(jù)工作流的基本規(guī)則,以圖形的方式輔助用戶創(chuàng)建工作流;
(2)以圖形方式對(duì)工作進(jìn)行設(shè)置、修改、刪除等;
(3)創(chuàng)建好的工作流存儲(chǔ)在數(shù)據(jù)庫中,在進(jìn)行審批流程時(shí),能夠根據(jù)設(shè)計(jì)好的工作流生成工作流實(shí)例;
(4)工作流引擎可以按照預(yù)設(shè)的流程實(shí)現(xiàn)審批的正向和回退流程如圖1所示。

圖 1 工作流引擎流程圖
2.1 工作流管理模塊的結(jié)構(gòu)設(shè)計(jì)
工作流管理模塊由工作流配置工具、工作流引擎和相應(yīng)的數(shù)據(jù)庫表構(gòu)成。工作流配置工具提供了一個(gè)管理工作流的圖形操作界面,并將生成的工作流存入數(shù)據(jù)庫中。工作流引擎負(fù)責(zé)驅(qū)動(dòng)生成的工作流實(shí)例按照設(shè)定的流程運(yùn)轉(zhuǎn)。
2.2 工作流配置工具設(shè)計(jì)
工作流配置工具采用Flex。Flex是一種基于Flash的開源富客戶端應(yīng)用解決方案。開發(fā)人員通過在FlexBuilder中使用MXML語言或ActionScript腳本進(jìn)行開發(fā),生成一個(gè)可以在Flash虛擬機(jī)上運(yùn)行的swf文件,只要客戶端安裝了Flash Player就可以直接進(jìn)行訪問。圖 2是鐵路物資2.0系統(tǒng)工作流配置工具界面。
2.2.1 工作流圖形的繪制
可視化工作流管理模塊允許用戶根據(jù)實(shí)際情況通過拖放節(jié)點(diǎn)圖標(biāo)和連線的方式繪制工作流圖形。為保證繪制的工作流圖形是正確的,需要保證圖形無獨(dú)立節(jié)點(diǎn)、圖形不能出現(xiàn)環(huán)形等約束條件。點(diǎn)擊“驗(yàn)證流程正確性”按鈕可以對(duì)工作流進(jìn)行正確性檢查,不符合規(guī)則的節(jié)點(diǎn)將被刪除。

圖 2 流程設(shè)計(jì)器界面
2.2.2 工作流人員分配
在審批流程中,每一個(gè)節(jié)點(diǎn)都對(duì)應(yīng)一個(gè)具體的職能部門。因此,在生成審批流程時(shí),要為節(jié)點(diǎn)分配對(duì)應(yīng)的審批職能部門。雙擊圖形節(jié)點(diǎn),彈出的屬性窗口中,可以設(shè)置節(jié)點(diǎn)的基本屬性、參與者和擴(kuò)展屬性,如圖 3所示。

圖 3 節(jié)點(diǎn)屬性配置
2.3 工作流引擎
在進(jìn)行流程審批時(shí),工作流引擎根據(jù)待審批的單據(jù)類型,為待審批的單據(jù)生成對(duì)應(yīng)的工作流實(shí)例,并將工作流實(shí)例存入數(shù)據(jù)庫中。工作流引擎把工作流實(shí)例中設(shè)定的當(dāng)前審批人,分配給待審批單據(jù),當(dāng)審批人登錄系統(tǒng)時(shí),在審批頁面中就會(huì)看到待審批的單據(jù)。工作流引擎會(huì)把所有的審批動(dòng)作存入數(shù)據(jù)庫流程日志表中。
審批工作流能夠?qū)崿F(xiàn)審批通過和審批回退。當(dāng)審批人完成審批操作時(shí),工作流引擎會(huì)更新活動(dòng)實(shí)例表中當(dāng)前節(jié)點(diǎn)ID的數(shù)據(jù),使工作流的節(jié)點(diǎn)指向下步驟的審批流程。審批人審批不通過,要求工作流回退時(shí),引擎從活動(dòng)定義表中找出該實(shí)例的上一節(jié)點(diǎn)ID,更新到活動(dòng)實(shí)例表中,并將節(jié)點(diǎn)狀態(tài)改為回退,實(shí)現(xiàn)了工作流的回退操作。
2.4 日志記錄
在工作流的所有流轉(zhuǎn)過程,日志模塊都會(huì)記錄相應(yīng)的信息。工作流出現(xiàn)異常情況情況時(shí),可以根據(jù)日志恢復(fù)到異常前的狀態(tài)。
2.5 數(shù)據(jù)庫表設(shè)計(jì)
工作流涉及到的主要數(shù)據(jù)表如圖 4所示。

圖 4 引擎驅(qū)動(dòng)數(shù)據(jù)庫
其中,流程定義表、活動(dòng)定義表、活動(dòng)關(guān)系表、活動(dòng)參與者用于保存工作流管理模塊生成的工作流數(shù)據(jù)。流程實(shí)例表、活動(dòng)實(shí)例表用于保存工作流實(shí)例數(shù)據(jù)。
流程定義表:存儲(chǔ)工作流節(jié)點(diǎn)和連接線在流程圖設(shè)計(jì)器中的坐標(biāo)位置數(shù)據(jù);
活動(dòng)定義表:存儲(chǔ)流程圖中節(jié)點(diǎn)屬性數(shù)據(jù);
活動(dòng)關(guān)系表:存儲(chǔ)流程圖中連接線屬性數(shù)據(jù);
活動(dòng)參與者:存儲(chǔ)流程圖中節(jié)點(diǎn)設(shè)定的審批人的數(shù)據(jù);
流程實(shí)例表:存儲(chǔ)待審批單據(jù)生成的工作流實(shí)例數(shù)據(jù);
活動(dòng)實(shí)例表:存儲(chǔ)當(dāng)前流程實(shí)例的當(dāng)前節(jié)點(diǎn)的數(shù)據(jù);
單據(jù)類型表:存儲(chǔ)單據(jù)類型和工作流對(duì)應(yīng)關(guān)系;
流程日志表:存儲(chǔ)工作流所有流轉(zhuǎn)過程產(chǎn)生的狀態(tài)數(shù)據(jù)。
本方案已在鐵路物資系統(tǒng)中得到應(yīng)用,能夠很好地適應(yīng)鐵路物資系統(tǒng)對(duì)審批流程的需求,目前,雖然主要應(yīng)用在審批環(huán)節(jié),但是本文提出的工作流設(shè)計(jì)方案還可以適應(yīng)更多需要進(jìn)行流程控制的環(huán)節(jié)。隨著鐵路物資系統(tǒng)在各鐵路局的推廣使用,工作流技術(shù)的應(yīng)用還將進(jìn)一步發(fā)展和完善。
[1] 羅海濱,范玉順.工作流技術(shù)總數(shù)[J].軟件學(xué)報(bào),2000(7): 899-907.
[2]嚴(yán) 芬,殷新春.一個(gè)工作流定義工具的設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2004(15):110-113.
[3]鄒曉宇,王 戟,周俊鵬.基于工作流的軟件程開發(fā)平臺(tái)的研究[J].計(jì)算機(jī)應(yīng)用研究,2006 (1):43-46 .
[4]李海波,戰(zhàn)德臣,徐曉飛.基于工作流引擎的構(gòu)件組裝體系結(jié)構(gòu)[J].軟件學(xué)報(bào),2006(6):1401-1410.
[5] Tariq Ahmed. Flex 4 實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2012:10-12 .
責(zé)任編輯徐侃春
Examination and approval workflow function for Railway Materials Management Information System
CUI Zhongwei, WANG Pu, MAN Yiqian
( Institute of Computing Technologies, China Academy of Railway Sciences, Beijing 100081, China )
This article analyzed business needs of examination and approval workflow for the Railway Materials Management Information System, described the functional design and key technologies, implemented transparent and efficiency of examination and approval process.
examination and approval workflow; Flex; railway materials
F530.6∶TP39
A
1005-8451(2016)12-0020-03
2016-05-17
崔中偉,工程師;王 璞,工程師。