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