馬曉紅 王榮華
[摘要]采用工作流技術(shù),基于NET平臺(tái)和J2EE技術(shù),以O(shè)racle 9i數(shù)據(jù)庫為數(shù)據(jù)平臺(tái),開發(fā)一個(gè)自動(dòng)實(shí)現(xiàn)企業(yè)財(cái)務(wù)報(bào)銷流程的工作流管理系統(tǒng),縮短辦公時(shí)間,提高企業(yè)的工作效率,真正實(shí)現(xiàn)財(cái)務(wù)報(bào)銷流程自動(dòng)化,為網(wǎng)絡(luò)時(shí)代企業(yè)的信息系統(tǒng)建設(shè)提供嶄新的模式-
[關(guān)鍵詞]工作流管理系統(tǒng)NET財(cái)務(wù)報(bào)銷自動(dòng)化柔性管理
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671—7597(2009)1020107--02
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷提高,基于網(wǎng)絡(luò)的、分布式財(cái)務(wù)管理系統(tǒng)在石油、天然氣生產(chǎn)和管理部門得到了越來越廣泛的應(yīng)用。傳統(tǒng)的財(cái)務(wù)管理系統(tǒng)是一個(gè)面向功能的事務(wù)處理系統(tǒng),財(cái)務(wù)的報(bào)銷、審批等業(yè)務(wù)和數(shù)據(jù)服務(wù)器布置集中,系統(tǒng)在開發(fā)、實(shí)施、維護(hù)和使用中出現(xiàn)了一些問題,具體表現(xiàn)為各業(yè)務(wù)功能重構(gòu)性差、審批等流程重組性低、柔性不足,業(yè)務(wù)流程的改變往往需要大量的人力、物力進(jìn)行系統(tǒng)的升級、改造,使得系統(tǒng)不能適應(yīng)企業(yè)的業(yè)務(wù)發(fā)展需要。
工作流技術(shù)和業(yè)務(wù)流程再造緊密相連,它的引用可以用來解決上述問題。工作流是指整個(gè)或部分經(jīng)營過程在計(jì)算機(jī)支持下的全自動(dòng)或半自動(dòng)化,在此過程中,工作文檔、業(yè)務(wù)信息或任務(wù)按照一定的過程規(guī)則流轉(zhuǎn),實(shí)現(xiàn)組織成員間的協(xié)同工作,以達(dá)到業(yè)務(wù)的整體目標(biāo)。通過采用工作流技術(shù),實(shí)現(xiàn)了財(cái)務(wù)管理系統(tǒng)由面向功能到面向過程的轉(zhuǎn)變,為企業(yè)業(yè)務(wù)重組和靈活經(jīng)營奠定了基礎(chǔ),從而提高了企業(yè)的生產(chǎn)效率,增強(qiáng)了企業(yè)的競爭力[2]。
本文以,NET為系統(tǒng)平臺(tái),在工作流和J2EE技術(shù)基礎(chǔ)之上探討了網(wǎng)上財(cái)務(wù)系統(tǒng)的解決方案。
一、基于工作流的財(cái)務(wù)網(wǎng)上管理系統(tǒng)的實(shí)施方案
(一)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)采用目前較為先進(jìn)的多層c/B/A/D體系結(jié)構(gòu),最底層是數(shù)據(jù)庫服務(wù)器層(Ds),其上是應(yīng)用服務(wù)器層(As),然后是WEB服務(wù)器層(Bs),最后是客戶(c)層,該系統(tǒng)結(jié)構(gòu)有效地滿足系統(tǒng)的各種業(yè)務(wù)處理的需求,解決了服務(wù)器端負(fù)載均衡的問題,易于維護(hù)和升級,其具體結(jié)構(gòu)如下:
1、表示層:它是系統(tǒng)的人機(jī)接口部分,實(shí)現(xiàn)程序界面和用戶的交互功能,是用戶與系統(tǒng)間交互信息的窗口。系統(tǒng)的表示層功能是通過安裝在IIS服務(wù)器上的各ASP頁面實(shí)現(xiàn)的[3]。
2、應(yīng)用層:它是系統(tǒng)各功能實(shí)現(xiàn)的主體,主要包括工作流管理系統(tǒng)、Web應(yīng)用服務(wù)器、應(yīng)用服務(wù)器和基本組件,公司核心和易變的邏輯都在這里完成。
3、數(shù)據(jù)服務(wù)器層:它由數(shù)據(jù)庫服務(wù)器所構(gòu)成,負(fù)責(zé)管理對數(shù)據(jù)庫的操作和維護(hù),能夠?qū)崿F(xiàn)公司各分立數(shù)據(jù)庫的整合和數(shù)據(jù)的挖掘功能,能夠迅速執(zhí)行數(shù)據(jù)的更新和檢索,為應(yīng)用層和表示層提供數(shù)據(jù)支持服務(wù)。c/B/A/D模式的體系結(jié)構(gòu)見圖1。
(二)系統(tǒng)組件分層設(shè)計(jì)
系統(tǒng)采用基于J2EE的組件開發(fā)技術(shù),它支持不同協(xié)議、不同平臺(tái)的使用,能夠處理企業(yè)大量動(dòng)態(tài)的、大規(guī)模的、分布式的數(shù)據(jù)。由于石油企業(yè)財(cái)務(wù)管理系統(tǒng)結(jié)構(gòu)復(fù)雜,在組件的設(shè)計(jì)過程中遵循了自頂向下、逐層分解的設(shè)計(jì)思想,分別是:
1分系統(tǒng)組件:是一組完成特定功能的業(yè)務(wù)集合,完成表示層的財(cái)務(wù)預(yù)算、財(cái)務(wù)報(bào)銷、機(jī)構(gòu)人事等模塊功能。
2業(yè)務(wù)組件:是一組實(shí)現(xiàn)分系統(tǒng)功能的業(yè)務(wù)邏輯,對應(yīng)于圖1應(yīng)用層中的工作流(業(yè)務(wù))管理。企業(yè)的業(yè)務(wù)邏輯主要在這里完成,如財(cái)務(wù)單據(jù)的生成和單據(jù)的下達(dá)。
3原子級組件:是一組邏上不可再分的組件,對應(yīng)于應(yīng)用層中的基本單元組,這些組件存在于組件庫當(dāng)中,由工作流管理平臺(tái)組合驅(qū)動(dòng)生成邏輯組件,進(jìn)而配置適合石油企業(yè)的網(wǎng)上財(cái)務(wù)管理系統(tǒng)。
二、工作流管理平臺(tái)設(shè)計(jì)
(一)工作流管理平臺(tái)概述
工作流管理平臺(tái)[4]是指運(yùn)行在一個(gè)或多個(gè)工作流引擎上的用于定義、實(shí)現(xiàn)和管理工作流運(yùn)行的一套軟件系統(tǒng)。工作流是通過工作流管理平臺(tái)實(shí)現(xiàn)的,這個(gè)系統(tǒng)必須具有以下三方面的功能。
1、建立期功能:它應(yīng)能定義和建模工作流過程和活動(dòng)。
2、運(yùn)行期控制功能:它應(yīng)能在一個(gè)可操作的環(huán)境下管理工作流過程,并能排序和處理每個(gè)過程的不同活動(dòng)。
3、運(yùn)行期交互:為了處理不同的活動(dòng)步,它應(yīng)能在運(yùn)行期與用戶或IT工具進(jìn)行交互。
(二)工作流平臺(tái)組成
工作流平臺(tái)通常由以下幾個(gè)關(guān)鍵部件構(gòu)成:
1、業(yè)務(wù)過程定義工具:過程定義工具被用來創(chuàng)建計(jì)算機(jī)可處理的業(yè)務(wù)過程描述。
2、業(yè)務(wù)過程執(zhí)行環(huán)境和工作流引擎:業(yè)務(wù)過程執(zhí)行環(huán)境包括一個(gè)或多個(gè)工作流引擎,工作流引擎是核心軟件,它的功能包括解釋過程定義、創(chuàng)建過程實(shí)例并控制其執(zhí)行、調(diào)度各項(xiàng)活動(dòng)、為用戶工作表添加工作項(xiàng)、通過應(yīng)用程序接口調(diào)用應(yīng)用程序、提供監(jiān)督和管理功能等。
3、工作流控制數(shù)據(jù):指被工作流執(zhí)行子系統(tǒng)和工作流引擎管理的系統(tǒng)數(shù)據(jù),例如工作流實(shí)例的狀態(tài)信息、每一活動(dòng)的狀態(tài)信息等。
4、應(yīng)用程序和應(yīng)用數(shù)據(jù);應(yīng)用程序可以直接被工作流管理平臺(tái)調(diào)用或通過應(yīng)用程序代理被間接調(diào)用。
5、工作表和工作表處理程序:工作表列出了與業(yè)務(wù)過程的參與者相關(guān)的一系列工作項(xiàng),工作表處理程序則對用戶和工作表之間的交互進(jìn)行管理。
(三)工作流平臺(tái)體系結(jié)構(gòu)設(shè)計(jì)
本文基于J2EE技術(shù)設(shè)計(jì)了一個(gè)多層的體系結(jié)構(gòu)[5],其各層組成如下;
1、表示層主要由建模工具、管理工具和權(quán)限設(shè)置等組成。用戶通過Web瀏覽器登錄管理界面后,以簡單直觀的圖形化方式定義現(xiàn)實(shí)中的業(yè)務(wù)流程,并且可以根據(jù)生產(chǎn)需要,調(diào)整已有的業(yè)務(wù)流程。
2、應(yīng)用服務(wù)層是工作流管理平臺(tái)的核心組成部分,主要由工作流引擎、公共服務(wù)、消息服務(wù)、事件服務(wù)和應(yīng)用代理5個(gè)部分組成。該層負(fù)責(zé)表示層定義的業(yè)務(wù)流程的執(zhí)行。
工作流引擎是應(yīng)用服務(wù)層的核心部分,系統(tǒng)采用開源的工作流引擎如osworkflow、jbpm、shark等,為表示層提供訪問數(shù)據(jù)層的標(biāo)準(zhǔn)接口:公共服務(wù)是工作流執(zhí)行系統(tǒng)提供的相關(guān)后臺(tái)服務(wù),負(fù)責(zé)協(xié)同工作流引擎處理具有特別要求的業(yè)務(wù);消息服務(wù)是為用戶提供基于消息傳遞方式的工作流引擎接口調(diào)用;事件服務(wù)是工作流執(zhí)行系統(tǒng)的擴(kuò)展部分,提供監(jiān)聽工作流內(nèi)部事務(wù)的開放式接口;應(yīng)用代理為無法實(shí)現(xiàn)組件封裝方式的應(yīng)用程序提供基于J2EE組件形式的包裝。
3、數(shù)據(jù)服務(wù)層是工作流平臺(tái)的數(shù)據(jù)基礎(chǔ),由工作流模型數(shù)據(jù)庫、工作流實(shí)例數(shù)據(jù)庫、工作流組織數(shù)據(jù)庫組成。它主要負(fù)責(zé)對系統(tǒng)中的模型數(shù)據(jù)、實(shí)例數(shù)據(jù)、組織數(shù)據(jù)進(jìn)行組織和維護(hù)。
三、應(yīng)用實(shí)例
我們以財(cái)務(wù)管理系統(tǒng)中的財(cái)務(wù)報(bào)銷為例,說明如何基于工作流[6]的平臺(tái)來分析和實(shí)現(xiàn)一個(gè)具體的業(yè)務(wù)。
1、用戶登錄工作流管理平臺(tái),進(jìn)行業(yè)務(wù)流程分析,確定業(yè)務(wù)流程模型,通過平臺(tái)提供的視圖建模工具建立模型。
可以定義差旅費(fèi)報(bào)銷單據(jù)。差旅費(fèi)報(bào)銷單據(jù)擁有若干單據(jù)屬性,如出差目的、出差時(shí)間等。差旅費(fèi)報(bào)銷單據(jù)擁有若干費(fèi)用明細(xì),如交通費(fèi)、住宿費(fèi)等。交通費(fèi)擁有若干費(fèi)用屬性,如發(fā)生時(shí)間段等;交通費(fèi)還需要對應(yīng)若干票據(jù)(發(fā)票)。
2、通過對該業(yè)務(wù)流程的建模,基本明確該流程所涉及的組織和角色,以及狀態(tài)和狀態(tài)間的控制轉(zhuǎn)移條件。根據(jù)參考模型給出基本單元組件設(shè)計(jì)規(guī)劃,確定組件之間的關(guān)系和組件接口。開發(fā)出的組件向工作流平臺(tái)注冊,利用工作流平臺(tái)來實(shí)現(xiàn)組件的管理,通過組件管理建立財(cái)務(wù)報(bào)銷單據(jù)審核組件庫。
3、建立活動(dòng)與組件、執(zhí)行角色的關(guān)聯(lián),由此創(chuàng)建一個(gè)完整的業(yè)務(wù)流程模型,其執(zhí)行和控制由工作流平臺(tái)服務(wù)層所提供的服務(wù)來完成。
四、結(jié)束語
采用工作流技術(shù)的企業(yè)網(wǎng)上財(cái)務(wù)管理系統(tǒng),改變了傳統(tǒng)企業(yè)財(cái)務(wù)系統(tǒng)面向功能的構(gòu)建方式,實(shí)現(xiàn)了企業(yè)需要靈活配置業(yè)務(wù)流程,很好地解決了企業(yè)生產(chǎn)和管理柔性的問題,適應(yīng)了企業(yè)經(jīng)營靈活多變的要求,提高了企業(yè)在激烈的市場競爭當(dāng)中的生存能力,為企業(yè)的生產(chǎn)節(jié)省了大量的人力、物力,為企業(yè)帶來了可觀的經(jīng)濟(jì)效益。