王萬軒
(甘肅惠森藥業(yè)發(fā)展有限公司 甘肅隴西 748100)
解析計算機軟件開發(fā)中的分層技術(shù)
王萬軒
(甘肅惠森藥業(yè)發(fā)展有限公司 甘肅隴西 748100)
現(xiàn)代社會已經(jīng)進入到了信息化、數(shù)字化時代,計算機軟件應(yīng)用是最為廣泛的內(nèi)容,同樣計算機軟件的開發(fā)也成為了重要的產(chǎn)業(yè),受到了廣泛的關(guān)注。計算機軟件經(jīng)過多年的發(fā)展已經(jīng)從單向的業(yè)務(wù)形式轉(zhuǎn)變成為了多層次的結(jié)構(gòu)技術(shù),這就需要我們對計算機軟件開發(fā)中的分層技術(shù)進行研究。本文主要介紹計算機軟件開發(fā)中的分層技術(shù),希望能夠?qū)ο嚓P(guān)人士有所幫助。
計算機;軟件開發(fā);分層技術(shù)
隨著計算機網(wǎng)絡(luò)技術(shù)的快速發(fā)展,計算機軟件開發(fā)內(nèi)容受到了越來越高的重視。隨著軟件應(yīng)用的越發(fā)復(fù)雜以及開發(fā)難度的增加,較為傳統(tǒng)的單層次機構(gòu)模式已經(jīng)不能滿足現(xiàn)代軟件開發(fā)的需求,所以多層次結(jié)構(gòu)體系已經(jīng)成為了現(xiàn)代軟件開發(fā)的發(fā)展方向。此種情況下,計算機軟件開發(fā)中的分層技術(shù)就具有非常重要的作用和意義。尤其是對于某些非常復(fù)雜、規(guī)模較大的系統(tǒng)性軟件來說,采用分層技術(shù)可以較為清晰的對網(wǎng)絡(luò)架構(gòu)進行處理。所以對計算機軟件開發(fā)中的分層技術(shù)進行研究具有非?,F(xiàn)實的作用和意義
所謂的分層就是將具有不同特性的物質(zhì)進行隔離,將其置于不同的層面中去。在計算機軟件開發(fā)技術(shù)中采用分層的方式就是將要實現(xiàn)不同目的的程序設(shè)計方案布置在不同的層面,在耦合性差的情況下,良好的增強計算機軟件的層次感。在計算機軟件中使用分層技術(shù),就是使構(gòu)建可以再次獲得應(yīng)用。分層技術(shù)的應(yīng)用可以分解軟件系統(tǒng),能夠?qū)⑾到y(tǒng)分解成為兩類構(gòu)件,分別為低層次構(gòu)件以及高層次構(gòu)件。相對來說,低層次構(gòu)件的應(yīng)用層面更加廣泛,可以在不同的軟件架構(gòu)上應(yīng)用。但是高層次構(gòu)件一般情況下應(yīng)用在可以實現(xiàn)某種特殊功能的模塊中。計算機軟件中采用分層技術(shù)能夠?qū)④浖O(shè)計的相關(guān)功能進行有效分解,從而實現(xiàn)分層,使得軟件更加的具有層次感。
通過采用分層技術(shù),在確保同等級軟件不同層次相對獨立的基礎(chǔ)上,使軟件開發(fā)過程具有更好的可變性,在不影響各個層次功能的基礎(chǔ)上能夠產(chǎn)生更好的協(xié)同作用。通過應(yīng)用分層技術(shù)能夠規(guī)范軟件功能層次的接口,這樣就能夠大大縮短軟件開發(fā)的周期,也可以更加容易的進行軟件更新。
隨著計算機技術(shù)的不斷發(fā)展以及軟件需求的復(fù)雜性不斷增加,計算機軟件的開發(fā)已經(jīng)從兩層、三層向著多層的結(jié)構(gòu)體系發(fā)展,分層技術(shù)在此過程中不斷的進行發(fā)展。軟件功能根據(jù)結(jié)構(gòu)體系的不同會有所不同,本文主要介紹現(xiàn)階段較為常見的兩層、三層以及四層結(jié)構(gòu)的分層技術(shù)。
2.1 兩層以及三層結(jié)構(gòu)技術(shù)
所謂的兩層機構(gòu)計算機軟件模式,就是指由數(shù)據(jù)庫的服務(wù)器以及客戶端構(gòu)成的結(jié)構(gòu)??蛻舳酥饕撠?zé)提供相應(yīng)的用戶界面以及處理邏輯關(guān)系,服務(wù)器主要是接受客戶端發(fā)出的指令,同時按照指令進行數(shù)據(jù)庫的查詢,并且將相關(guān)結(jié)果返回到客戶端。這種邏輯處理方式可以稱為Fat客戶,此種結(jié)構(gòu)形式的客戶端需要進行大量的邏輯處理操作,若是客戶端數(shù)量出現(xiàn)較大增加,就有可能發(fā)生沒有交互操作、通信應(yīng)用較差、擴展性較差、維護成本較高、安全隱患較大等問題。
隨著計算機技術(shù)的不斷發(fā)展以及現(xiàn)代應(yīng)用的需求逐漸提高,原有的二層結(jié)構(gòu)不能很好的滿足應(yīng)用系統(tǒng)相關(guān)方面的要求,隨之出現(xiàn)的就是三層結(jié)構(gòu)的技術(shù)。相比于二層結(jié)構(gòu)來說,三層結(jié)構(gòu)技術(shù)除了包括客戶端、數(shù)據(jù)服務(wù)器外,還多了一層應(yīng)用服務(wù)器層面??蛻舳说闹饕饔迷谟谶M行人機交互,數(shù)據(jù)服務(wù)器的主要作用在于提供數(shù)據(jù)信息的訪問、存儲以及優(yōu)化等,而應(yīng)用服務(wù)器的作用在于實現(xiàn)相關(guān)的業(yè)務(wù)邏輯,這樣能夠有效分解客戶端的負擔(dān)。例如管理軟件ERP系統(tǒng)采用的就是三層結(jié)構(gòu)技術(shù),分別為界面層(客戶端)、業(yè)務(wù)處理、數(shù)據(jù)層。界面層的作用在于連接用戶和系統(tǒng),用于接收用戶軟件操作方面的內(nèi)容;業(yè)務(wù)處理層的作用就在于按照用戶軟件的要求,對于用戶相關(guān)指令進行分析處理,之后向數(shù)據(jù)層提出數(shù)據(jù)操作請求;數(shù)據(jù)層的作用在于向整體系統(tǒng)提供相應(yīng)的數(shù)據(jù),此層面所考慮的是系統(tǒng)數(shù)據(jù)傳輸?shù)男?、性能以及安全性,此種三層C/S結(jié)構(gòu)能夠很好的完成相關(guān)目的。
相比于二層結(jié)構(gòu)來說,三層結(jié)構(gòu)的重復(fù)使用性更高、具有較強的擴展性、維護相對簡單、安全性比較高,可以很好的降低客戶端負荷。但是此種結(jié)構(gòu)適合的是用戶數(shù)量相對較大的情況,若是用戶數(shù)量較少,那么綜合情況對比來看二層結(jié)構(gòu)還是更有優(yōu)勢的。所以在進行計算機軟件開發(fā)應(yīng)用過程中,要按照實際情況來確定具體采用哪種分層技術(shù)。
2.2 四層結(jié)構(gòu)技術(shù)
應(yīng)用環(huán)境的不斷復(fù)雜決定了計算機軟件技術(shù)要不斷升級優(yōu)化,以此來滿足客戶對于軟件不斷升高的需求,這種要求主要體現(xiàn)在:系統(tǒng)應(yīng)用更加靈活、系統(tǒng)穩(wěn)定性要求不斷提升、對于系統(tǒng)的維護以及擴展要更加便捷、軟件的開發(fā)周期要不斷縮短等等。為了達到上述的相關(guān)要求,計算機軟件開發(fā)過程中就要將不同的層面(包括界面層、業(yè)務(wù)處理層、數(shù)據(jù)層)根據(jù)自身功能情況進行分離,使其相互獨立,不要出現(xiàn)相互影響的情況。這種情況下采用三層結(jié)構(gòu)的分層技術(shù)就不容易實現(xiàn)此種目的,軟件開發(fā)人員常常會在數(shù)據(jù)層以及業(yè)務(wù)處理層交互中增加一層,以此來實現(xiàn)對于數(shù)據(jù)庫接口的封裝,這樣就形成了四層結(jié)構(gòu)體系。
現(xiàn)有的四層結(jié)構(gòu)體系主要包括:Web層、業(yè)務(wù)處理層、數(shù)據(jù)層以及存儲層。
(1)Web層。在此層中可以采用兩種模式進行開發(fā)。①主要是通過JSP頁面所組成,如果收到客戶端的相關(guān)操作請求之后,就可以快速直接的進行響應(yīng),此過程只是使用了很少的Java處理數(shù)據(jù)庫的相關(guān)操作。此種模式的實現(xiàn)相對比較簡單,主要用在規(guī)模相對較小的項目開發(fā)方面。當(dāng)然,此種模式也具有比較明顯的局限性,JSP頁面主要起到的是控制器和視圖View的兩種作用,這樣就將控制邏輯以及表現(xiàn)相混淆,相關(guān)代碼沒有很高的重用功能,這樣對于系統(tǒng)的維護和擴展都更加困難,很難應(yīng)用在相對復(fù)雜的系統(tǒng)開發(fā)方面。②是在MVC結(jié)構(gòu)基礎(chǔ)上進行設(shè)計的,此種情況下JSP就不再承擔(dān)控制器的責(zé)任,而是通過Servlet起到前端控制器的作用,用于接收客戶端方面的請求,并且通過Java進行邏輯處理。而JSP僅僅起到表現(xiàn)層的作用,將結(jié)果呈現(xiàn)給用戶即可。此種結(jié)構(gòu)比較適合相對復(fù)雜、規(guī)模較大項目的開發(fā)。
(2)業(yè)務(wù)處理層。業(yè)務(wù)處理層處在Web層和數(shù)據(jù)層之間,主要作用在于將數(shù)據(jù)層的數(shù)據(jù)傳遞給Web層。業(yè)務(wù)處理層對于數(shù)據(jù)來說具有承上啟下的功能,按照業(yè)務(wù)以及功能大小的不同,業(yè)務(wù)處理層可以分為JavaBean以及EJB兩種封裝的業(yè)務(wù)邏輯,EJB主要是將Java語言編寫應(yīng)用系統(tǒng)中的開發(fā)、配置以及執(zhí)行進行了相應(yīng)的簡化。但是要想實現(xiàn)J2EE并不是只有EJB一種方式,可以采用EJB應(yīng)用的程序器可以使用所有分布式的網(wǎng)絡(luò)協(xié)議,例如JRMP、IIOP等等。
(3)數(shù)據(jù)層。數(shù)據(jù)層設(shè)置在存儲層和業(yè)務(wù)處理層之間,將數(shù)據(jù)層進行獨立可以解決計算機軟件映射方案(主要是位于對象和關(guān)系數(shù)據(jù)庫之間),可以很好的修補關(guān)系和對象間的不匹配差異問題。其中最為重要的決策分析工具為OLAP技術(shù),此技術(shù)可以按照分析人員的相關(guān)要求來靈活的進行數(shù)據(jù)查詢處理。
(4)存儲層。存儲層的主要作用在于數(shù)據(jù)的定義、存儲、維護以及修改等,從而滿足軟件對于數(shù)據(jù)方面的需求。此層設(shè)置在數(shù)據(jù)層和業(yè)務(wù)處理層之間,主要進行通信以及數(shù)據(jù)的傳遞,由于中間件的存在保證了兩層之間相對的獨立性,在一定程度上屏蔽了網(wǎng)絡(luò)通信的相關(guān)細節(jié)。
軟件分層技術(shù)具有很多方面的優(yōu)點,例如系統(tǒng)應(yīng)用更加靈活、系統(tǒng)穩(wěn)定性比較高、系統(tǒng)的維護簡單以及擴展性好、軟件的開發(fā)周期短等等,這些優(yōu)點決定了其在不斷高要求的計算機技術(shù)中會得到廣泛的應(yīng)用。所以計算機軟件開發(fā)人員應(yīng)充分重視分層技術(shù)的應(yīng)用,同時不斷進行技術(shù)創(chuàng)新,使計算機軟件更好的服務(wù)于人們。
[1]夏汶鈺.基于分層技術(shù)的計算機軟件開發(fā)分析[J].中國新通信,2013(11):34~35
[2]榮耀.通用企業(yè)級應(yīng)用業(yè)務(wù)基礎(chǔ)軟件平臺及相關(guān)問題研究[J].南京航空航天大學(xué),2012(07):57~58
[3]蔣琳.嵌入式數(shù)據(jù)庫關(guān)鍵技術(shù)的研究與實現(xiàn)[D].東華大學(xué),2015(09):55~56.
[4]馮 祥.分層技術(shù)在軟件開發(fā)中的應(yīng)用探究[J].電腦知識與技術(shù),2014(04):33~34.
TP311.5
A
1004-7344(2016)26-0259-02
2016-8-25
王萬軒(1980-),男,工程師,項目經(jīng)理,本科,畢業(yè)于西安電子科技大學(xué),計算機應(yīng)用專業(yè),主要從事計算機軟件開發(fā)、架構(gòu)、設(shè)計、醫(yī)藥電子商務(wù)以及項目與團隊管理工作。