1.1 B/S系統開發設計
B/S模式是一種以WEB技術爲基礎的新型的系統平臺架構模式。它把傳統C/S模式中的服務器部分分解爲一個數據服務器與一個或多個應用服務器(WEB服務器),從而構成一個多層結構的客戶服務器體系。B/S模式簡化了客戶端界面、使用通用的瀏覽器作爲客戶端程序,用戶的操作更簡單;能夠提供更廣泛的訪問範圍,用戶可以位於Intranet/Internet上的任何位置;由於應用程序全部在服務端,軟件的更新和維護方便,成本低;客戶可以同時訪問多個位於不同地方的服務器上的最新數據。目前在很多的交通管理信息系統軟件中採用的是多層的B/S模式,按照我們核心業務軟件的設計需求,採用多層B/S模式比較適合開發要求。
1.1.1 層次結構和技術體系
下面採用從上到下的設計方式進行系統的層次劃分:
1、Web表示層
此層主要是頁面和頁面跳轉控制接口,我們採用的頁面技術爲WEB2.0規範,Jsp和JSTL,頁面跳轉控制接口採用SPRING的模型視圖方法。這兩種技術對於頁面的控制具有最優秀的低耦合性。出於項目質量要求和開發進度的考慮,我們打算採用SPRING框架,因爲SPRING擁有開發需要的大量組件,更便捷的維護方式以及相當不錯的性能。
2、業務邏輯層
這一層考慮爲Web表示層提供業務邏輯調用,傳統的設計是將大部分的業務模塊和業務操作接口直接放置在Web表示層中,我們不打算這樣做,因爲這樣就意味着所有的開發工作量都會集中在Web表示層的開發中,而且一旦將Web邏輯和業務邏輯混淆,不利於系統的開發和部署。爲了降低系統的耦合性,增強系統的可移植性,我們將所有的業務操作接口和業務對象都放置在這一層。此層使用到的技術比較簡單,對於業務對象我們採用Java Bean技術,業務操作接口採用Java Interface和Java Class,同時這一層中也可以考慮使用一些Patterns(設計模式),如Factory(類工廠)、Singleton(單態)、Façade(外觀)等設計模式。
3、數據持久層
我們採用的是SPRING框架的JDBC模板組件。它在性能是明顯高於Hibernate,同時,利用類的反射機制,JDBC模板操作數據庫要比Hibernate還爲方便。
以下描述了整個系統的層次結構和技術體系:
層次結構和技術體系
1.1.2 開發工具
1.1.2.1 開發語言
l 使用Java語言
l 界面開發使用Java、Jsp、JavaScript、Html語言
l 數據庫訪問語言統一使用SQL語言
1.1.2.2 開發環境
l Web界面開發環境採用Eclipse
l WEB部署工具採用IBM Websphere 5.1
l 開發容器::TOMCAT 5.0
l JDK採用J2SDK1.4.2
l 數據庫軟件使用Oracle 9i Enterprise Database
(10.2.44.52:ticdbms)
jcbk/jcbk
l 版本控制工具採用CVS
1.1.3 命名規範
ID
|
規範類別
|
內容
|
備註
|
1 |
Java項目結構 |
l 項目前綴爲com.ht.jcbk l 嚴格按三層劃分ctrl-service-dao建議爲: n Web控制層:ctrl目錄,命名以Ctrl結尾 n Bean:bean目錄,命名以表名 n 服務層接口:service目錄,命名以Manager結尾 n 服務層實現:service.impl目錄,命名以ManagerImpl結尾 n DAO接口:dao目錄,命名以Dao結尾 n DAO接口的實現:dao.jdbc目錄,命名以DaoJdbc結尾 n 其它工具類:util目錄 n 所有的類名,建議採用英文單詞首字母大寫,遵循Java命名規範 l 在上述結構中,以表的操作爲貫穿。 l 表現層使用Jsp實現,建議: n 使用WEB2.0規範來美化/簡化頁面 n /theme:圖片樣式主題包目錄 n /js:公用類javascript目錄 n /ActiveX: 控件存放目錄 l Jsp頁面命名建議使用小寫,詳細頁以Edit結尾,列表以List結尾。 |
|
2 |
Java接口/類命名規範 |
l 業務層:XxxManager(class) l 數據層:XxxDao(interface) |
|
3 |
Jsp頁面規範 |
頁面面版 <div id="panel" style="display:none"> <div id="paneltitle"></div> 內容 </div>
查詢條件面板 <div id="query"> <div id="querytitle"></div> 內容 </div>
查詢列表面板 <div id="result"> <div id="resulttitle"></div> 內容 </div> |
|
1.1.4 目錄結構規範
1.1.4.1 Spring框架的JAVA目錄:
Web控制層:com.ht.jcbk.ctrl
Bean:com.ht. jcbk.bean
服務層接口:com.ht. jcbk.service
服務層實現:com.ht. jcbk.service.impl
DAO接口:com.ht. jcbk.dao
DAO接口的實現:com.ht. jcbk.dao.jdbc
其它工具類:com.ht. jcbk.util
其中:
1,BEAN爲JAVA的各種組件,一般以表結構對應形式存在。
2,CTRL爲頁面控制類,多爲對頁面的控制和轉發。
3,SERVICE和IMPL爲業務層。主要爲業務的代碼。
4,DAO和JDBC爲數據層,主要爲數據庫事務操作的最小化單位。
5,UTIL裏爲項目的基本類和通用類。
具體示例:
1.1.4.2 Spring框架的WEB目錄
web/js:JAVASCRIPT目錄,主要是各種JS校驗和組件。通用校驗放於common.js中。
web/theme:主題包目錄。主題包在該目錄下以文件夾目錄形式存在,每個文件夾包含一個同名的CSS和JS文件用於基本HTML控制。
web/WEB-INF/configuration:Spring的XML配置文件。
web/WEB-INF/jsp:JSP頁面目錄夾。
web/WEB-INF/lib:JAVA的包目錄。
具體示例: