手機(jī)版WPS 手機(jī)版wps免費(fèi)下載
2022-11-29
更新時(shí)間:2022-04-03 14:37:28作者:未知
隨著信息科學(xué)技術(shù)的不斷進(jìn)步,計(jì)算機(jī)的軟件領(lǐng)域已經(jīng)發(fā)展得非常成熟,軟件開發(fā)成為了我國信息產(chǎn)業(yè)中的重要組成部分。隨著開發(fā)技術(shù)不斷地革新,軟件架構(gòu)在軟件開發(fā)中所處的重要地位已經(jīng)被軟件開發(fā)企業(yè)所重視。文章圍繞著軟件架構(gòu)進(jìn)行研究,對軟件架構(gòu)的發(fā)展現(xiàn)狀進(jìn)行了詳細(xì)的闡述,并就當(dāng)今的現(xiàn)代軟件架構(gòu)技術(shù)做了深入的探討。為軟件開發(fā)中的軟件架構(gòu)設(shè)計(jì)提供了一定的理論基礎(chǔ)和實(shí)踐指導(dǎo)經(jīng)驗(yàn)。
引言
在二十世紀(jì)初,在計(jì)算機(jī)系統(tǒng)的開發(fā)中,軟件成本的占比非常小。隨著軟件應(yīng)用的不斷增加,軟件產(chǎn)業(yè)不斷地發(fā)展壯大,軟件生產(chǎn)規(guī)模也在不斷地?cái)U(kuò)大。軟件成本在計(jì)算機(jī)系統(tǒng)中的比重也越來越大。在二十世紀(jì)中期,軟件成本占計(jì)算機(jī)系統(tǒng)的比重已超過百分之五十。隨著軟件危機(jī)的出現(xiàn),軟件工程開始得以廣泛推廣和應(yīng)用。隨著軟件系統(tǒng)的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜,現(xiàn)有的軟件工程方法已經(jīng)逐漸不適應(yīng)軟件設(shè)計(jì)的發(fā)展。相對于當(dāng)今的復(fù)雜而龐大的軟件系統(tǒng)而言,軟件的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)以及開發(fā)架構(gòu)設(shè)計(jì)已經(jīng)比數(shù)據(jù)結(jié)構(gòu)的選擇重要很多倍。因此,廣大的研究者和軟件開發(fā)企業(yè)對軟件架構(gòu)越來越重視。軟件架構(gòu)的重要性在于,能夠成為提高軟件生產(chǎn)率和解決軟件維護(hù)問題的新的最有希望的途徑。
1 軟件架構(gòu)的特點(diǎn)以及發(fā)展現(xiàn)狀
軟件架構(gòu)也是軟件體系結(jié)構(gòu),軟件架構(gòu)其實(shí)是由一系列相關(guān)的抽象模式構(gòu)成,作用是用來指導(dǎo)大型軟件系統(tǒng)的設(shè)計(jì)。軟件架構(gòu)中抽象的模式,對應(yīng)的是系統(tǒng)中各個(gè)抽象組件。每個(gè)抽象組件之間的關(guān)聯(lián),對組件之間的通信進(jìn)行了細(xì)致的刻畫。在軟件實(shí)現(xiàn)的階段,這些抽象組件被細(xì)化為實(shí)際應(yīng)用的組件。例如,被細(xì)化為實(shí)際的某個(gè)類或者對象,而組件之間的關(guān)聯(lián)可以被細(xì)化為接口。目前,對于軟件架構(gòu)的定義,比較流行的概念是,軟件架構(gòu)就是系統(tǒng)在開發(fā)環(huán)境中的最高層的概念。軟件架構(gòu)之所以重要,是因?yàn)樵谠O(shè)計(jì)軟件系統(tǒng)之前,開發(fā)人員通過軟件架構(gòu)進(jìn)行詳細(xì)的設(shè)計(jì)以及構(gòu)造,通過軟件架構(gòu)作為日后軟件開發(fā)的重要基礎(chǔ)。一般來說,軟件架構(gòu)設(shè)計(jì)后,不能輕易的進(jìn)行更改,因?yàn)檫@關(guān)系到整個(gè)軟件系統(tǒng)設(shè)計(jì)的成敗。
經(jīng)過多年的發(fā)展,針對軟件架構(gòu)的研究已經(jīng)取得了很多的進(jìn)展。但是,在軟件架構(gòu)的研究與發(fā)展過程中,產(chǎn)生了很多的問題,例如,當(dāng)代軟件應(yīng)用中,基于分布式的軟件應(yīng)用的軟件架構(gòu)以及面向服務(wù)的軟件系統(tǒng)越來越來多,現(xiàn)有的軟件架構(gòu)已經(jīng)不再適用于新的軟件開發(fā)環(huán)境和應(yīng)用環(huán)境,因此,文章對分布式以及SOA現(xiàn)代軟件架構(gòu)技術(shù)進(jìn)行深入探究。
2 現(xiàn)代軟件架構(gòu)技術(shù)
2.1 分布式的三層軟件架構(gòu)技術(shù)
分布式的三層軟件架構(gòu)技術(shù)分為表示層、邏輯層以及數(shù)據(jù)層。分布式的軟件架構(gòu)技術(shù)適用于分布式的軟件系統(tǒng)應(yīng)用。下面將詳細(xì)的闡述每一層的功能描述。
表示層:在分布式的軟件系統(tǒng)中表示層處于瀏覽器/服務(wù)器體系中,與用戶交互的層面。例如,處于表示層的用戶可以通過IE等瀏覽器工具,進(jìn)入分布式軟件系統(tǒng),用戶進(jìn)入系統(tǒng)后,可以根據(jù)分布式軟件系統(tǒng)提供的相關(guān)功能進(jìn)行邏輯業(yè)務(wù)的請求。
邏輯層:在分布式的軟件系統(tǒng)中邏輯層中,邏輯業(yè)務(wù)處理層在接受由表示層的客戶發(fā)出的請求后,可以對請求進(jìn)行解析,并能夠?qū)⒂脩舻恼埱蠓诸悶檫壿嫎I(yè)務(wù)處理以及數(shù)據(jù)業(yè)務(wù)處理兩種類型。假如用戶的請求只涉及到邏輯業(yè)務(wù),則將反饋結(jié)果直接返回給表示層的客戶。假如用戶的請求是數(shù)據(jù)業(yè)務(wù)處理,則將請求發(fā)送至數(shù)據(jù)處理層次,最后將數(shù)據(jù)處理層次的結(jié)果返回給客戶。
數(shù)據(jù)層:在分布式的軟件系統(tǒng)中數(shù)據(jù)層主要是由數(shù)據(jù)庫服務(wù)器構(gòu)成,其接口是由一個(gè)高性能的數(shù)據(jù)服務(wù)程序組成的。當(dāng)數(shù)據(jù)業(yè)務(wù)層接收到邏輯業(yè)務(wù)層次的數(shù)據(jù)處理請求,數(shù)據(jù)庫服務(wù)器對數(shù)據(jù)庫進(jìn)行查詢、更新、插入以及刪除等操作,并將最后的結(jié)果返回給邏輯處理層。邏輯業(yè)務(wù)處理層在接受到數(shù)據(jù)處理層反饋的結(jié)果時(shí),將邏輯結(jié)果一并返回給用戶的表示層,為用戶提供瀏覽和查看最后的結(jié)果。
2.2 面向服務(wù)的軟件架構(gòu)
面向服務(wù)的軟件架構(gòu),英文簡稱為SOA。SOA軟件架構(gòu)最初是在一九九六年提出的。在現(xiàn)代的軟件架構(gòu)技術(shù)研究中,SOA作為重要的軟件架構(gòu)技術(shù),在分布式技術(shù)、程序設(shè)計(jì)方法學(xué)、業(yè)務(wù)計(jì)算能力等領(lǐng)域的軟件應(yīng)用中有著非常重要的作用。并且,被譽(yù)為現(xiàn)代應(yīng)用開發(fā)領(lǐng)域中最重要的課題。
SOA的軟件架構(gòu)如圖1所示。SOA可以根據(jù)服務(wù)的需求,利用網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。面向服務(wù)的軟件架構(gòu)的服務(wù)層是基礎(chǔ),能夠被應(yīng)用進(jìn)行直接調(diào)用,這樣能夠有效的控制系統(tǒng)中與軟件代理交互的認(rèn)為行為。因此,可以得出,SOA是一種粗粒度并且松耦合的服務(wù)架構(gòu),SOA中的服務(wù)通過簡單并且精確的定義接口進(jìn)行通訊,并不涉及底層的編程接口以及通信模型。SOA可以看成是瀏覽器/服務(wù)器模型,標(biāo)準(zhǔn)通用標(biāo)記語言XML/網(wǎng)絡(luò)服務(wù)技術(shù)以后的延伸架構(gòu)。SOA能夠?yàn)檐浖こ處?、軟件架?gòu)師等提供一個(gè)更高的平臺,讓開發(fā)者去理解企業(yè)級的軟件架構(gòu)的組件是如何開發(fā),以及如何部署的。SOA將使企業(yè)級的軟件架構(gòu)設(shè)計(jì)變得更加快速,可靠以及高重用性。并且,在面對企業(yè)中的業(yè)務(wù)變化時(shí),SOA的軟件架構(gòu)能夠更好的適應(yīng)這些變化。
3 結(jié)束語
文章首先對軟件架構(gòu)在軟件開發(fā)中的重要性進(jìn)行了分析,并且對軟件架構(gòu)的特點(diǎn)以及發(fā)展現(xiàn)狀進(jìn)行了詳細(xì)的分析,最后,深入地探討了分布式三層軟件架構(gòu)和SOA的兩種現(xiàn)代軟件架構(gòu)技術(shù)。為軟件架構(gòu)技術(shù)的研究提供一定理論基礎(chǔ)以及實(shí)踐指導(dǎo)意義。