張佩英
ZHANG Pei-ying
(鄭州牧業(yè)工程高等專科學(xué)校 教務(wù)處,鄭州 450011)
長(zhǎng)期以來(lái),各所高校的設(shè)備管理工作都或多或少的采用計(jì)算機(jī)來(lái)輔助完成,但是數(shù)據(jù)的收集,數(shù)據(jù)處理,報(bào)表的制作都還是由人工來(lái)完成,計(jì)算機(jī)扮演的僅僅是數(shù)據(jù)存儲(chǔ)的角色,有些學(xué)校也應(yīng)用了一些設(shè)備管理軟件,但由于開(kāi)發(fā)時(shí)的技術(shù)原因,這些軟件功能非常有限。同時(shí),校園網(wǎng)的普及使用又為利用現(xiàn)代網(wǎng)絡(luò)技術(shù)研發(fā)的分布式管理系統(tǒng)提供了契機(jī)[1]。
鑒于此,我們進(jìn)行了基于J2EE與Oracle的高校資產(chǎn)管理系統(tǒng)的開(kāi)發(fā)研究,將現(xiàn)有計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)應(yīng)用到高校儀器設(shè)備及實(shí)驗(yàn)室管理上來(lái),實(shí)現(xiàn)高校儀器設(shè)備及實(shí)驗(yàn)室管理的信息化。
建立高校資產(chǎn)網(wǎng)上管理系統(tǒng),使高校主管固定資產(chǎn)的管理部門(教務(wù)處、設(shè)備處或國(guó)有資產(chǎn)管理處)能方便的對(duì)其管轄的所有固定資產(chǎn)的數(shù)量、價(jià)值、分布、使用情況、評(píng)估情況等進(jìn)行查詢、分析[2]。實(shí)現(xiàn)對(duì)固定資產(chǎn)的全息、實(shí)時(shí)與多維監(jiān)管。并進(jìn)行經(jīng)常分析、研究和匯總,按規(guī)定上報(bào)各類統(tǒng)計(jì)數(shù)據(jù),實(shí)現(xiàn)各類數(shù)據(jù)網(wǎng)上傳輸,充分利用現(xiàn)代化手段對(duì)儀器設(shè)備實(shí)施科學(xué)化管理。
近年來(lái),我國(guó)高等教育事業(yè)發(fā)展迅速,尤其是高校間的合并與調(diào)整,高校校區(qū)相對(duì)分散,高等學(xué)校的固定資產(chǎn)管理體現(xiàn)為資產(chǎn)多、金額大、分類復(fù)雜,管理難度也越來(lái)越大[3]。
雖然高校固定資產(chǎn)管理都實(shí)現(xiàn)了一定程度的信息化,給管理工作也帶來(lái)了便利,但根據(jù)實(shí)際調(diào)查還存在著以下問(wèn)題:
1)有關(guān)人員在辦理資產(chǎn)相關(guān)手續(xù)時(shí)需多次往返國(guó)有資產(chǎn)管理部門,耗費(fèi)了大量的時(shí)間和精力,特別是對(duì)于校區(qū)分散的高校教職工來(lái)講,更是極大的不便;
2)管理脫節(jié),造成財(cái)務(wù)處與國(guó)有資產(chǎn)管理部門的帳帳不符,存在一定的問(wèn)題和漏洞;
3)財(cái)務(wù)部門與國(guó)有資產(chǎn)管理部門的財(cái)務(wù)對(duì)帳主要靠人工進(jìn)行,工作量大又容易產(chǎn)生人為錯(cuò)誤;
4)設(shè)備基本信息的錄入主要靠資產(chǎn)管理部門的人員根據(jù)手工填寫(xiě)的驗(yàn)收單來(lái)完成,工作量繁重。
整個(gè)系統(tǒng)采用目前流行的B/S(Browser/Server)結(jié)構(gòu),即瀏覽器和服務(wù)器模式。系統(tǒng)運(yùn)行在校園網(wǎng)環(huán)境中,用戶可以通過(guò)校園網(wǎng)的任意一臺(tái)PC登陸系統(tǒng);能夠?qū)崿F(xiàn)遠(yuǎn)程計(jì)劃申報(bào)、遠(yuǎn)程查詢(部分?jǐn)?shù)據(jù));提供對(duì)內(nèi)資料文檔的下載服務(wù);對(duì)外采購(gòu)信息及報(bào)廢設(shè)備處理信息的發(fā)布[4,5];對(duì)不同的使用者,設(shè)置不同的操作權(quán)限,如只有倉(cāng)庫(kù)管理人員對(duì)庫(kù)存管理系統(tǒng)具有錄入、修改等權(quán)限,其他授權(quán)用戶只有瀏覽權(quán),整個(gè)系統(tǒng)的用戶對(duì)象覆蓋全校任何處室部門。
高校資產(chǎn)管理系統(tǒng)依托internet線路,校內(nèi)各級(jí)客戶端為能夠上互聯(lián)網(wǎng)的PC機(jī);管理中心設(shè)置一臺(tái)服務(wù)器,部署Weblogic中間件、應(yīng)用軟件和數(shù)據(jù)庫(kù);各處室或者分校用戶要訪問(wèn)系統(tǒng),可通過(guò)具有加密機(jī)制的密碼和被防火墻授權(quán)的地址雙重保護(hù)登錄,保證了系統(tǒng)安全性[6]。
高校資產(chǎn)管理系統(tǒng)部署在LINUX(操作系統(tǒng))+Weblogic+J2SDK1.6.0(JAVA)+ORACEL(數(shù)據(jù)庫(kù))應(yīng)用平臺(tái)上。
圖1 設(shè)備管理系統(tǒng)的主要流程圖
LINUX操作系統(tǒng)具有高穩(wěn)定性和高安全性的特點(diǎn),并且擁有十分強(qiáng)大的網(wǎng)絡(luò)功能,適合于服務(wù)器的網(wǎng)絡(luò)管理。
用Weblogic來(lái)部署WEB服務(wù)器,它具有性能穩(wěn)定、處理機(jī)制合理、支持多用戶并發(fā)和響應(yīng)時(shí)間快等優(yōu)勢(shì),與JAVA結(jié)合得非常好,是理想的WEB服務(wù)器軟件。
根據(jù)該系統(tǒng)的具體業(yè)務(wù)需求,采用J2EE的開(kāi)發(fā)架構(gòu)來(lái)開(kāi)發(fā)該系統(tǒng)。J2EE架構(gòu)是當(dāng)前流行的開(kāi)發(fā)架構(gòu),它安全性高、穩(wěn)定性強(qiáng),功能強(qiáng)大。
數(shù)據(jù)庫(kù)采用ORACLE數(shù)據(jù)庫(kù),它適合企業(yè)級(jí)數(shù)據(jù)管理。
設(shè)備管理系統(tǒng)的主要流程如圖1所示。
圖2 設(shè)備管理關(guān)鍵用例圖
5.1.1 Javabean類文件
1)編寫(xiě)文件名:xxxjava將庫(kù)表屬性進(jìn)行打包,使用get方法,返回String;set方法,取string為參數(shù)。
2)編寫(xiě)文件名:XXX_Bean.java它封裝了和XXX(如 application)相關(guān)的業(yè)務(wù)邏輯,構(gòu)造方法,用于獲得一個(gè)數(shù)據(jù)庫(kù)的連接并用insert into 語(yǔ)句編寫(xiě)addapplication程序。
5.1.2 JSP主文件
編寫(xiě)文件名:xxx.jsp提供了對(duì) Bean的訪問(wèn)。在一個(gè)Bean被使用之前,必須調(diào)用useBean標(biāo)簽來(lái)引用它并將頁(yè)面代碼及判斷代碼插入其中。Jsp是構(gòu)建在java servlet 技術(shù)之上的,用于簡(jiǎn)化動(dòng)態(tài)web內(nèi)容的開(kāi)發(fā)。
程序模塊圖間的關(guān)系如圖3所示。
圖3 程序模塊圖
對(duì)應(yīng)于J2EE的3層模型,將應(yīng)用程序靈活地分割給不同的層[7],分割的原則為:
1)能較好地實(shí)現(xiàn)分層結(jié)構(gòu),WEB組件實(shí)現(xiàn)用戶界面層,會(huì)話組件實(shí)現(xiàn)業(yè)務(wù)邏輯層、實(shí)體組件實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)層。
2)能提供一種解決方案,即會(huì)話組件和實(shí)體組件在邏輯上和物理上都應(yīng)該是分布的。
3)實(shí)現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)存儲(chǔ)邏輯的分離,減少了業(yè)務(wù)邏輯對(duì)數(shù)據(jù)庫(kù)的相關(guān)性。
分割后的應(yīng)用程序與3層模型的映射圖如圖4,最上層的J2EE的模型視圖,把原來(lái)的業(yè)務(wù)層分為業(yè)務(wù)邏輯層和數(shù)據(jù)存儲(chǔ)層。業(yè)務(wù)邏輯代替客戶端執(zhí)行復(fù)雜的業(yè)務(wù)邏輯程序,減輕客戶端的負(fù)擔(dān),可以被客戶端重復(fù)地調(diào)用,而且同時(shí)維護(hù)調(diào)用Entity bean的狀態(tài)。后者利用對(duì)象所定義的business函數(shù)來(lái)執(zhí)行與數(shù)據(jù)庫(kù)的交易。
圖4 應(yīng)用程序?qū)佑成鋱D
5.3.1 客戶機(jī)層的實(shí)現(xiàn)
對(duì)應(yīng)于模型,用HTML頁(yè)面實(shí)現(xiàn)客戶機(jī)層,只是負(fù)責(zé)提供傳入輸入的數(shù)據(jù)或者顯示W(wǎng)eb層生成的頁(yè)面。
5.3.2 Web層的實(shí)現(xiàn)
以JSP和Servlet包裝成Web組件放在Web容器中實(shí)現(xiàn)Web層,做到用戶界面的實(shí)現(xiàn)。在EJB容器中,用會(huì)話組件(Session Bean)實(shí)現(xiàn)業(yè)務(wù)邏輯層,用實(shí)體組件(Entity Bean)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)層。
在應(yīng)用程序的模塊劃分中,分別列出了在實(shí)現(xiàn)設(shè)備出庫(kù)過(guò)程中所必須處理的4個(gè)邏輯層的劃分。以記錄出庫(kù)信息為例,首先管理員在客戶機(jī)層out_Info.html頁(yè)面填寫(xiě)出庫(kù)信息(如入庫(kù)序號(hào)、設(shè)備類型碼等),提交信息到Web組件層的out_ Info.jsp中去。
Out_Info.jsp使用JNDI確定Session Bean的home接口的位置,先取得JNDI上下文,然后取得Home Interface的參考。調(diào)用out_Session_Home的create()方法,創(chuàng)建一個(gè)會(huì)話組件對(duì)象,接下來(lái)把得到的出庫(kù)信息(如出庫(kù)序號(hào)、取料人)等字段的值添加到一個(gè)Array List對(duì)象中,然后調(diào)用該對(duì)象中封裝的out_Info _Save (Array List col Items)商業(yè)方法來(lái)進(jìn)行數(shù)據(jù)的寫(xiě)入。
5.3.3 業(yè)務(wù)邏輯層實(shí)現(xiàn)
在EJB容器中,用會(huì)話組件實(shí)現(xiàn)業(yè)務(wù)邏輯層。Out_Session_Home()是EJB的Home接口,客戶端通過(guò)它來(lái)建立、取得或是刪除會(huì)話組件的參考。Out_Session是EJB的Remote接口,聲明商業(yè)組件內(nèi)定義的商業(yè)函數(shù)。其中,定義了out_Info_ Save (Array List col Items),來(lái)實(shí)現(xiàn)客戶端對(duì)出庫(kù)信息的存儲(chǔ)。Out_EJB是一個(gè)有狀態(tài)的會(huì)話組件,實(shí)現(xiàn)了Home接口和Remote接口聲明的商業(yè)函數(shù)。在out_Info_Save(Array List col Items)方法中,調(diào)用out_Info_Home的creat (Array List col Items)方法,在數(shù)據(jù)庫(kù)中插入出庫(kù)信息。
5.3.4 數(shù)據(jù)存儲(chǔ)層實(shí)現(xiàn)
在EJB容器中,用實(shí)體組件實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)層,實(shí)體組件負(fù)責(zé)封裝數(shù)據(jù)庫(kù)存取修改的邏輯。出庫(kù)信息實(shí)體組件是組件管理持久存儲(chǔ)的實(shí)體組件。Out_Info_Home是Home接口,out_Info是Remote接口,out_Info_EJB是實(shí)體組件的類。同會(huì)話組件類似,在out_Info_Home中聲明create(Array List col Items),在out_ Info_EJB中ejb_Create(Array List col Items)實(shí)現(xiàn)該方法,在其中封裝數(shù)據(jù)庫(kù)插入數(shù)據(jù)的邏輯在會(huì)話組件調(diào)用home接口的該方法時(shí),EJB容器調(diào)用ejb_ Create方法,將數(shù)據(jù)信息插入到數(shù)據(jù)庫(kù),完成數(shù)據(jù)寫(xiě)入邏輯。
因?yàn)樘砑映鰩?kù)信息與減少庫(kù)存量屬于同一個(gè)事務(wù),所以減少庫(kù)存量的邏輯處理也封裝在同一個(gè)Session Bean中。這樣,如果在一個(gè)數(shù)據(jù)寫(xiě)入失敗時(shí)任務(wù)回滾,回到寫(xiě)入之前狀態(tài),維護(hù)不同數(shù)據(jù)表之間的對(duì)應(yīng)記錄關(guān)系。
上述4個(gè)功能模塊各自還有許多其他的實(shí)體組件和會(huì)話組件。每個(gè)EJB盡量封裝單個(gè)的業(yè)務(wù)邏輯,以避免業(yè)務(wù)處理的變化引起系統(tǒng)的變化。
高校資產(chǎn)管理信息系統(tǒng)是以設(shè)備的基礎(chǔ)數(shù)據(jù)信息管理為根本,是在數(shù)據(jù)共享基礎(chǔ)之上,建立起綜合的資產(chǎn)管理體系。因此,做到設(shè)備編碼設(shè)計(jì)與數(shù)據(jù)庫(kù)的優(yōu)化,可以減少數(shù)據(jù)輸入量,保證數(shù)據(jù)一致性、完整性、最少的數(shù)據(jù)冗余和較好的擴(kuò)充性能。
高校資產(chǎn)管理信息系統(tǒng)的建立是一個(gè)漸進(jìn)、動(dòng)態(tài)的過(guò)程,系統(tǒng)開(kāi)發(fā)要與時(shí)俱進(jìn),在分析高校自身實(shí)現(xiàn)管理模式和所要達(dá)到的目標(biāo)的基礎(chǔ)上,要全面認(rèn)識(shí)管理信息系統(tǒng)。系統(tǒng)的建立是一個(gè)不斷完善、不斷提高的過(guò)程。
[1]吳萬(wàn)忠,江世英,李守麗 高校國(guó)有資產(chǎn)管理思考[J]信陽(yáng)農(nóng)業(yè)高等??茖W(xué)校學(xué)報(bào),2004,1.
[2]教育部辦公廳關(guān)于報(bào)送高等學(xué)校實(shí)驗(yàn)室信息統(tǒng)計(jì)數(shù)據(jù)的通知,教高廳函(2006)45號(hào).
[3]汪漢榮.淺議加強(qiáng)高校固定資產(chǎn)管理[J].安徽農(nóng)業(yè)大學(xué)學(xué)報(bào),2004,13(5):62-64.
[4]肖勝.基于J2EE的分布式應(yīng)用系統(tǒng)的研究與應(yīng)用[D].西安:西安理工大學(xué),2004:13-14.
[5]任兩品.基于工作流的高校固定資產(chǎn)管理系統(tǒng)研究[D].武漢:武漢理工大學(xué),2005.
[6]T.Parsons,A.Mos and J.Murphy Non-intrusive end-to-end runtime path tracing for J2EE systems[J]IEE Proc.-Softw.,Vol.153,No.4,August 2006.
[7]崔偉,趙進(jìn)超.基于J2EE的高校教學(xué)設(shè)備儀器管理系統(tǒng)[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2006,8.