監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

軟件架構(gòu)設(shè)計面臨新挑戰(zhàn)

申請免費(fèi)試用、咨詢電話:400-8352-114

文章來源:泛普軟件

IT運(yùn)行環(huán)境正在發(fā)生激烈的變化。一方面,由于互聯(lián)網(wǎng)的普及、Web 2.0的流行以及虛擬化、云計算等技術(shù)的出現(xiàn)使得軟件所要面對的環(huán)境日益復(fù)雜,不僅要面對種類更多的數(shù)據(jù)源,同時也要求軟件能支持動態(tài)的配置和重組; 而另一方面,IT的普及帶來了數(shù)據(jù)量的劇增,根據(jù)IDC的研究,未來5年,企業(yè)的結(jié)構(gòu)化數(shù)據(jù)每年會保持20%的增長,而非結(jié)構(gòu)化數(shù)據(jù)量的增加則高達(dá)60%。數(shù)據(jù)量急劇增加的一個必然后果是軟件越來越大,也越來越復(fù)雜。

越來越多的數(shù)據(jù)、支持更復(fù)雜的數(shù)據(jù)源、軟件能自動配置和重組等這些要求最終都需要更靈活和可靠的軟件架構(gòu)來實現(xiàn),而傳統(tǒng)的軟件架構(gòu)顯然難以適應(yīng)新的IT環(huán)境。實際上,以前我們設(shè)計應(yīng)用軟件架構(gòu)的前提如今都已經(jīng)發(fā)生了改變,因而軟件的架構(gòu)也需要改變,特別是考慮云計算在未來5年內(nèi)的普及,我們的軟件必須為云計算而設(shè)計。

IT成為業(yè)務(wù)的支柱

過去,IT主要用于完成一些可重復(fù)的業(yè)務(wù)流程的自動化,比如讀取某個報表中的數(shù)據(jù)并對此進(jìn)行計算。ERP算得上是IT最典型的應(yīng)用方式,它實現(xiàn)了訂單、記賬和庫存跟蹤的自動化,從而大幅度提升工作效率。而如今IT技術(shù)的這種應(yīng)用方式正在發(fā)生變化,因為今天的企業(yè)所經(jīng)營的業(yè)務(wù)已經(jīng)很難和IT分開。

一個典型例子就是一種在線音樂服務(wù)——網(wǎng)絡(luò)收音機(jī)。提出這種業(yè)務(wù)的公司在一些專業(yè)人士的幫助下為它的客戶提供定制的音樂,它們會跟蹤每個客戶的收聽習(xí)慣和聽完音樂后的反饋,以保證它們?yōu)槊總€客戶推送的都是客戶喜歡的節(jié)目。很顯然,沒有強(qiáng)大的IT基礎(chǔ)設(shè)施和計算能力作為保證,這項服務(wù)是不可能實現(xiàn)的。

而物聯(lián)網(wǎng)的興起更是推動了應(yīng)用軟件的變化,使得軟件從人機(jī)交互為主到全面的自動化。應(yīng)該說,到目前為止,大多數(shù)計算都是由人類活動發(fā)起的,比如訂購了一個商品、訪問一個網(wǎng)頁等等。而未來,由各種各樣的設(shè)備(如傳感器)發(fā)起而非人類活動發(fā)起的計算會越來越多。比如,如今智能電表在很多城市得到普及,它取代了傳統(tǒng)的人工抄表方式,省時省力。方便的背后是因為它主動發(fā)起了很多操作: 這種智能電表與電力公司的數(shù)據(jù)中心相連,它自動地把賬單信息上傳到電力公司的數(shù)據(jù)中心。除此之外,它還能實時地記錄用戶的電力使用細(xì)節(jié),這些信息能幫助電力公司了解某個用戶使用電力的情況,從而制定相應(yīng)的價格策略。這與每月僅僅讀取一個用電數(shù)相比,要傳輸和處理的數(shù)據(jù)量多了很多,也使得后臺的處理工作量大了很多,最終必然會影響后臺的軟件架構(gòu)。

架構(gòu)設(shè)計需應(yīng)對四個挑戰(zhàn)

應(yīng)用程序需要處理的數(shù)據(jù)量、數(shù)據(jù)類型以及應(yīng)用程序的應(yīng)用場景的變化,給未來的應(yīng)用軟件設(shè)計帶來很多挑戰(zhàn)。具體來說,有四個方面:

應(yīng)用程序負(fù)載變化大。工作任務(wù)變化和工作環(huán)境的復(fù)雜都使得應(yīng)用程序的負(fù)載變得不可預(yù)測。比如,酒店傳統(tǒng)的高峰時段是每天早上(主要為退房)和下午4~9點(diǎn)(入?。?。而在未來,業(yè)務(wù)的多樣化將使得應(yīng)用程序隨時都有可能出現(xiàn)高負(fù)荷。也就是說,應(yīng)用程序?qū)⑹侨旌蛱幱诠ぷ鳡顟B(tài),而不僅僅只在某幾個小時。

用戶接口類型更加復(fù)雜。過去很多應(yīng)用程序是面向人的,因此非常重視人機(jī)交互,比如會有很大的顯示屏以方便用戶輸入,而如今數(shù)據(jù)來源趨于多樣化,除了人工輸入外,更多時候是來自于其他應(yīng)用程序、傳感設(shè)備或者來自用戶上載的文件或者之前根本沒有想到過的某個數(shù)據(jù)源。因此,在接口方面除了傳統(tǒng)的服務(wù)接口、上載接口還要考慮各種終端或者外設(shè)的輸入,除了單數(shù)據(jù)的輸入還要考慮批量上載。相應(yīng)地,在應(yīng)用程序的架構(gòu)設(shè)計時就必須把各種新的數(shù)據(jù)流考慮進(jìn)來。

