0 引言
近年來隨著電力市場(chǎng)的改革,各電廠之間的競(jìng)爭(zhēng)加劇[1]。為了提高生產(chǎn)效率,在電力市場(chǎng)競(jìng)爭(zhēng)中具備優(yōu)勢(shì),各電廠都投入了大量的人力和資金來建設(shè)管理信息系統(tǒng)。然而傳統(tǒng)的管理信息系統(tǒng)具備擴(kuò)展能力差、難以維護(hù)、難以與內(nèi)部Intranet或外部Internet集成、可重用性差、不支持業(yè)務(wù)流程等諸多缺點(diǎn),顯然已不能滿足當(dāng)前電力市場(chǎng)條件下發(fā)電企業(yè)發(fā)展的必要條件,應(yīng)用新型的企業(yè)管理模式以及管理信息系統(tǒng)已成為發(fā)電企業(yè)生存和發(fā)展的需要條件,同時(shí)也成為完善電力市場(chǎng)技術(shù)支持系統(tǒng)的重要步驟。
本文將工作流管理技術(shù)與管理信息系統(tǒng)相結(jié)合,提出了一種新型的基于工作流技術(shù)[2,3]的發(fā)電企業(yè)管理信息系統(tǒng)(簡(jiǎn)稱WFMIS)。該系統(tǒng)采用了一種基于數(shù)據(jù)庫的工作流技術(shù),既具備辦公自動(dòng)化優(yōu)點(diǎn),又具備傳統(tǒng)管理信息系統(tǒng)的特點(diǎn)。本文結(jié)合作者開發(fā)完成湖南耒陽電廠二期管理信息系統(tǒng)的實(shí)際,對(duì)WFMIS的具體實(shí)現(xiàn)方法與步驟進(jìn)行了詳細(xì)介紹。
1 WFMIS系統(tǒng)總體結(jié)構(gòu)框架
圖1是WFMIS系統(tǒng)的總體結(jié)構(gòu)框架圖。圖中最底層是數(shù)據(jù)庫系統(tǒng),它是WFMIS系統(tǒng)的基礎(chǔ);在此之上是數(shù)據(jù)處理系統(tǒng),它是整個(gè)系統(tǒng)中最基本的、也是最繁重的工作內(nèi)容。
2 數(shù)據(jù)處理系統(tǒng)的劃分
數(shù)據(jù)處理是WFMIS中最基本、也是最繁重的工作內(nèi)容。它收集各類基礎(chǔ)數(shù)據(jù),進(jìn)行分類存儲(chǔ)、處理、制作報(bào)表、流程處理等,并向領(lǐng)導(dǎo)層輔助決策提供依據(jù),所以它是WFMIS的基礎(chǔ)工程。目前的數(shù)據(jù)處理正向聯(lián)機(jī)事務(wù)(OLTP)方向發(fā)展,要求直接用計(jì)算機(jī)作為工具來從事業(yè)務(wù)處理工作,在工作的同時(shí)完成數(shù)據(jù)的收集與整理,它要求系統(tǒng)具有高可靠性及快速響應(yīng)能力。
數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)的主要任務(wù)是根據(jù)系統(tǒng)對(duì)數(shù)據(jù)處理功能的要求,進(jìn)行相關(guān)子系統(tǒng)的劃分,對(duì)各子系統(tǒng)的功能做概要說明,并描述各個(gè)子系統(tǒng)之間的數(shù)據(jù)流關(guān)系。
子系統(tǒng)的劃分將遵循以下的原則:
(a) 子系統(tǒng)在邏輯上具有相對(duì)獨(dú)立性;
(b) 最大內(nèi)聚和最小外界耦合;
(c) 盡可能考慮與發(fā)電企業(yè)業(yè)務(wù)管理體制相適應(yīng)。
在耒陽電廠二期項(xiàng)目中,WFMIS將數(shù)據(jù)處理系統(tǒng)劃分為生產(chǎn)管理和經(jīng)營管理兩大部分,共八個(gè)子系統(tǒng)。其中生產(chǎn)管理部分包括:實(shí)時(shí)信息查詢子系統(tǒng)、設(shè)備管理子系統(tǒng)、工程項(xiàng)目管理子系統(tǒng)、生產(chǎn)技術(shù)管理子系統(tǒng)、物資管理子系統(tǒng);經(jīng)營管理部分包括:計(jì)劃管理子系統(tǒng)、運(yùn)營成本分析子系統(tǒng),另外還包括系統(tǒng)維護(hù)子系統(tǒng)。
3 WFMIS數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)
3.1 數(shù)據(jù)對(duì)象劃分
WFMIS系統(tǒng)是一個(gè)基于數(shù)據(jù)庫的大型系統(tǒng),建立穩(wěn)定的數(shù)據(jù)基礎(chǔ)是WFMIS建設(shè)的最本質(zhì)的任務(wù)之一。企業(yè)的信息化就是改造企業(yè)混亂無序的數(shù)據(jù)環(huán)境,逐步建立高檔次數(shù)據(jù)環(huán)境的過程。LDWFMIS系統(tǒng)中的任何部分都和數(shù)據(jù)庫直接關(guān)系,數(shù)據(jù)庫設(shè)計(jì)的好壞,不僅影響系統(tǒng)的穩(wěn)定性、安全性,也很大程度地影響系統(tǒng)的運(yùn)行效率。本系統(tǒng)正是從此點(diǎn)出發(fā),在進(jìn)行全面的數(shù)據(jù)分析的基礎(chǔ)上進(jìn)行數(shù)據(jù)建模,力求數(shù)據(jù)庫滿足數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)的規(guī)范要求,設(shè)計(jì)出一個(gè)高效的信息檢索系統(tǒng)數(shù)據(jù)庫。
WFMIS應(yīng)用了支持面向?qū)ο蟮拇笮完P(guān)系數(shù)據(jù)庫Oracle8i做為數(shù)據(jù)庫系統(tǒng)軟件,采用面向關(guān)系對(duì)象的數(shù)據(jù)設(shè)計(jì),將各個(gè)系統(tǒng)看作一個(gè)對(duì)象,在數(shù)據(jù)庫設(shè)計(jì)充分表達(dá)各對(duì)象的數(shù)據(jù)元素和數(shù)據(jù)關(guān)系。整個(gè)電廠數(shù)據(jù)庫可以若干類別的對(duì)象組成,如電廠對(duì)象、電廠設(shè)備對(duì)象、電廠庫存對(duì)象、電廠配置對(duì)象、電廠子項(xiàng)對(duì)象等。
經(jīng)過全面的數(shù)據(jù)分析發(fā)現(xiàn),以上對(duì)象分成兩種基本類型:一類是面向流程的數(shù)據(jù)對(duì)象,另一類是面向設(shè)備的數(shù)據(jù)對(duì)象。面向流程的數(shù)據(jù)對(duì)象主要是將整個(gè)系統(tǒng)看作是一個(gè)按一定的順序而組成的系統(tǒng),其中包含設(shè)備、文檔等信息。其主要是從空間上來描述系統(tǒng)。例如一個(gè)電廠對(duì)象。面向設(shè)備的數(shù)據(jù)對(duì)象則是將系統(tǒng)看成是由一些設(shè)備類型的對(duì)象組成,每一個(gè)靜態(tài)的對(duì)象都由許多數(shù)據(jù)元素組成,其中包括設(shè)備的不變信息和可變信息,例如電廠設(shè)備對(duì)象和庫存清單對(duì)象等。
3.2 數(shù)據(jù)庫的邏輯劃分
為了保證各個(gè)數(shù)據(jù)處理子系統(tǒng)的獨(dú)立性以及安全性,根據(jù)數(shù)據(jù)處理系統(tǒng)的劃分原則將WFMIS數(shù)據(jù)庫劃分為八個(gè)邏輯獨(dú)立的數(shù)據(jù)庫,實(shí)際在ORCALE8i中稱為八個(gè)方案,每個(gè)方案對(duì)應(yīng)一個(gè)用戶,只有該用戶具備對(duì)該方案內(nèi)的所有數(shù)據(jù)庫表的所有操作權(quán)限。由于各邏輯數(shù)據(jù)庫之間在原則上是不能互相訪問的,然而系統(tǒng)之間避免不了一些數(shù)據(jù)信息的交換,因此,各邏輯數(shù)據(jù)庫之間的數(shù)據(jù)信息交換通過各方案之間的對(duì)對(duì)方用戶的相應(yīng)授權(quán)來完成。
4 系統(tǒng)數(shù)據(jù)接口的設(shè)計(jì)
由于WFMIS在整個(gè)電廠系統(tǒng)中的位置,系統(tǒng)有很多的數(shù)據(jù)來源于原有的一些其它系統(tǒng),如電廠監(jiān)視信息系統(tǒng)(SIS)、財(cái)務(wù)管理系統(tǒng)、圖形系統(tǒng)、調(diào)度、SCADA等,各個(gè)系統(tǒng)都以數(shù)據(jù)庫作為后臺(tái)。由于各系統(tǒng)的網(wǎng)絡(luò)環(huán)境及數(shù)據(jù)庫類型的不同,因此就存在與本系統(tǒng)的接口問題。另外,為了增強(qiáng)系統(tǒng)的兼容性和和擴(kuò)充性,在軟件上也存在著編程接口。本系統(tǒng)與其它系統(tǒng)的接口均通過網(wǎng)關(guān)工作站交換數(shù)據(jù)。而與其它軟件的預(yù)留接口都為標(biāo)準(zhǔn)編程接口。圖2為WFMIS系統(tǒng)在耒陽電廠二期項(xiàng)目中的數(shù)據(jù)接口結(jié)構(gòu)圖。
4.1 SIS接口
SIS是一個(gè)實(shí)時(shí)系統(tǒng),其后臺(tái)數(shù)據(jù)庫采用實(shí)時(shí)性良好的IFIX advance數(shù)據(jù)庫。IFIX 數(shù)據(jù)庫是內(nèi)置PI系統(tǒng)的具有開放型結(jié)構(gòu)的實(shí)時(shí)數(shù)據(jù)庫,能夠建立大型實(shí)時(shí)數(shù)據(jù)庫和歷史數(shù)據(jù)庫。它能采用多種數(shù)據(jù)共享方式與ORACLE、SYSBASE、INFORMIX等其它大型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)共享。本系統(tǒng)通過網(wǎng)關(guān)與SIS連接,并且通過網(wǎng)關(guān)到SIS實(shí)時(shí)數(shù)據(jù)庫查詢提取數(shù)據(jù)。網(wǎng)關(guān)通過軟件設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)的隔離和將實(shí)時(shí)數(shù)據(jù)從IFIX advance數(shù)據(jù)庫傳遞到Oracle數(shù)據(jù)庫。圖3為WFMIS系統(tǒng)與實(shí)時(shí)數(shù)據(jù)庫的接口圖。
4.2 財(cái)會(huì)系統(tǒng)接口
財(cái)會(huì)系統(tǒng)基本上沒有什么特別明顯的實(shí)時(shí)性,其數(shù)據(jù)是通過定期查詢提取報(bào)表的形式獲得。由于財(cái)會(huì)系統(tǒng)所涉及的機(jī)密問題,因此,在獲取財(cái)會(huì)數(shù)據(jù)時(shí)必須保證財(cái)會(huì)系統(tǒng)的保密性和安全性。采用網(wǎng)關(guān)負(fù)責(zé)財(cái)會(huì)系統(tǒng)和MIS系統(tǒng)的數(shù)據(jù)交流,它既可以限制對(duì)財(cái)會(huì)或MIS系統(tǒng)的越權(quán)數(shù)據(jù)訪問,又能起到數(shù)據(jù)交流的作用。兩系統(tǒng)之間的網(wǎng)關(guān)也是通過軟件實(shí)現(xiàn),在系統(tǒng)中同時(shí)起系統(tǒng)隔離和數(shù)據(jù)正常交流的作用。
4.3 一期系統(tǒng)接口
對(duì)一期系統(tǒng)的接口存在數(shù)據(jù)上的接口和編程上的接口兩個(gè)問題。由于一期系統(tǒng)也存在一個(gè)后臺(tái)的SIS系統(tǒng),因此,在數(shù)據(jù)上的接口和二期系統(tǒng)的類似,即通過網(wǎng)關(guān)軟件實(shí)現(xiàn)。本系統(tǒng)為一期系統(tǒng)預(yù)留了接口,在程序上通過預(yù)留模塊化的標(biāo)準(zhǔn)編程接口,以便日后軟件擴(kuò)充升級(jí)。在數(shù)據(jù)上利用在數(shù)據(jù)庫中預(yù)留一期系統(tǒng)的表空間和表結(jié)構(gòu),日后傳入數(shù)據(jù)即可對(duì)數(shù)據(jù)庫進(jìn)行擴(kuò)充。
4.4 其他數(shù)據(jù)
有關(guān)工作崗位錄入的各種數(shù)據(jù)被存入發(fā)電廠管理信息系統(tǒng)數(shù)據(jù)庫。
5 工作流管理子系統(tǒng)設(shè)計(jì)
WFMIS中的工作流系統(tǒng)的實(shí)現(xiàn)體現(xiàn)在流程管理系統(tǒng)的設(shè)計(jì)上,流程系統(tǒng)用于在整個(gè)MIS中各用戶信息的交流。這些信息包括生產(chǎn)工作中產(chǎn)生的各種報(bào)表,文檔,資料和其他信息。
5.1 主要功能模塊及業(yè)務(wù)邏輯
WFMIS中工作流管理系統(tǒng)主要包括流程設(shè)置、流程處理 、流程啟動(dòng)、流程通知、流程操作、流程數(shù)據(jù)顯示、流程狀態(tài)跟蹤、流程考核管理、流程清理等模塊。
限于篇幅僅給出流程設(shè)置模塊邏輯示意圖,見圖4。
5.2 流程管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
本系統(tǒng)數(shù)據(jù)庫使用系統(tǒng)維護(hù)系統(tǒng)數(shù)據(jù)庫,主要包括以下數(shù)據(jù)庫表:
(a) MIS系統(tǒng)用戶信息表tb_xtyhxxb:用于對(duì)用戶授權(quán)時(shí)找出所有用戶;
(b) 用戶權(quán)限表tb_yhqxb:用于給流程結(jié)點(diǎn)操作權(quán)限授予一個(gè)或多個(gè)用戶;
(c) 流程模板庫tb_lcmbk:用于存放所有流程信息;
(d) 流程信息表tb_lcxxb:用于存放流程中所有結(jié)點(diǎn)信息;
(e) 流程跟蹤情況表tb_lcgzqkb:用于存放流程中每個(gè)相關(guān)用戶對(duì)流程結(jié)點(diǎn)所作的操作情況;
(f) 業(yè)務(wù)流程考核記錄表tb_ywlckhjlb:用于存放整個(gè)流程的完成情況,以便考核;
(g) 公文庫tb_gwk:存放流程中如審批等所加的審批報(bào)告等公文以及個(gè)用戶之間直接所發(fā)公文;
(h) 流程通知表tb_lctzb:用于存放流程到達(dá)的信息;
(i) 郵件表tb_yjb:用于向流程處理用戶發(fā)送通知信息郵件(相當(dāng)于第三章中的用戶任務(wù)表)。
5.3 流程管理子系統(tǒng)與WFMIS中其它子系統(tǒng)的接口
流程管理子系統(tǒng)與WFMIS中其它子系統(tǒng)的接口采用以下方法。
(a) 在所有的具備流程的數(shù)據(jù)庫表中,加入三個(gè)字段分別為流程代碼(fd_lcdm),流程序號(hào)(fd_lcxh),流程標(biāo)志(fd_lcbz);
(b) 在所有的具備流程的模塊中加入“啟動(dòng)流程”和“處理流程”二個(gè)功能按鈕,并按規(guī)則命名;
(c) 在“啟動(dòng)流程”功能按鈕的click事件中加入全局函數(shù)gf_start_flow,在“處理流程”中加入全局函數(shù)gf_depose_flow;
(d) 所有包含流程的窗口在open事件中加入gf_init_flow全局函數(shù)。
各個(gè)函數(shù)的實(shí)現(xiàn)是流程管理系統(tǒng)中通過功能對(duì)象封裝實(shí)現(xiàn)的,運(yùn)行于系統(tǒng)的分布是應(yīng)用服務(wù)器上。
6 系統(tǒng)安全設(shè)計(jì)
WFMIS系統(tǒng)的用戶分為三種:一是享有特權(quán)的廠級(jí)領(lǐng)導(dǎo)用戶,可以查詢?cè)L問整個(gè)系統(tǒng)或與其相關(guān)的數(shù)據(jù)資料;二是一般部室用戶,僅能使用他們權(quán)限內(nèi)的一些數(shù)據(jù)資料;三是系統(tǒng)管理員,具有系統(tǒng)最高權(quán)限,由他們負(fù)責(zé)整個(gè)系統(tǒng)的安全、調(diào)度、授權(quán)等等。
系統(tǒng)分為二級(jí)保護(hù),第一級(jí)是以太網(wǎng)入網(wǎng)口令保護(hù),它直接針對(duì)綜合查詢系統(tǒng)的入網(wǎng)用戶名和口令,用戶根據(jù)用戶名和口令訪問網(wǎng)絡(luò)資源,系統(tǒng)管理員在以太網(wǎng)中對(duì)各用戶所有目錄下的文件進(jìn)行分類授權(quán),使各用戶的數(shù)據(jù)庫在其子目錄下得以保護(hù)。第二級(jí)是在應(yīng)用設(shè)計(jì)中,系統(tǒng)管理員對(duì)用戶訪問所有模塊的權(quán)限設(shè)計(jì)一個(gè)權(quán)限表,通過該權(quán)限表,決定用戶可訪問模塊的范圍。通過以上處理,系統(tǒng)形成自動(dòng)三級(jí)保護(hù)。用戶名和口令相當(dāng)于“身份證”,用戶進(jìn)入WFMIS系統(tǒng)后由權(quán)限表決定用戶可以使用那些模塊,不能使用那些模塊,用戶無法越權(quán)行動(dòng)。
除以上存取控制之外,系統(tǒng)還配備了網(wǎng)絡(luò)防病毒軟件,防止病毒對(duì)網(wǎng)絡(luò)數(shù)據(jù)文件的破壞,并在程序設(shè)計(jì)上考慮了數(shù)據(jù)存取的并發(fā)處理。
7 結(jié)語
本文借鑒工作流管理技術(shù)方面的研究成果和已有工作流產(chǎn)品的成功設(shè)計(jì)經(jīng)驗(yàn),設(shè)計(jì)開發(fā)了基于工作流技術(shù)的發(fā)電企業(yè)管理信息系統(tǒng)。該系統(tǒng)將工作流管理技術(shù)與傳統(tǒng)的發(fā)電企業(yè)管理信息系統(tǒng)有機(jī)的相結(jié)合,實(shí)現(xiàn)了對(duì)企業(yè)業(yè)務(wù)流程的管理,保證了當(dāng)企業(yè)的組織結(jié)構(gòu)、業(yè)務(wù)流程發(fā)生改變時(shí),系統(tǒng)依然能夠有效運(yùn)行。本系統(tǒng)已在耒陽電廠等國內(nèi)大型電廠投入運(yùn)行,效果良好。