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