1.引言?
????J2EE技術自推出以來經過不斷擴展和完善,實踐證明它所具有的特性正適應了目前網絡計算模式發展的需要。其特點主要有:?
?1.可擴展性?
??? J2EE技術的核心是EJB,EJB技術把業務邏輯獨立出來,作為系統“組件”。當業務邏輯需要修改時,只需要對相應組件進行添加或修改。?
?2.高穩定性?
??? J2EE通過EJB來進行數據庫操作,而J2EE容器成為了處理事務的主要負責者,這使得開發人員不必考慮死鎖,多線程等問題。同時容器對可能發生的錯誤有對應的處理方法,保證數據處理的ACID。?
?3.標準化?
????J2EE逐漸成為分布式計算模式的標準,使得各系統之間的聯系更加方便。?
2.系統概述?
??? 學校數據實體的核心是學生,學生在整個在校過程中的各方面數據由不同部門管理,而這些部門之間常常需要對方的數據來處理自己的業務。例如:公寓管理中心在新生入校時需要教務處提供學生名單用于分配宿舍;學生工作部在對學生進行考核時需要公寓管理中心提供學生生活檔案。?

??? 這些數據的交換,傳統方式是通過紙張表格來傳遞。這種方式不僅效率低下,而且不能保證是最新的。?
??? 目前大多數高校已經有自己的數據庫,校園網也達到了一定規模。為校園信息化建設創造了硬件條件。方案的最終目的是建成一個校園網內的信息交換的數據處理平臺,使各部門的數據有機聯系起來,提高工作效率和減少不必要的失誤。?
??? 同時,由于J2EE的“功能組件”化的特性,對于某些模塊可以作為開源(OpenSource)項目,吸引廣大同學參與開發。這樣不僅提高了廣大同學對Java學習的積極性,也降低了系統維護和更新的開銷。?
3.系統具體設計實現?
??? 針對北京信息工程學院的軟硬件情況,將部分數據庫集中于校園網絡中心數據庫中,對于擁有自己獨立數據庫服務器的不部門可以通過部署EJB來與整個系統連接。?
??? 現就其中公寓管理系統子模塊的實現做具體討論。?
3.1? 系統結構及功能
??? 系統中對每一個實體對應一個CMP EntityBean,采用Stateless SessionBean 來實現具體業務邏輯,表示層采用Jsp。系統實現了公寓管理自動化,管理員可通過系統分配宿舍,進行物品管理,保修處理等。?

3.2 ?采用一些良好的設計模式來優化系統 ?
??? (1)?Value Object?
我們知道EJB 的調用使用了遠程方法,它的效率一般要遠低于本地方法的?
調用,這樣我們要讀取一個對象,如果使用他的 setXX 方法就多次調用了遠?
程,效率很低,如果一次性讀到值對象,這就減少了遠程調用。例如對學生數據創建StudentInf對象,在EntityEJB中用 changeInf(StudentInf stu) 代替以前的 changeInf(String id, String name…….)。這樣也增強了代碼的可讀性。?
??? (2)?Data Access Object?

圖4? DAO模式?
????對于系統中可能用到返回大量結果的查詢采用這種模式可以節省EJB方法調用的時間。同時設計DAO工廠,這樣當數據庫改變時只須改變相應的DAO類,無須在SessionBean中做任何修改。?
3.3?系統開發中用到的一些技巧??
??? (1)?在安排宿舍的頁面中,Page2需要得到Page1,Page3中的用戶選擇信息,再將它們提交到處理頁面。

圖五 分配宿舍功能頁面?
??? 在此我采用了動態創建form的方法。首先在page2中創建一個空form 命名為arrange。將其他兩個頁面中的選擇信息作為其子節點加到form中,最后提交。
?????????????? 
}?
???? i++; …………………….?
???? (2)???????? 在查詢學生信息程序中,會遇到需要根據用戶輸入組合查詢條件,我采用動態生成SQL語句的方法。?
??????????????????? 
4.總結和展望?
??? 目前此公寓管理系統已經在校園網上運行。教材管理,保衛處檔案管理,遠程教學系統也正在開發過程中。由于EJB技術良好的可擴展性和組件性,使得系統開發中的一些EJB可以得到復用,而且在以后的開發中只需要修改、添加EJB來維護。同時開源項目的引入使得整個系統處于不斷壯大和完善過程中。希望經過幾屆同學的努力,逐漸形成一個完善的、基于J2EE的校園信息化平臺。?
參考文獻?
[1] Rahim Adatia, Faiz Armi 等著,EJB 編程指南,電子工業出版社,2002?
[2] Mike Jasnowski,Java,XML和Web服務寶典,電子工業出版社,2002?
[3] Deepak Alur,John Crupi,J2EE核心模式,機械工業出版社,2002?
[4] Kevin Mukhar, Todd Lauinger,JAVA數據庫應用編程指南,電子工業出版社,2002?
[5] Todd Cook,Mastering JSP,電子工業出版社,2003?
