
隨著我國經(jīng)濟(jì)的市場化和國際化,通過重構(gòu)、兼并而形成的集團(tuán)已經(jīng)成為提高競爭力的主要手段。同時,集團(tuán)信息化程度日益提高,造就了許多版本和廠家的信息軟件系統(tǒng)和數(shù)據(jù)系統(tǒng)。此外集團(tuán)的項目資金監(jiān)管已經(jīng)成為集團(tuán)管理行為中的一個重要部分。面對龐大的、異構(gòu)的財務(wù)和信息系統(tǒng),要實現(xiàn)項目資金的統(tǒng)一、實時地監(jiān)管是一個巨大的挑戰(zhàn)。在集團(tuán)項目資金監(jiān)管系統(tǒng)中,存在跨INTERNET或INTRANET的多個并發(fā)信息,這些信息按照一定的策略,從各個被監(jiān)管的子系統(tǒng)逐級流動。信息在流動過程中具有明顯的時序特性和并發(fā)特性,因此可以采用并發(fā)工作流技術(shù)來實現(xiàn)集團(tuán)項目資金的監(jiān)管,但目前有關(guān)集團(tuán)項目資金數(shù)據(jù)監(jiān)管的研究不多見。本文利用異構(gòu)數(shù)據(jù)表示機(jī)制、工作流理論,針對分布在INTERNET和INTRANET上的項目資金信息,研究集團(tuán)的項目資金監(jiān)管系統(tǒng)的實現(xiàn)方法,對提高集團(tuán)的生產(chǎn)效率。降低企業(yè)成本有著現(xiàn)實意義。
一、基于并發(fā)工作流的開發(fā)模式
(一)傳統(tǒng)的開發(fā)技術(shù)模式 即通過需求分析、總體設(shè)計、數(shù)據(jù)庫設(shè)計、模塊設(shè)計、測試等常規(guī)步驟,這樣獲得的系統(tǒng)具有很大的局限性,如并發(fā)控制問題將和應(yīng)用程序密切相關(guān)。
(二)并發(fā)數(shù)據(jù)流的模式 采用并發(fā)工作流為主控結(jié)構(gòu)、采用傳統(tǒng)模塊技術(shù)為數(shù)據(jù)流的功能擴(kuò)展,這樣所有功能都是架落在并發(fā)數(shù)據(jù)流上,這種結(jié)構(gòu)具有很好的并發(fā)控制特性和良好的可擴(kuò)展性。其開發(fā)過程如下:首先,設(shè)計并發(fā)工作流,構(gòu)建工作流定義工具,利用關(guān)系數(shù)據(jù)庫存儲工作流;其次,開發(fā)工作流節(jié)點功能,根據(jù)項目資金監(jiān)管的需要,對工作流上的節(jié)點功能進(jìn)行開發(fā),構(gòu)成節(jié)點功能庫;這些功能主要以動態(tài)頁面、JAVA script等形式出現(xiàn),并發(fā)布在WEB上,以供工作流驅(qū)動;最后,構(gòu)建工作流數(shù)據(jù)模型,每個工作流動態(tài)對應(yīng)若干個具體的工作流值。研究對工作流值的存儲問題、工作流值和工作流節(jié)點功能的動態(tài)捆綁問題等,整個系統(tǒng)的開發(fā)過程如圖1所示。
(三)工作流節(jié)點上的角色劃分 對于工作流上的用戶,根據(jù)其職能劃分角色,每個角色作用在不同的工作流節(jié)點上。并可實施不同的工作流節(jié)點功能。在專項基金跟蹤系統(tǒng)上,角色可以分為:項目負(fù)責(zé)人、子公司、專家、集團(tuán)主管等,通過角色權(quán)限劃分的方法使其工作在工作流的不同節(jié)點上。同時,角色也可以是自動程序系統(tǒng),如項目監(jiān)管Agent等。開發(fā)結(jié)構(gòu)采用B/S結(jié)構(gòu),工作流信息、工作流值數(shù)據(jù)模型信息都存放在數(shù)據(jù)庫服務(wù)器上。工作流節(jié)點功能集存放在業(yè)務(wù)邏輯服務(wù)器上。用戶通過瀏覽器和INTERNET訪問業(yè)務(wù)邏輯服務(wù)器,業(yè)務(wù)邏輯服務(wù)器根據(jù)其角色以及所處工作流的階段返回相應(yīng)的頁面和邏輯功能,供用戶使用。系統(tǒng)配置結(jié)構(gòu)圖如圖2所示。圖中虛線為網(wǎng)絡(luò)物理訪問結(jié)構(gòu),實線為邏輯結(jié)構(gòu)。
二、工作流概況
(一)工作流定義 一是工作流節(jié)點。工作流節(jié)點結(jié)構(gòu)如下:工作流節(jié)點(工作流號碼WFN,工作流類型WFNT,工作流節(jié)點編號NODEN,工作流節(jié)點名稱NODENM,上游節(jié)點集合UPSET,上游節(jié)點同步類型SYST,下游節(jié)點集合DOWNSET,下游節(jié)點并發(fā)類型PT,節(jié)點時間段TS,節(jié)點功能集合FUCSET,節(jié)點功能掩碼集FUCMASKSET)。其中,工作流號碼WFN為該工作節(jié)點所處的工作流編號,工作流號是工作流生存的唯一標(biāo)志;工作流類型WFNT為所處工作流的類型,具體取值為:線性、無回路層次型、圖型;工作流節(jié)點編號NODEN,為一個基本節(jié)點的唯一標(biāo)志符,是構(gòu)成工作流的基本單位;工作流節(jié)點名稱NODENM。為節(jié)點的語義描述;上游節(jié)點集合UPSET載該工作流節(jié)點的上游相鄰節(jié)點的集合,通常上游鄰節(jié)點可以為1個或為多個;上游節(jié)點同步類型SYST如果上游鄰近節(jié)點為多個,那么SYST=1表示只有所有上游節(jié)點的輸出信息都到來后,本功能節(jié)點方可工作;當(dāng)SYST=0表示無須同步;下游節(jié)點集合DOWNSET為指向下游節(jié)點的工作流節(jié)點集合;下游節(jié)點并發(fā)類型PT表示下游節(jié)點對其信息要求的緊迫程度,是一個令牌值,其值越大緊迫度越高;節(jié)點時間段TS定義本工作流節(jié)點的最大持續(xù)時間段,從上游傳來的信息必須在TS內(nèi)完成,否則將視為無效的處理;節(jié)點功能集合FUCSET定義該工作流節(jié)點的所具備的功能集合,在本文中是指一組URL頁面集;節(jié)點功能掩碼集FUCMASKSET通過掩碼來定義功能的執(zhí)行次序和有效性。二是工作流框架作流框架是二元組WFF(WFNS,V),其中WFNS為工作流節(jié)點的集合,V為以WFNS中的節(jié)點為端點的有向邊的集合。三是工作流的創(chuàng)建。已知已經(jīng)構(gòu)建了角色集合RS,并賦予RS中每個元素一個功能集合,同時為每個功能開發(fā)業(yè)務(wù)邏輯和工作流數(shù)據(jù)模型。構(gòu)建工作流的步驟如下:(1)對應(yīng)用的主要模塊功能進(jìn)行分析、抽象,得到功能模塊集合MS;(2)對MS中的每個元素E構(gòu)建工作流節(jié)點:{對E的每個功能和業(yè)務(wù)邏輯建立映射,形成該工作流節(jié)點的FUCSET;填寫節(jié)點時間段Ts、節(jié)點功能集合FUCSET、節(jié)點功能掩碼集FUCMASKSET};(3)通過(2)獲得工作流節(jié)點集合WNFS;(4)構(gòu)建工作流初始節(jié)點集合S0和最終節(jié)點集合SF;置WNFS=WNFS-SO-SF;(5)備份SO和SF;置TMP=WNFS SF;(6)當(dāng)TMP不為空時,做:{對s0中的所有元素,按照業(yè)務(wù)語義,從TMP中構(gòu)造其下游節(jié)點集DOWNSET;置下游節(jié)點并發(fā)類型PT,節(jié)點時間段TS;并置SO=SO DOWNSET,TMP=TMP-DOWNSET};(7)恢復(fù)SO,置TMP=WNFS SO;(8)當(dāng)TMP不為空時,做:{對SF中的所有元索,按照業(yè)務(wù)語義,從TMP中構(gòu)造其上游節(jié)點集UPWNSET置上游節(jié)點同步類型SYST;并置SF=SF DOWNSET,TMP=TMP-DOWNSET};(9)恢復(fù)SF;(10)從SO出發(fā),對工作流上的所有工作節(jié)點,做:{填寫工作流號碼WFN,工作流類型WFNT,工作流節(jié)點編號NODEN,工作流節(jié)點名稱NODENM},(11)工作流構(gòu)造結(jié)束。
隨著我國經(jīng)濟(jì)的市場化和國際化,通過重構(gòu)、兼并而形成的集團(tuán)已經(jīng)成為提高競爭力的主要手段。同時,集團(tuán)信息化程度日益提高,造就了許多版本和廠家的信息軟件系統(tǒng)和數(shù)據(jù)系統(tǒng)。此外集團(tuán)的項目資金監(jiān)管已經(jīng)成為集團(tuán)管理行為中的一個重要部分。面對龐大的、異構(gòu)的財務(wù)和信息系統(tǒng),要實現(xiàn)項目資金的統(tǒng)一、實時地監(jiān)管是一個巨大的挑戰(zhàn)。在集團(tuán)項目資金監(jiān)管系統(tǒng)中,存在跨INTERNET或INTRANET的多個并發(fā)信息,這些信息按照一定的策略,從各個被監(jiān)管的子系統(tǒng)逐級流動。信息在流動過程中具有明顯的時序特性和并發(fā)特性,因此可以采用并發(fā)工作流技術(shù)來實現(xiàn)集團(tuán)項目資金的監(jiān)管,但目前有關(guān)集團(tuán)項目資金數(shù)據(jù)監(jiān)管的研究不多見。本文利用異構(gòu)數(shù)據(jù)表示機(jī)制、工作流理論,針對分布在INTERNET和INTRANET上的項目資金信息,研究集團(tuán)的項目資金監(jiān)管系統(tǒng)的實現(xiàn)方法,對提高集團(tuán)的生產(chǎn)效率。降低企業(yè)成本有著現(xiàn)實意義。
一、基于并發(fā)工作流的開發(fā)模式
(一)傳統(tǒng)的開發(fā)技術(shù)模式 即通過需求分析、總體設(shè)計、數(shù)據(jù)庫設(shè)計、模塊設(shè)計、測試等常規(guī)步驟,這樣獲得的系統(tǒng)具有很大的局限性,如并發(fā)控制問題將和應(yīng)用程序密切相關(guān)。
(二)并發(fā)數(shù)據(jù)流的模式 采用并發(fā)工作流為主控結(jié)構(gòu)、采用傳統(tǒng)模塊技術(shù)為數(shù)據(jù)流的功能擴(kuò)展,這樣所有功能都是架落在并發(fā)數(shù)據(jù)流上,這種結(jié)構(gòu)具有很好的并發(fā)控制特性和良好的可擴(kuò)展性。其開發(fā)過程如下:首先,設(shè)計并發(fā)工作流,構(gòu)建工作流定義工具,利用關(guān)系數(shù)據(jù)庫存儲工作流;其次,開發(fā)工作流節(jié)點功能,根據(jù)項目資金監(jiān)管的需要,對工作流上的節(jié)點功能進(jìn)行開發(fā),構(gòu)成節(jié)點功能庫;這些功能主要以動態(tài)頁面、JAVA script等形式出現(xiàn),并發(fā)布在WEB上,以供工作流驅(qū)動;最后,構(gòu)建工作流數(shù)據(jù)模型,每個工作流動態(tài)對應(yīng)若干個具體的工作流值。研究對工作流值的存儲問題、工作流值和工作流節(jié)點功能的動態(tài)捆綁問題等,整個系統(tǒng)的開發(fā)過程如圖1所示。
(三)工作流節(jié)點上的角色劃分 對于工作流上的用戶,根據(jù)其職能劃分角色,每個角色作用在不同的工作流節(jié)點上。并可實施不同的工作流節(jié)點功能。在專項基金跟蹤系統(tǒng)上,角色可以分為:項目負(fù)責(zé)人、子公司、專家、集團(tuán)主管等,通過角色權(quán)限劃分的方法使其工作在工作流的不同節(jié)點上。同時,角色也可以是自動程序系統(tǒng),如項目監(jiān)管Agent等。開發(fā)結(jié)構(gòu)采用B/S結(jié)構(gòu),工作流信息、工作流值數(shù)據(jù)模型信息都存放在數(shù)據(jù)庫服務(wù)器上。工作流節(jié)點功能集存放在業(yè)務(wù)邏輯服務(wù)器上。用戶通過瀏覽器和INTERNET訪問業(yè)務(wù)邏輯服務(wù)器,業(yè)務(wù)邏輯服務(wù)器根據(jù)其角色以及所處工作流的階段返回相應(yīng)的頁面和邏輯功能,供用戶使用。系統(tǒng)配置結(jié)構(gòu)圖如圖2所示。圖中虛線為網(wǎng)絡(luò)物理訪問結(jié)構(gòu),實線為邏輯結(jié)構(gòu)。
二、工作流概況
(一)工作流定義 一是工作流節(jié)點。工作流節(jié)點結(jié)構(gòu)如下:工作流節(jié)點(工作流號碼WFN,工作流類型WFNT,工作流節(jié)點編號NODEN,工作流節(jié)點名稱NODENM,上游節(jié)點集合UPSET,上游節(jié)點同步類型SYST,下游節(jié)點集合DOWNSET,下游節(jié)點并發(fā)類型PT,節(jié)點時間段TS,節(jié)點功能集合FUCSET,節(jié)點功能掩碼集FUCMASKSET)。其中,工作流號碼WFN為該工作節(jié)點所處的工作流編號,工作流號是工作流生存的唯一標(biāo)志;工作流類型WFNT為所處工作流的類型,具體取值為:線性、無回路層次型、圖型;工作流節(jié)點編號NODEN,為一個基本節(jié)點的唯一標(biāo)志符,是構(gòu)成工作流的基本單位;工作流節(jié)點名稱NODENM。為節(jié)點的語義描述;上游節(jié)點集合UPSET載該工作流節(jié)點的上游相鄰節(jié)點的集合,通常上游鄰節(jié)點可以為1個或為多個;上游節(jié)點同步類型SYST如果上游鄰近節(jié)點為多個,那么SYST=1表示只有所有上游節(jié)點的輸出信息都到來后,本功能節(jié)點方可工作;當(dāng)SYST=0表示無須同步;下游節(jié)點集合DOWNSET為指向下游節(jié)點的工作流節(jié)點集合;下游節(jié)點并發(fā)類型PT表示下游節(jié)點對其信息要求的緊迫程度,是一個令牌值,其值越大緊迫度越高;節(jié)點時間段TS定義本工作流節(jié)點的最大持續(xù)時間段,從上游傳來的信息必須在TS內(nèi)完成,否則將視為無效的處理;節(jié)點功能集合FUCSET定義該工作流節(jié)點的所具備的功能集合,在本文中是指一組URL頁面集;節(jié)點功能掩碼集FUCMASKSET通過掩碼來定義功能的執(zhí)行次序和有效性。二是工作流框架作流框架是二元組WFF(WFNS,V),其中WFNS為工作流節(jié)點的集合,V為以WFNS中的節(jié)點為端點的有向邊的集合。三是工作流的創(chuàng)建。已知已經(jīng)構(gòu)建了角色集合RS,并賦予RS中每個元素一個功能集合,同時為每個功能開發(fā)業(yè)務(wù)邏輯和工作流數(shù)據(jù)模型。構(gòu)建工作流的步驟如下:(1)對應(yīng)用的主要模塊功能進(jìn)行分析、抽象,得到功能模塊集合MS;(2)對MS中的每個元素E構(gòu)建工作流節(jié)點:{對E的每個功能和業(yè)務(wù)邏輯建立映射,形成該工作流節(jié)點的FUCSET;填寫節(jié)點時間段Ts、節(jié)點功能集合FUCSET、節(jié)點功能掩碼集FUCMASKSET};(3)通過(2)獲得工作流節(jié)點集合WNFS;(4)構(gòu)建工作流初始節(jié)點集合S0和最終節(jié)點集合SF;置WNFS=WNFS-SO-SF;(5)備份SO和SF;置TMP=WNFS SF;(6)當(dāng)TMP不為空時,做:{對s0中的所有元素,按照業(yè)務(wù)語義,從TMP中構(gòu)造其下游節(jié)點集DOWNSET;置下游節(jié)點并發(fā)類型PT,節(jié)點時間段TS;并置SO=SO DOWNSET,TMP=TMP-DOWNSET};(7)恢復(fù)SO,置TMP=WNFS SO;(8)當(dāng)TMP不為空時,做:{對SF中的所有元索,按照業(yè)務(wù)語義,從TMP中構(gòu)造其上游節(jié)點集UPWNSET置上游節(jié)點同步類型SYST;并置SF=SF DOWNSET,TMP=TMP-DOWNSET};(9)恢復(fù)SF;(10)從SO出發(fā),對工作流上的所有工作節(jié)點,做:{填寫工作流號碼WFN,工作流類型WFNT,工作流節(jié)點編號NODEN,工作流節(jié)點名稱NODENM},(11)工作流構(gòu)造結(jié)束。