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