要支持移動應(yīng)用。過去的應(yīng)用程序通常都工作在一個相對穩(wěn)定的場合,與外部的連接通常也是可靠的,而架構(gòu)設(shè)計通常也是基于這樣的前提設(shè)計的。而今,隨著無線網(wǎng)絡(luò)的普及,無線應(yīng)用越來越多,而在無線網(wǎng)絡(luò)中,連接并非一定是可靠的。比如,用戶正在一個急駛的出租車中,他所使用的服務(wù)可能隨著位置的變化很快不可用。因此,程序必須充分考慮這一點(diǎn),即在網(wǎng)絡(luò)聯(lián)通時能快速獲得所需的數(shù)據(jù),一旦中斷能保護(hù)好工作“現(xiàn)場”,以待下次網(wǎng)絡(luò)恢復(fù)時繼續(xù)。

應(yīng)用程序的拓?fù)浣Y(jié)構(gòu)更復(fù)雜。數(shù)據(jù)處理規(guī)模的不可預(yù)測,要求軟件架構(gòu)的設(shè)計必須改變。比如,很多程序開始大量使用內(nèi)存緩存數(shù)據(jù)以提高處理速度,而不一定把每個都保存到數(shù)據(jù)庫。而且,應(yīng)用程序復(fù)雜常常是與異步處理和計算密集性的任務(wù)相伴相隨的,這時通常都會用到消息隊列,在應(yīng)用程序的軟件架構(gòu)時都必須考慮到這些問題。

從軟件架構(gòu)開始 支持云計算

為了保證應(yīng)用系統(tǒng)能夠滿足企業(yè)未來的新需求,特別是支持云計算,對于新的軟件系統(tǒng)有必要在軟件架構(gòu)上做好準(zhǔn)備。建議可以從以下幾個方面進(jìn)行考慮:

1.對應(yīng)用軟件中準(zhǔn)備使用的中間件(或組件)進(jìn)行重新評估?,F(xiàn)有大多數(shù)中間件是面向靜態(tài)環(huán)境進(jìn)行設(shè)計的,通常采用手工配置,偶爾進(jìn)行升級。這些中間件一般都有一個配置文件,人工進(jìn)行流程編排。中間件啟動時,先讀取這個配置文件,然后根據(jù)文件要求完成規(guī)定的任務(wù)。未來,隨著云計算環(huán)境的普及,不斷會有新的連接加入也會有連接退出,這就會導(dǎo)致與中間件的連接關(guān)系發(fā)生變化,上述手工方式就開始顯出不足來。為此,未來的架構(gòu)必須支持在線調(diào)整中間件在流程中的關(guān)系、能動態(tài)增加和刪減連接。

2.在軟件的設(shè)計和開發(fā)過程中時刻牢記負(fù)載平衡。很多應(yīng)用軟件支持在Web服務(wù)器層的負(fù)載平衡,但進(jìn)行負(fù)載均衡的時候要求所連接的組件數(shù)量固定而且IP地址也是固定的。而實踐中,負(fù)載變化的幅度可能很大,所以應(yīng)用軟件的每個部分都應(yīng)是可擴(kuò)展的,也就是說要支持動態(tài)的負(fù)載均衡,在設(shè)計應(yīng)用軟件架構(gòu)時不能先假定只有一個或者幾個組件。

3.不要忘了可擴(kuò)展性??蓴U(kuò)展性一直是設(shè)計軟件架構(gòu)時應(yīng)該考慮的,只是未來軟件的可擴(kuò)展問題可能變得更重要。換句話說,未來的軟件必須要有能支持2倍、3倍甚至10倍負(fù)載的能力,因為將來軟件的應(yīng)用軟件放到云環(huán)境中后,負(fù)載會變得不可預(yù)測,為此必須特別注意可能存在的性能瓶頸,而且要考慮好如何在程序運(yùn)行的過程中解決可能存在的問題。事實上,如果設(shè)計時不考慮到可擴(kuò)展性,未來的軟件架構(gòu)將很難應(yīng)對超出的負(fù)載。

4.支持應(yīng)用軟件的動態(tài)更新。40年前汽車制造商要生產(chǎn)一種新的車型,需要用兩周的時間來對生產(chǎn)線進(jìn)行調(diào)整,而后來豐田汽車率先實現(xiàn)了工廠的動態(tài)升級,僅用兩個小時就實現(xiàn)了這種調(diào)整。今天的應(yīng)用軟件設(shè)計所處的情景與此相似,在云計算時代,應(yīng)用程序24小時運(yùn)行,不允許為了對軟件進(jìn)行升級而停機(jī)。因此,今天的應(yīng)用軟件架構(gòu)設(shè)計必須考慮到如何在不影響用戶使用自己所需服務(wù)的同時,對軟件進(jìn)行升級和調(diào)整,正如豐田汽車所做的那樣。同樣,與數(shù)據(jù)庫有關(guān)的模型設(shè)計也必須支持這種新的軟件使用模式。

發(fā)布:2007-04-21 11:19    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
南昌OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普南昌OA行業(yè)資訊其他應(yīng)用

南昌OA軟件 南昌OA新聞動態(tài) 南昌OA信息化 南昌OA快博 南昌OA行業(yè)資訊 南昌軟件開發(fā)公司 南昌門禁系統(tǒng) 南昌物業(yè)管理軟件 南昌倉庫管理軟件 南昌餐飲管理軟件 南昌網(wǎng)站建設(shè)公司