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

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

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

文章來源:泛普軟件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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