戴晨昱
?
分層技術(shù)在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用
戴晨昱
(中國(guó)移動(dòng)通信集團(tuán)廣東有限公司,廣東 廣州 510623)
隨著國(guó)民經(jīng)濟(jì)的深入快速發(fā)展,我國(guó)的科學(xué)技術(shù)領(lǐng)域也取得了良好的成果,尤其是計(jì)算機(jī)技術(shù)的應(yīng)用越來(lái)越廣泛,與此同時(shí)計(jì)算機(jī)軟件的開發(fā)技術(shù)也日益多樣化。由于傳統(tǒng)的單層軟件系統(tǒng)已經(jīng)越來(lái)越難以滿足用戶不斷增加的實(shí)際需求,因此,分層技術(shù)在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用變得越來(lái)越普遍。從分層技術(shù)的概念和優(yōu)勢(shì)出發(fā),對(duì)分層技術(shù)在軟件開發(fā)中的應(yīng)用進(jìn)行分析,并總結(jié)得出其潛在的發(fā)展趨勢(shì)。
分層技術(shù);計(jì)算機(jī)軟件;技術(shù)開發(fā);中間件技術(shù)
隨著現(xiàn)代社會(huì)計(jì)算機(jī)與軟件技術(shù)的不斷發(fā)展,用戶的實(shí)際需求也在不斷增加,因此對(duì)軟件開發(fā)的結(jié)構(gòu)性和多樣性提出了更高的要求。傳統(tǒng)的軟件開發(fā)多使用單層技術(shù),使開發(fā)軟件的整體結(jié)構(gòu)較為單一,且運(yùn)行速度較慢,難以應(yīng)對(duì)與日俱增的用戶數(shù)據(jù)量,嚴(yán)重影響了實(shí)際的用戶體驗(yàn)。隨著單層結(jié)構(gòu)技術(shù)缺陷的不斷暴露,可靠靈活并且結(jié)構(gòu)清晰的軟件分層技術(shù)應(yīng)運(yùn)而生。分層技術(shù)的主要理論基礎(chǔ)運(yùn)用了計(jì)算機(jī)軟件結(jié)構(gòu)內(nèi)部中各層次的相互關(guān)系,在計(jì)算機(jī)軟件的開發(fā)過程中,對(duì)其中產(chǎn)生的問題進(jìn)行分層處理,每層都包括對(duì)應(yīng)的問題解決方案,進(jìn)而形成一個(gè)垂直的逐級(jí)軟件開發(fā)系統(tǒng)。
隨著近年來(lái)計(jì)算機(jī)軟件開發(fā)技術(shù)的不斷發(fā)展,軟件分層技術(shù)相比傳統(tǒng)的軟件結(jié)構(gòu)形式所具有的獨(dú)特優(yōu)勢(shì)越發(fā)明顯,已經(jīng)成為了未來(lái)計(jì)算機(jī)軟件開發(fā)的主流技術(shù)之一。分層技術(shù)在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用使得軟件市場(chǎng)的整體發(fā)展形勢(shì)發(fā)生了一定程度的變化,這與其獨(dú)有的優(yōu)勢(shì)是分不開的。
分層技術(shù)的優(yōu)勢(shì)具體表現(xiàn)在:①分層技術(shù)在軟件開發(fā)過程中將實(shí)際問題和用戶需求按照不同層次的內(nèi)容進(jìn)行分層,這不僅使開發(fā)人員的整體思路更加清晰明確,更方便對(duì)軟件后期運(yùn)行中某一層出現(xiàn)問題后的修改與維護(hù),大大節(jié)省了人力和財(cái)力;并且分層技術(shù)使得基于原始軟件系統(tǒng)的拓展和開發(fā)成為了可能,方便了軟件開發(fā)人員的軟件系統(tǒng)平臺(tái)搭建,在一定程度上縮減了軟件開發(fā)周期。②通過運(yùn)用分層技術(shù),開發(fā)人員可以建立起計(jì)算機(jī)軟件系統(tǒng)的物理硬件和底層結(jié)構(gòu)之間的聯(lián)系,使得原本具有很強(qiáng)依賴關(guān)系的系統(tǒng)結(jié)構(gòu)變得更加抽象化,層次關(guān)系更加分明,將原本復(fù)雜的程序結(jié)構(gòu)變得更加清晰。這樣不僅可以使軟件系統(tǒng)的整體性能得到提升,也使軟件復(fù)雜功能的添加與實(shí)現(xiàn)更加方便。③分層技術(shù)的使用使軟件系統(tǒng)的內(nèi)部結(jié)構(gòu)在運(yùn)行時(shí)更加獨(dú)立可靠,如同并聯(lián)電路一樣,某一層次的變化只會(huì)對(duì)該層次的相關(guān)部分產(chǎn)生影響,而并不會(huì)對(duì)系統(tǒng)結(jié)構(gòu)的其他部分產(chǎn)生作用,提升了軟件系統(tǒng)運(yùn)行的穩(wěn)定可靠性。并且,分層技術(shù)使計(jì)算機(jī)軟件的復(fù)用成為了可能,即不同軟件之間的無(wú)縫連接可以通過各層次間統(tǒng)一的標(biāo)準(zhǔn)接口實(shí)現(xiàn),使軟件開發(fā)具備了較強(qiáng)的可擴(kuò)展性。
計(jì)算機(jī)軟件技術(shù)的快速發(fā)展和用戶需求總量的激增使分層技術(shù)得到了越來(lái)越廣泛的運(yùn)用,通過不斷的技術(shù)應(yīng)用與更新,分層技術(shù)也從開始簡(jiǎn)單的兩層技術(shù)發(fā)展,逐漸產(chǎn)生了更加先進(jìn)的三層技術(shù)、四層技術(shù)以及五層技術(shù)等多樣的多層技術(shù),下面對(duì)主要的分層技術(shù)及其實(shí)際應(yīng)用進(jìn)行分析。
兩層技術(shù)是多層技術(shù)中最為簡(jiǎn)單直接的,其主要形式可以由服務(wù)器和客戶端組成,其中客戶端的功能是向軟件用戶提供操作和使用界面,提升用戶實(shí)際的使用體驗(yàn);服務(wù)器的主要作用是接收由客戶端發(fā)送來(lái)的指令消息,并進(jìn)行數(shù)據(jù)庫(kù)操作和相關(guān)邏輯處理,最后將信息通過客戶端反映給用戶。兩層技術(shù)具有結(jié)構(gòu)簡(jiǎn)單的雙向性特點(diǎn),在面對(duì)實(shí)際用戶數(shù)量較小、運(yùn)算時(shí)間要求不高的情況下可以解決一定量的數(shù)據(jù)需求問題,但是當(dāng)軟件用戶的數(shù)量出現(xiàn)激增時(shí),其運(yùn)算進(jìn)程緩慢、性能較低和成本較高等劣勢(shì)就會(huì)愈發(fā)明顯,并且極容易出現(xiàn)問題和漏洞,嚴(yán)重影響了用戶的實(shí)際體驗(yàn)和數(shù)據(jù)隱私,制約了兩層技術(shù)的進(jìn)一步應(yīng)用。因此,面對(duì)越來(lái)越龐大的數(shù)據(jù)量和用戶對(duì)成本、數(shù)據(jù)安全更加嚴(yán)格的要求,兩層結(jié)構(gòu)的升級(jí)版即三層技術(shù)得到了廣泛的重視和應(yīng)用。
隨著用戶數(shù)據(jù)量和需求的迅速提升,兩層結(jié)構(gòu)的缺陷進(jìn)一步被放大。但是,第一代多層結(jié)構(gòu)技術(shù)為后續(xù)的技術(shù)研發(fā)開辟了更加明確的發(fā)展道路。三層技術(shù)就是在兩層結(jié)構(gòu)的技術(shù)基礎(chǔ)上,通過結(jié)合實(shí)際的用戶需求進(jìn)行技術(shù)改進(jìn)而發(fā)展而來(lái)的。三層技術(shù)的主要結(jié)構(gòu)就是在兩層技術(shù)的結(jié)構(gòu)基礎(chǔ)上,在客戶端和服務(wù)器之間增加了應(yīng)用服務(wù)器作為緩沖,以實(shí)現(xiàn)軟件系統(tǒng)更高效的運(yùn)行。應(yīng)用服務(wù)器的主要工作是負(fù)責(zé)原本在兩層結(jié)構(gòu)中屬于客戶端工作內(nèi)容的相關(guān)邏輯處理,在為客戶端減負(fù)的同時(shí)實(shí)現(xiàn)了與客戶端的協(xié)同運(yùn)行,使客戶端能夠更加高效地進(jìn)行用戶的數(shù)據(jù)和指令接收和處理,有效提升了用戶在客戶端的實(shí)際操作體驗(yàn)??梢钥闯觯龑蛹夹g(shù)在兩層結(jié)構(gòu)的基礎(chǔ)上變?yōu)榱巳它c(diǎn)的形式,即用戶界面、業(yè)務(wù)處理和數(shù)據(jù)層的三層結(jié)構(gòu)形式。其中用戶界面層即客戶端進(jìn)行用戶指令的收集和處理,并將信息上傳至業(yè)務(wù)處理層(即應(yīng)用服務(wù)器)進(jìn)行用戶需求分析并向數(shù)據(jù)層(即服務(wù)器)發(fā)出數(shù)據(jù)請(qǐng)求,服務(wù)器會(huì)根據(jù)用戶需求對(duì)數(shù)據(jù)庫(kù)進(jìn)行分析處理并將結(jié)果信息返回至應(yīng)用服務(wù)器,再由應(yīng)用服務(wù)器轉(zhuǎn)發(fā)至客戶端反映給用戶,實(shí)現(xiàn)了系統(tǒng)各層次的合理有效分工,避免了由于用戶數(shù)據(jù)量增加而產(chǎn)生的效率低下問題。然而,盡管三層技術(shù)相較于兩層技術(shù)來(lái)講已經(jīng)顯著提升了軟件運(yùn)行的整體性能,但是在某些情況下還是會(huì)面臨資源使用不合理等突出問題,因此更加完善和完整的分層結(jié)構(gòu)技術(shù)依然是計(jì)算機(jī)軟件開發(fā)的重要需求之一。
在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)快速發(fā)展的大環(huán)境下,計(jì)算機(jī)軟件的應(yīng)用在實(shí)際使用環(huán)境和數(shù)據(jù)處理等方面面臨的任務(wù)和挑戰(zhàn)變得更加艱巨,用戶對(duì)于軟件的需求已經(jīng)不僅僅局限于傳統(tǒng)的計(jì)算和簡(jiǎn)單功能的實(shí)現(xiàn)方面,而且對(duì)數(shù)據(jù)處理性能、多樣性功能的實(shí)現(xiàn)和方便快捷低成本各個(gè)方面都有了更加強(qiáng)烈的需求。在網(wǎng)絡(luò)社會(huì)不斷發(fā)展的形勢(shì)下,三層結(jié)構(gòu)無(wú)論在性能表現(xiàn)還是結(jié)構(gòu)特點(diǎn)方面都已經(jīng)難以滿足用戶不斷增加的實(shí)際需求,因此,更加完善且更加適應(yīng)網(wǎng)絡(luò)技術(shù)發(fā)展的四層結(jié)構(gòu)技術(shù)應(yīng)運(yùn)而生。四層技術(shù)是在三層結(jié)構(gòu)的基礎(chǔ)上形成存儲(chǔ)層、業(yè)務(wù)邏輯層、數(shù)據(jù)層和web層的結(jié)構(gòu)形式,其中存儲(chǔ)層主要負(fù)責(zé)各類數(shù)據(jù)的存儲(chǔ),業(yè)務(wù)邏輯層進(jìn)行相關(guān)邏輯關(guān)系的運(yùn)算,數(shù)據(jù)層將處理所得的數(shù)據(jù)進(jìn)行整合并通過web層將數(shù)據(jù)處理結(jié)果傳至網(wǎng)絡(luò)。在這個(gè)過程中,web層會(huì)根據(jù)用戶的實(shí)際需求進(jìn)行路徑選擇,例如當(dāng)用戶只需要較少結(jié)構(gòu)層次來(lái)實(shí)現(xiàn)功能需求時(shí),web層就會(huì)直接將所需信息發(fā)送至數(shù)據(jù)層,而當(dāng)用戶需要多層結(jié)構(gòu)進(jìn)行大數(shù)據(jù)量的處理能力時(shí),web層就會(huì)將數(shù)據(jù)傳送至業(yè)務(wù)邏輯層進(jìn)行分析處理,從而有效提高了整體軟件系統(tǒng)運(yùn)算的準(zhǔn)確性和簡(jiǎn)便性。盡管四層結(jié)構(gòu)由于技術(shù)研發(fā)難度等原因還處于應(yīng)用的發(fā)展時(shí)期,但是憑借四層結(jié)構(gòu)技術(shù)相較于之前的兩層和三層技術(shù)所獨(dú)具的高效快捷智能等特點(diǎn),其必將會(huì)成為軟件數(shù)據(jù)量和用戶需求與日俱增的現(xiàn)代網(wǎng)絡(luò)社會(huì)一項(xiàng)重要的軟件開發(fā)技術(shù)。
五層結(jié)構(gòu)的運(yùn)用不如前幾種分層技術(shù)的運(yùn)用廣泛,在某些特殊的軟件開發(fā)環(huán)境中,為了滿足相關(guān)的軟件運(yùn)行要求,四層結(jié)構(gòu)的數(shù)據(jù)層會(huì)被分為集成層和資源層,即形成存儲(chǔ)層、業(yè)務(wù)邏輯層、集成層、資源層和web層的五層結(jié)構(gòu)形式。通過五層結(jié)構(gòu)的分層技術(shù),實(shí)現(xiàn)了系統(tǒng)組件的分層。
中間件技術(shù)是隨著計(jì)算機(jī)軟件開發(fā)技術(shù)的進(jìn)步而演變出的一項(xiàng)新的開發(fā)技術(shù),屬于分層技術(shù)的一種,目前主要運(yùn)用在分布式的軟件開發(fā)環(huán)境中,可以分為面向消息中間件、面向?qū)ο笾虚g件和遠(yuǎn)程過程調(diào)用中間件等幾大類。中間件技術(shù)在軟件運(yùn)行進(jìn)程中的使用能夠?qū)崿F(xiàn)計(jì)算機(jī)與各個(gè)系統(tǒng)之間資源的優(yōu)勢(shì)互補(bǔ),通過優(yōu)化數(shù)據(jù)庫(kù)、系統(tǒng)和軟件之間的運(yùn)行聯(lián)系來(lái)提升軟件的穩(wěn)定性和快捷性。另外,中間件技術(shù)能夠在一定程度上避免軟件開發(fā)在分布式環(huán)境中所面臨的問題,使得軟件開發(fā)的整體難度和進(jìn)度得到了有效改善。
通過對(duì)多種分層技術(shù)在計(jì)算機(jī)軟件開發(fā)過程中的應(yīng)用進(jìn)行總結(jié)與分析,可以看出,隨著計(jì)算機(jī)軟件技術(shù)的不斷進(jìn)步和發(fā)展,以及不斷增加的用戶數(shù)據(jù)量和功能需求,傳統(tǒng)的單層和兩層軟件開發(fā)技術(shù)已經(jīng)遠(yuǎn)遠(yuǎn)落后于時(shí)代發(fā)展。更加先進(jìn)的三層技術(shù)和四層技術(shù)由于具有獨(dú)特的高可靠性、擴(kuò)展性、數(shù)據(jù)安全性和高效快捷等特性,在軟件開發(fā)中已經(jīng)作為重要的技術(shù)得到了廣泛應(yīng)用,并將成為這一領(lǐng)域的主流關(guān)鍵技術(shù)。五層技術(shù)作為特定環(huán)境下的軟件開發(fā)技術(shù),并沒有得到較為廣泛的應(yīng)用。而中間件技術(shù)作為分層技術(shù)中一項(xiàng)新的分支技術(shù),在縮短軟件開發(fā)周期和提升系統(tǒng)工作性能方面也有著十分重要的作用。因此,分層技術(shù)和計(jì)算機(jī)軟件的開發(fā)之間存在著協(xié)同發(fā)展、共同進(jìn)步的關(guān)系,一方面開發(fā)工作推動(dòng)著分層技術(shù)的不斷進(jìn)步,而另一方面,正是有了分層技術(shù)的不斷進(jìn)步和科學(xué)使用,軟件開發(fā)才能更加順應(yīng)計(jì)算機(jī)網(wǎng)絡(luò)時(shí)代的需求,實(shí)現(xiàn)不斷的發(fā)展。
[1]范文學(xué).試析計(jì)算機(jī)軟件開發(fā)設(shè)計(jì)的難點(diǎn)與對(duì)策[J].軟件,2013(8).
[2]陳寶.軟件開發(fā)中的三層架構(gòu)模式[J].合作經(jīng)濟(jì)與科技,2009(6).
[3]徐愛蘭.計(jì)算機(jī)軟件開發(fā)中的分層技術(shù)探討[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(24).
2095-6835(2018)20-0148-02
TP311.52
A
10.15913/j.cnki.kjycx.2018.20.148
戴晨昱(1971—),男,山西祁縣人,本科,高級(jí)工程師,研究方向?yàn)樾畔⑾到y(tǒng)規(guī)劃、建設(shè)、運(yùn)維。
〔編輯:嚴(yán)麗琴〕