沈晗
摘 要在軟件研發中,架構設計是十分重要的內容之一,往往涉及到軟件的設計模式、發布環境和運行效率等環節。在現在的軟件設計中,由于三層架構具有設計簡便、便于管理等優點,所以得到了十分廣泛的應用。當然,三層軟件架構也存在著一定的缺陷,比如在系統前端編程以及其拓展性等方面存在一定的缺陷。由于三層軟件架構將表示層、數據訪問層以及業務邏輯層三種均放到了服務器上,使得所有的頁面表單數據都得經由服務器的控制才可以實現工作的完成,這就大大提高了對配置的要求,尤其是對容器的要求。同時,這也會影響軟件的整體運行效率和用戶的良好體驗。筆者通過對多年的工作經驗的總結,一三層架構為基礎,并將JavaScript、SOA、Browser cache等技術引入到軟件設計中,希望能夠對提高軟件設計的整體水平的提高有所幫助。
【關鍵詞】三層架構 重構 優化
眾所周知,在研發周期中軟件設計工作十分重要,主要原因在于其關系到軟件的設計模式、發布環境、開發成本和運行效率等一系列極為重要的環節。目前來看,實現結構設計的創新工作主要是將表示層從服務器端轉移到了客戶端。也就是將AJAX、ISON、JS、JQuery、Cache等技術引入到軟件設計中,將軟件本身的構造進行一定程度的改造,實現最大程度的優化與整合,進行有效解決軟件及服務器壓力過大的問題,這樣也能夠提高軟件的使用壽命。因此,本文提出了基于ISON、Cridential和SOA的業務邏輯分解模型。這種模型是指以ISO為數據交互載體,同時利用Cridential保證相關數據的安全性,同時將化整為零的數學手段運用到商業邏輯分解工作中,具體的就是將其分解成的多個基本功能模塊并將它們掛載到SOA總線上,以實現滿足各個平臺數據請求的目標,完成更廣范圍的服務工作。
1 簡述三層架構
三層架構的應用是由于人們對軟件工程的認識越來越深入和普通大眾對軟件使用的體驗效果要求越來越高。實際上,由于各種新技術的研發與應用,比如人們對封裝、擴展移置,使原有的二層架構不能很好地支撐整個龐大的體系,這也就是三層架構得以研發和應用的主要原因。當三層架構的設計被人們認識并應用后,實現了更高的應用目標,因此可以說在一定程度上革新了軟件的整體架構。
所謂的“三層架構”具體指的是將“業務邏輯層”作為中間層插入“數據庫服務層”和“客戶界面層”中間,從而三個不同的層面構成了一個更加合理的三層體系。這種三層結構更加合理,因為當加入“業務邏輯層”之后,就解決了以往的二層架構難以解決的問題,比如復雜的商業邏輯的分解工作。這樣一來就使得服務器更具安全性、可靠性和可移置性,很大程度上減少了用戶的管理應用的時間,提高了其體驗效果與滿意度。
2 對三層架構的優點與缺點的理解
通過上文的分析,我們不難發現,三層架構在整體上更具競爭優勢,而其優勢則主要體現在以下幾個方面:
(1)高內聚。
(2)低禍合。
(3)更加適合團隊開發。
因此,在設計過程中,前臺工程師的設計重心可以更加傾向于表示層設計,比如數據的綁定、頁面的渲染等;而負責業務邏輯的工程師則可以將工作重心放在業務邏輯層就可以了,而沒有必要深入、透徹地了解表示層的實現原理。
當然,我們在看到三層架構的這些優勢的同時,也不能忽視其缺點。在實踐中我們不難發現,三層架構具有如下不足之處:
(1)設計更加復雜,難度大。因為三層架構為多層設計,設計十分復雜,而且也沒有將關于支持面向服務的設計納入考慮范圍之內,所以復雜程度可想而知;
(2)對服務器的要求很高。因為三層結構都要在同一個服務器上,總的負荷量很大,這就要求服務器具備極高的可靠性和數據處理能力,而在實際設計中,為了保證服務器的運行質量,往往會做系統集群與負載均衡,這就使得應用三層架構的成本大大增加了;
(3)三層架構缺乏跨平臺服務功能,無法實現數據共享。
3 對表示層的重構
由于三層架構具有一定的限制性,也就是對系統環境的要求較高,本文以此為切入段,將AJAX、JQuery、JS、Cache、ISON等技術手段引入到軟件設計中,從而提出把表示層的渲染從服務器端轉移到客戶端的CUL(Client-UI-layer)模型,希望能夠實現軟件架構以及系統資源的優化和組合。CUL的最大優勢和特點在于其可以協助完成表示層的渲染與國際化。如果有客戶訪問頁面,就會在高速緩存服務器的作用下將表示層的資源轉移客戶端上,這樣一來不經提高了下載速度,而且還會提高訪問率。
4 對業務邏輯層的重構
業務邏輯層的主要作用是溝通表示層和數據訪問層,起到橋梁的作用,其位置在數據層和表示層中間和數據訪問層之間。首先業務邏輯層對數據訪問層的原始數據實施相關的處理,并且依照相應的標準完成數據的封裝工作,然后再將所有的處理數據發送到表示層。因此,通過引入CUL模型,就實現了將表示層從服務器端轉移到客戶端的目標。另一方面,也要將業務邏輯層改造為面向服務的業務邏輯層,實現分享型的數據服務目標。
5 小結
綜上所述,三層架構并不是憑空出現的,而是在二層架構的基礎上產生的。三層架構的最大特點就是將業務邏輯層引入了原有的二層結構中,形成了“表示層”、“業務邏輯層”以及“數據訪問層”三層,在很大程度上簡化了操作的難度,也就是使相關的代碼設計工程師減輕了設計負擔,不需要研究什么是不業務邏輯但依然可以很好地完成工作,同樣的負責業務邏輯的工程師也沒必要了解什么是數據庫的訪問過程,仍然可以很好地完成工作。整體上來看,各個層面之間則可以實現良好的協作效果,實現更高的工作效率。
參考文獻
[1]周明輝,徐俊剛.基于J2EE體系的框架分析與設計方法MBP[J].計算機應用與軟件,2009(12).
[2]劉艷,張銳,彭巖.Hibernate+Spring+Struts
+Ajax整合框架在企務通系統中的應用[J].計算機應用與軟件,2009(10).
[3]肖榮榮,張鳳斌,劉亞麗,徐昕業.Web2.0應用情況調查分析及其啟示[J].圖書館理論與實踐,2009(09).
作者單位
江蘇蘇源高科技有限公司 江蘇省南京市 210008