摘 要: J2EE項目的開發中[1],通常需要一個團隊去完成,團隊由美工、界面設計師、分析師、程序員、測試員和實施人員組成,但對于一般項目,就可能不需要這么多的資源,所以采用哪種框架對J2EE系統的開發就比較重要。文章主要介紹如何使用ZK框架來快速構建系統,通過對浙江省德清縣的“智能低壓配電設備故障診斷及運行監控系統”的分析和總結,論證了使用ZK框架的組件化的技術可以加快系統開發、降低系統的耦合度、縮短系統的開發周期。
關鍵詞: ZK; J2EE; 組件化; 快速構建
中圖分類號:TP301 文獻標志碼:A 文章編號:1006-8228(2013)10-43-02
0 引言
ZSH是ZK+Spring+Hibernate 技術框架的縮寫,是在開發企業內部應用系統中所采用的框架。企業應用系統從應用范圍的角度看,一類是企業級業務系統,如“智能低壓配電設備故障診斷及運行監控系統”,整個系統包括保護器管理、終端管理、保護器遠程遙測遙控、故障預警、故障處理、運行監控、實時曲線等功能,系統需求量非常大,功能也比較多,主要注重業務的實現,頁面的漂亮程度不是很重視,且企業要求的開發周期比較短,總之是“時間緊、任務重”。另一類系統是公眾系統,這類系統往往對頁面的美工要求比較高,對于用戶友好性,易操作性要求都比較高,如各類的團購網站,淘寶等,這類系統往往周期比較長,且在長期不斷的維護中越來越成熟。
“智能低壓配電設備故障診斷及運行監控系統”符合第一類系統的設計與開發,在這類系統開發中,往往有將近30%的工作量是重復的,如用戶管理、登錄、權限管理、部門管理等。為了達到更大的經濟效益,縮短整個項目的開發周期,本文主要采用ZSH框架來快速構建系統,團隊只要對具體業務模塊進行開發,對于公用部分,直接調用組件或者通過菜單配置就能完成,可以大大縮短項目周期。
1 系統設計方案
1.1 技術框架介紹
ZSH框架是MVC框架中的一種,ZSH是ZK+Spring+Hibernate的簡寫,這里的Spring和Hibernate應該是大家比較熟悉的,前者主要負責業務的處理,后者主要負責數據庫的處理,這里的ZK就主要負責頁面的處理。
ZK是一套以AJAX/XUL/Java為基礎的網頁應用程式開發框架[2],用于豐富網頁應用程式的使用接口。在設計AJAX網絡應用程式時,可輕松簡便地操作,就像設計桌面程式一樣。ZK包含了一個以AJAX為基礎、事件驅動(event-driven)、高互動性的引擎,同時還提供了豐富多樣、可重復使用的XUL與HTML組件。ZK提供超過70個XUL組件及80個XHMTL組件。ZK亦提供 FCKeditor,Dojo,Google Maps和SIMILE Timeline的組件,讓使用者直接以Java控制,無須使用 JavaScript[3]。
綜上所述,在對前臺開發中采用了ZK框架,一方面是因為ZK集成了Javascript,使我們有更多的精力集中在業務層上,另外一方面是由于它提供了豐富的組件以及自定義的組件,可以大大提高項目中的重用,減少新組件開發的時間和成本,同時在不同的項目中也可以不斷地積累新的組件,從而可以應用到其他項目中,不但可以加快項目前期的建模,也可以加快后期的代碼開發和測試。
1.2 設計思路
在本文中,主要通過員工管理的例子來說明ZK的重用性和提高開發速度。
通過對各類項目的整理和分析發現,作為獨立的企業內部應用一般都會存在員工管理和員工登錄這兩個功能,而且一般系統的需求都是非常接近的,如編號,姓名,工號等,可能的區別是在不同的系統中員工屬性有多、有少,所以我們在設計數據庫結構的時候利用擴展表來實現員工的擴展信息,基本信息通過主表來實現,表結構如表1所示。
在具體開發程序時,需要將其作為獨立的一個模塊來進行開發,要降低與其他任務業務模塊的耦合度,作為獨立的模塊,通過配置系統菜單來添加該功能。對于其他模塊如何來調用員工中的數據呢,怎樣使其耦合度降的最低,怎樣使其能完全獨立從而達到更大的重用性,我們是這樣考慮的:采用zk基本組件中的bandbox,通過對bandbox的自定義實現,讓其成為一個公用的員工搜索輸入框,若其他模塊中需要調用員工的數據,可以直接調用該輸入框,如此員工模塊的重用性大大增加,筆者已經把這種模式成功地應用在了不同的系統中。
1.3 代碼實現
1.3.1 員工模塊功能實現
2 結束語
本文通過員工管理模塊的例子體驗了使用ZK框架[5],結合自定義的組件讓我們在程序開發中提高重用性,減少工作周期。實驗證實,通過這種方式來快速的構建系統,可以有效地縮短四分之一的開發周期,也可以降低系統的耦合度,使程序員更加注重于具體業務的實現。目前這種方式已經應用在德清縣局的智能低壓配電設備故障診斷及運行監控系統,且運行良好。今后仍需要對這種模式做進一步的歸納和總結,使重用的模塊可以適應更多的項目,有更多的擴展性和更靈活的配置方式。
參考文獻:
[1] 趙輝煌,周德儉.基于J2EE的企業技術服務信息系統設計與實現[J].信息系統工程,2012.12:36-37,48
[2] 劉曉明,施霖.實現Aiax應用程序的一種途徑——ZK[J].科技廣場,2007.7:141-143
[3] ZK:Leading Enterprise Java Web Framework [EB/OL]. http://www.zkoss.org/,2013-06-01.
[4] Next-Generation Applications Using Ajax and OpenAjax[EB/OL].http://www.openajax.org/whitepapers/Next-Generation Applications Using Ajax andOpenAjax.php,2012-07-01.
[5] 林亞明.基于ZK的MVVM與MVP設計模式應用研究[J].重慶文理
學院學報:自然科學版,2012.6:2012.31(6).