摘要:經(jīng)費(fèi)預(yù)算管理系統(tǒng)是高校財務(wù)管理的重要業(yè)務(wù)系統(tǒng)之一,但是目前系統(tǒng)卻存在諸多問題,例如可維護(hù)性差、升級困難等。jBPM是一個非常適合擴(kuò)展的、靈活的工作流管理系統(tǒng),可以在不改變具體功能模塊實現(xiàn)方式的前提下,通過過程模型的重新定義來改變或改進(jìn)系統(tǒng)的功能,學(xué)校財務(wù)部門按照業(yè)務(wù)流程動態(tài)的構(gòu)建經(jīng)費(fèi)預(yù)算管理系統(tǒng)。
關(guān)鍵詞:工作流;經(jīng)費(fèi)管理系統(tǒng);jBPM
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 23-0000-02
1 引言
經(jīng)費(fèi)預(yù)算管理是財務(wù)管理最常規(guī)的手段之一,尤其在高校顯得非常重要,通過經(jīng)費(fèi)預(yù)算管理,可以有效的控制和規(guī)劃經(jīng)費(fèi)的收入和支出,有效的支持學(xué)校的正常運(yùn)營。一個完善的、效率高的經(jīng)費(fèi)管理系統(tǒng)方案對于保障預(yù)算收支平衡、監(jiān)督學(xué)校預(yù)算行為、嚴(yán)格控制收支的規(guī)模、保障正常教學(xué)科研工作的展開起到了非常重要的作用,所以,采用適當(dāng)?shù)募夹g(shù),規(guī)范經(jīng)費(fèi)管理流程和管理方式對于任何單位來說都應(yīng)該是財務(wù)管理工作的首要問題。目前,筆者所在高校的經(jīng)費(fèi)預(yù)算管理系統(tǒng)的開發(fā)模式是將經(jīng)費(fèi)預(yù)算管理的業(yè)務(wù)流程滲透到軟件系統(tǒng)中,從而導(dǎo)致了系統(tǒng)在開發(fā)階段、實施階段和維護(hù)使用階段均出現(xiàn)了不同程度的問題,主要表現(xiàn)在系統(tǒng)不同模塊之間的內(nèi)聚程度低,耦合程度高,開發(fā)缺乏靈活性;低內(nèi)聚高耦合導(dǎo)致系統(tǒng)的可維護(hù)性非常差,升級困難,從而出現(xiàn)系統(tǒng)跟不上學(xué)校不斷變化的業(yè)務(wù)需求。
工作流技術(shù)的出現(xiàn),可以很好的解決以上問題。利用該技術(shù),便可以在不改變具體功能模塊實現(xiàn)方式(操作系統(tǒng)、硬件環(huán)境、編程語言、用戶界面和應(yīng)用程序開發(fā)工具等)的前提下,通過過程模型的重新定義來改變或改進(jìn)系統(tǒng)的功能,這樣可以是學(xué)校財務(wù)部門按照業(yè)務(wù)流程動態(tài)的構(gòu)建經(jīng)費(fèi)預(yù)算管理系統(tǒng),改變傳統(tǒng)的人適應(yīng)軟件的模式,這種非常符合實際應(yīng)用時的需求。
2 jBPM工作流介紹
2.1 基本模塊介紹
JBoss jBPM[1]是一個非常適合擴(kuò)展的、靈活的工作流管理系統(tǒng),其核心模塊是一個jar數(shù)據(jù)包,大小僅有299KB,該包提供了標(biāo)準(zhǔn)的Java應(yīng)用程序接口,調(diào)用非常方便,應(yīng)用的方式也非常靈活。另外,還可以通過J2EE進(jìn)行部署(Websphere,Weblogic,BEA,Jboss)。
jBPM工作流系統(tǒng)主要包括以下組件構(gòu)成:
Service
|-----Definition service
|----- Definition service Impl
|-----Execution service
|----- Definition service Impl
|----- scheduler service
|----- scheduler service Impl
|----- command service
|----- command service Impl
各service功能如下[2]:
(1)Definition service為用戶提供流程定義發(fā)布/刪除服務(wù)
(2)Execution service為用戶提供流程執(zhí)行服務(wù)
(3)scheduler server是超時調(diào)度服務(wù)器
(4)command server是異步調(diào)用服務(wù)器
在jBPM中,流程定義以流程檔案的形式被封裝,流程檔案需要送到j(luò)PDL流程引擎才能被執(zhí)行。jPDL流程引擎的主要工作是進(jìn)行流程圖的遍歷、定義動作的執(zhí)行以及流程狀態(tài)的維持,同時對所有的流程時間進(jìn)行記錄。jBPM將狀態(tài)機(jī)作為狀態(tài)變化控制的基礎(chǔ),而且對活動圖的建模模型進(jìn)行擴(kuò)充,jBPM的執(zhí)行機(jī)制采用的是petri網(wǎng)算法。
2.2 jBPM工作流程的實施過程
jBPM工作流程的實施過程一共分為4個階段,分別為定義、部署、執(zhí)行和監(jiān)控[3],下面對沒個階段分別介紹。
(1)定義:工作流系統(tǒng)的定義接口為流程開發(fā)人員(軟件開發(fā)人員和業(yè)務(wù)分析師)部署流程定義提供條件。jBPM流程的定義過程描述如下:①過程定義→②任務(wù)定義→③流程的擴(kuò)充;
(2)部署:在工作流定義完成以后,必須將流程定義部署到數(shù)據(jù)庫之中,這樣可以讓jBPM工作流引擎能夠在數(shù)據(jù)庫中讀取工作流定義相關(guān)信息并且執(zhí)行。jBPM提供工作流定義部署接口。除此以外,還囊括了Hibenate的配置和部署、jBPM的配置和部署和web應(yīng)用的配置和部署等。
(3)執(zhí)行:用戶和系統(tǒng)可以通過jBPM執(zhí)行接口來操作流程實例(流程定義的執(zhí)行),通過狀態(tài)機(jī)來進(jìn)行流程定義的控制,jBPM執(zhí)行接口主要包含兩個非常重要的方法:第一個方法為啟動執(zhí)行一個流程定義;第二個方法為通告工作流系統(tǒng)流程定義的控制情況。
(4)監(jiān)控:系統(tǒng)用戶可以利用jBPM的任務(wù)接口獲取目前等待辦理的任務(wù);通過查閱狀態(tài)機(jī)的輸出可以掌握流程實例的狀態(tài),從而明確流程運(yùn)行的準(zhǔn)確狀態(tài)。如過需要,對于有高級權(quán)限的用戶,還可以對流程實例的執(zhí)行進(jìn)行暫停、刪除或恢復(fù)。
3 工作流模型應(yīng)用于系統(tǒng)開發(fā)的可行性
jBPM越來越受到眾多系統(tǒng)的使用,因為以jBPM作為工作流引擎,具有非常優(yōu)秀的特點(diǎn)[4]:
(1)不同的數(shù)據(jù)庫均能滿足jBPM的需求,因此可以對現(xiàn)有的系統(tǒng)進(jìn)行改造,可以減少系統(tǒng)軟件的投資;
(2)jBPM和其他服務(wù)的集成兼容性非常好,如Email服務(wù),可以充分發(fā)揮“跟蹤一通知”模型的巨大優(yōu)勢;
(3)利用UML技術(shù)進(jìn)行活動圖建模,可以讓需求分析更詳細(xì),減少業(yè)務(wù)分析人員的分析模型和開發(fā)人員的實施模型之間的差異;
(4)流程的擴(kuò)展性優(yōu)秀,因此在解決柔性工作流模型以及特殊工作流模型上具有非常強(qiáng)的適應(yīng)性。
(5)支持j2ee的開發(fā)。
4 經(jīng)費(fèi)管理系統(tǒng)的業(yè)務(wù)流程
在經(jīng)費(fèi)預(yù)算管理系統(tǒng)中,要為各系經(jīng)費(fèi)申請人員及每位教師建立一個帳戶,其中帳戶中存儲各系的經(jīng)費(fèi)預(yù)算項目及教師的報銷項目。經(jīng)費(fèi)申請人員登錄后可以進(jìn)行預(yù)算填寫,填寫完成后上報項目,并能隨時查看、修改經(jīng)費(fèi)審批情況。相關(guān)審核人員登錄之后對預(yù)算項目或報銷項目進(jìn)行審批,審批后將審批結(jié)果通知預(yù)算申報人,通過,所填寫預(yù)算項目將永久保存,不能被刪除,財務(wù)根據(jù)審批意見進(jìn)行劃賬;不通過,則將所審項目返回報審處修改。之后,財務(wù)人員可以通過系統(tǒng)監(jiān)督預(yù)算使用情況。
經(jīng)費(fèi)管理系統(tǒng)的核心可以歸納為:預(yù)算通知發(fā)布、部門預(yù)算方案的提交、財務(wù)主管審查、總會計師審核、校領(lǐng)導(dǎo)審核等。每一項工作都以流程的形式進(jìn)行,一般由發(fā)起者來啟動流程,經(jīng)過相關(guān)部門的審查、復(fù)查和批復(fù),最終達(dá)到流程的終點(diǎn)。不同的工作流程之間可以進(jìn)行交叉、相互連接或者循環(huán)進(jìn)行的,一個工作流結(jié)束以后,其終點(diǎn)可以作為另外新的工作流的起點(diǎn),如財務(wù)主管審查過程結(jié)束后,引發(fā)了總會計師審核過程。工作流程可以超越單位而在組織甚至組織相關(guān)單位之間進(jìn)行。要實現(xiàn)其自動化,就要以協(xié)調(diào)好資源、人員、狀態(tài)、事件這四個組成工作流的元素為目標(biāo),以此對工作流的發(fā)展、運(yùn)作和完成起到很好的推動和全程監(jiān)控作用。信息技術(shù)的運(yùn)用,除了對工作流全程信息與操作的管理以為,還要對工作流的實現(xiàn)起到很好的推進(jìn)作用,例如:對工作人員操作權(quán)限的賦予與回收(如對文件操作完成后,不可以隨意修改內(nèi)容,而要由上級領(lǐng)導(dǎo)獲批,待得到文件簽署權(quán)或修改權(quán))、主動對工作人員某階段處理的實現(xiàn)進(jìn)行提示和一定的催促,通過這些來提高工作流處理的整體效率。
高校經(jīng)費(fèi)預(yù)算管理系統(tǒng)的流程非常清晰的,它恰好是學(xué)校發(fā)布預(yù)算通知到學(xué)校公布預(yù)算一個完整的生命周期,可以用有向圖進(jìn)行描述,如圖1所示。
此過程模型是由一系列活動所組成的,每個節(jié)點(diǎn)均表示一個活動,而兩節(jié)點(diǎn)之間的有向邊概括了活動之間的關(guān)系,主要包括數(shù)據(jù)連接和控制連接。數(shù)據(jù)連接表示兩個活動之間的數(shù)據(jù)流,上一個活動的輸出數(shù)據(jù)作為下一個活動的輸入數(shù)據(jù)。控制連接表示兩個活動之間的執(zhí)行順序(串行或并行執(zhí)行)。在圖 2 中橢圓形節(jié)點(diǎn)還可以繼續(xù)細(xì)化,分成不同的子過程,例如:如“財務(wù)主管審查”作為經(jīng)費(fèi)“財務(wù)主管審查”子流程由預(yù)案初審、預(yù)案復(fù)審、預(yù)案終審等活動組成。流程的執(zhí)行描述如下:財務(wù)主管部門會計部收到學(xué)習(xí)各個部門的經(jīng)費(fèi)預(yù)案后進(jìn)行初審,如初審?fù)ㄟ^,會計部再將經(jīng)費(fèi)預(yù)案發(fā)送到主管會計部進(jìn)行復(fù)審,如復(fù)審未通過,主管會計部將審批結(jié)果返回給經(jīng)費(fèi)預(yù)案申請單位,申請單位修改預(yù)案后重新啟動流程進(jìn)行初審;復(fù)審和初審的步驟類似,如復(fù)審?fù)ㄟ^,最后還須由財務(wù)主管部門主任進(jìn)行終審。復(fù)審、終審如果未通過仍然需要發(fā)回預(yù)案申請單位進(jìn)行預(yù)案修改工作。
5 系統(tǒng)關(guān)鍵模塊的設(shè)計
5.1 數(shù)據(jù)庫設(shè)計
經(jīng)費(fèi)預(yù)算管理系統(tǒng)的數(shù)據(jù)庫可以分成兩種:一種是工作流相關(guān)數(shù)據(jù)庫;另外一種是業(yè)務(wù)數(shù)據(jù)庫。業(yè)務(wù)數(shù)據(jù)庫的內(nèi)容主要是保存應(yīng)用程序或者相關(guān)web服務(wù)在執(zhí)行過程中需要的數(shù)據(jù),例如部門預(yù)案表、經(jīng)費(fèi)預(yù)算表、經(jīng)費(fèi)審批表等,由于論文篇幅的關(guān)系,這里就不一一列舉。工作流相關(guān)數(shù)據(jù)庫主要包括工作流過程定義表、過程實例表、組織人員信息表、業(yè)務(wù)流程活動定義及實例表、Web服務(wù)表等。
5.2 工作流引擎設(shè)計
經(jīng)費(fèi)預(yù)算管理系統(tǒng)的邏輯架構(gòu)圖如下所示。系統(tǒng)的組成模塊主要包含4個主要模塊,分別為:本地/Web服務(wù)、用戶客戶端、工作流執(zhí)行環(huán)境以及底層數(shù)據(jù)庫。系統(tǒng)邏輯架構(gòu)的構(gòu)建完全符合工作流模型,并在工作流模型的基礎(chǔ)上加入了適合本系統(tǒng)特點(diǎn)的功能模塊。
圖3.經(jīng)費(fèi)預(yù)算管理系統(tǒng)的邏輯架構(gòu)圖
經(jīng)費(fèi)預(yù)算管理系統(tǒng)所采用的是單一的工作流引擎,并且工作在經(jīng)費(fèi)預(yù)算管理系統(tǒng)的各個網(wǎng)絡(luò)節(jié)點(diǎn)之上,方便訪問并修改中心數(shù)據(jù)庫中的工作流相關(guān)的數(shù)據(jù)。本系統(tǒng)的工作流引擎設(shè)計對基于面向服務(wù)架構(gòu)的工作流模型中工作流引擎的功能進(jìn)行了精簡,盡量減少各個工作流直接的交互,降低模塊直接的耦合性,提高內(nèi)聚性。
本系統(tǒng)的工作流引擎主要包括:(1)過程定義解釋模塊;(2)過程執(zhí)行控制模塊;(3)過程管理監(jiān)控模塊;(4)消息解釋模塊;(5)Web服務(wù)調(diào)用模塊等。在本系統(tǒng)中,過程定義解釋模塊的主要任務(wù)是將過程定義文件進(jìn)行建模,并將定義信息保存到數(shù)據(jù)庫當(dāng)中;過程執(zhí)行控制模塊的主要任務(wù)是負(fù)責(zé)建立過程實例、控制過程實例的執(zhí)行、為過程活動提供導(dǎo)航;過程管理監(jiān)控模塊的主要任務(wù)是記錄過程的運(yùn)行狀況,并以日志的形式存儲,并提供監(jiān)控接口,方便管理員隨時查看,了解過程執(zhí)行的情況;消息解釋模塊的主要職責(zé)是解釋過程參與者的請求信息或者Web服務(wù)的返回消息,然后提取消息中所封裝的相關(guān)信息并傳送到過程執(zhí)行控制模塊;Web服務(wù)調(diào)用模塊的主要任務(wù)是在活動執(zhí)行時按照活動的執(zhí)行者對其提供的Web服務(wù)進(jìn)行調(diào)用。
6 總結(jié)
我校經(jīng)費(fèi)預(yù)算管理系統(tǒng)的開發(fā)模式是將經(jīng)費(fèi)預(yù)算管理的業(yè)務(wù)流程滲透到軟件系統(tǒng)中,從而導(dǎo)致了系統(tǒng)在開發(fā)階段、實施階段和維護(hù)使用階段均出現(xiàn)了不同程度的問題,主要表現(xiàn)在系統(tǒng)不同模塊之間的內(nèi)聚程度低,耦合程度高,開發(fā)缺乏靈活性;低內(nèi)聚高耦合導(dǎo)致系統(tǒng)的可維護(hù)性非常差,升級困難,從而出現(xiàn)系統(tǒng)跟不上學(xué)校不斷變化的業(yè)務(wù)需求。而工作流技術(shù)可以在不改變具體功能模塊實現(xiàn)方式的前提下,通過過程模型的重新定義來改變或改進(jìn)系統(tǒng)的功能。這樣可以是學(xué)校財務(wù)部門按照業(yè)務(wù)流程動態(tài)的構(gòu)建經(jīng)費(fèi)預(yù)算管理系統(tǒng),改變傳統(tǒng)的人適應(yīng)軟件的模式,這種非常符合實際應(yīng)用時的需求。
參考文獻(xiàn):
[1]王浩鳴,馮博琴.傳統(tǒng)工作流管理系統(tǒng)在電子商務(wù)應(yīng)用中的改進(jìn)[J].計算機(jī)工程,2003,29(9):10-11.
[2]趙松,王紅,閻嫕.Web服務(wù)組合工作流中擴(kuò)展UDDI的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2009,30(1):216-218.
[3]喬治強(qiáng),王勇,張璟.基于UDDI的應(yīng)用服務(wù)注冊中心的設(shè)計[J].計算機(jī)工程與設(shè)計,2008,29(9):6293-6295.
[4]管紅杰,孫晉非.基于DF與UDDI協(xié)作的Web服務(wù)發(fā)現(xiàn)機(jī)制[J].計算機(jī)工程與設(shè)計,2007,28(23):5635-5637.
[5]李寧,劉厚泉.一種支持分布式工作流模型的工作流管理系統(tǒng)[J].計算機(jī)應(yīng)用研究,2006(3):205-213.
[6]姜晨臨,蔡鴻明.基于Web的分布式工作流系統(tǒng)的研究[J].計算機(jī)技術(shù)與發(fā)展,2008,18(6):43-46
[作者簡介]
趙倫(1976.2-),男,漢,云南昭通人,碩士學(xué)位,主要研究方向:數(shù)據(jù)庫技術(shù),圖像圖像技術(shù)。