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

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

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件

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

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

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

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

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

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

架構(gòu)設計需應對四個挑戰(zhàn)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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