謝日星
摘要:本文根據(jù)微軟主要技術(shù)的特點,結(jié)合互聯(lián)網(wǎng)及移動互聯(lián)網(wǎng)應用的要求,為中小企業(yè)的應用系統(tǒng)規(guī)劃設(shè)計了統(tǒng)一的系統(tǒng)解決技術(shù)方案;根據(jù)互聯(lián)網(wǎng)應用與移動互聯(lián)網(wǎng)應用的不同特點及要求,相應的設(shè)計了對應的服務(wù)端接口,并考慮模塊重用及更新方便的要求,對服務(wù)端進行了分層和模塊化設(shè)計,同時根據(jù)系統(tǒng)的可擴展性要求,設(shè)計了相應的負載均衡方案。
關(guān)鍵詞:中小企業(yè);解決方案;可擴展性;互聯(lián)網(wǎng);移動互聯(lián)網(wǎng)
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)14-0225-02
隨著智能設(shè)備價格的下降及移動到聯(lián)網(wǎng)的發(fā)展,移動設(shè)備已實際得到普及,PC出貨量已開始處于下降通道,互聯(lián)網(wǎng)應用與移動互聯(lián)網(wǎng)應用在實際系統(tǒng)中的地位開始互相靠近。應用系統(tǒng)中互聯(lián)網(wǎng)應用與移動互聯(lián)網(wǎng)應用的開發(fā)重要性已基本相同,系統(tǒng)設(shè)計時,需要對PC和移動設(shè)備提供同樣的支持,方案定型時,服務(wù)器端需要同時設(shè)計兩種應用的服務(wù)接口,以基于微軟主流技術(shù)為核心,已能較好地實現(xiàn)這樣的完整系統(tǒng)。
1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
1.1 小并發(fā)量系統(tǒng)網(wǎng)絡(luò)圖
對于小并發(fā)量的系統(tǒng),不需要特別提供大并發(fā)量處理技術(shù)。由于系統(tǒng)并發(fā)量較小,所以對于數(shù)據(jù)WEB服務(wù)器、數(shù)據(jù)庫服務(wù)器發(fā)生故障時系統(tǒng)恢復工作量相對較小,因此也不做多臺服務(wù)器的備份,但需要注意數(shù)據(jù)庫服務(wù)器中數(shù)據(jù)庫的備份工作。
1.2 大并發(fā)量系統(tǒng)網(wǎng)絡(luò)圖
對于大并發(fā)量的系統(tǒng),首先需要注意的是當并發(fā)量大到系統(tǒng)原有服務(wù)器已無法滿足要求時,在軟件不修改、系統(tǒng)正常工作的情況下,系統(tǒng)能夠快速添加硬件設(shè)備實現(xiàn)系統(tǒng)的可擴展性,同時,還需要在某些(非全部)數(shù)據(jù)庫服務(wù)器及WEB服務(wù)器出現(xiàn)故障時,整個系統(tǒng)在不停止服務(wù)的情況下,仍能快速恢復系統(tǒng)響應性能。因此,大并發(fā)量系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)應如圖1所示。其中,WEB負載均衡服務(wù)器可以采用微軟的IIS實現(xiàn);Session服務(wù)器可以采用ASP.NET State Service服務(wù)實現(xiàn);所有WEB服務(wù)器都采用IIS,并都使用Session服務(wù)器所管理的Session數(shù)據(jù);數(shù)據(jù)庫服務(wù)器采用Microsoft SQL Server 2012及更高版本,讀、寫服務(wù)器分離,采用AlwaysOn技術(shù)實現(xiàn)讀操作的負載均衡。
2 系統(tǒng)軟件架構(gòu)
對于需要同時支持PC和APPS的系統(tǒng),其軟件架構(gòu)的設(shè)計,都有一些需要注意的基本原則。對于非必需的情況,PC應用都采用B/S結(jié)構(gòu),而App則根據(jù)不同的移動設(shè)備平臺有針對性的開發(fā)原生App。
2.1 需要注意避免的情況
1)前后端緊密耦合:不論是WEB應用還是App原生應用,都要注意不能和服務(wù)器的后端緊密耦合,否則WEB應用或App原生應用導致服務(wù)器端的變更,將因為對應的服務(wù)器修改而引起另一類型應用的修改。根據(jù)軟件設(shè)計的原則,需要實現(xiàn)系統(tǒng)的松耦合。
2)重復開發(fā):盡可能避免服務(wù)器端為適應WEB應用和App的不同而對于同一功能或服務(wù)分別進行一次獨立的開發(fā),從而導致軟件模塊的重復開發(fā),不僅在開發(fā)時成倍地增加開發(fā)工作量,而且也必然地導致系統(tǒng)變更或修補BUG時需要同樣地進行重復設(shè)計與開發(fā)工作,也同時導致項目管理工作量增加、復雜度上升,增加了系統(tǒng)的開發(fā)風險。
2.2 系統(tǒng)方案
根據(jù)實際開發(fā)經(jīng)驗,基于微軟技術(shù)的中小企業(yè)系統(tǒng)解決方案可以采用如圖2所示的架構(gòu)。
系統(tǒng)主要部件都直接采用微軟對應技術(shù)實現(xiàn),其中客戶端只需要對移動設(shè)備開發(fā)App,目前可以采用微軟跨平臺解決方案Xamarin,實現(xiàn)一次開發(fā)適應各種主流移動設(shè)備。服務(wù)器端提供兩類WEB服務(wù),一個采用ASP.NET MVC解決方案以支持瀏覽器,其中各個View僅提供JSON格式的數(shù)據(jù)給客戶端,客戶端數(shù)據(jù)的處理由對應的Knockout.js及Bootstrap進行展示實現(xiàn);另一個采用ASP.NET WEB API 2解決方案以服務(wù)各種移動平臺的App。為了防止服務(wù)器端的重復開發(fā),兩個WEB服務(wù)器除了各自的接口外,其余模塊都設(shè)計成獨立的部分,如果并發(fā)量大,則可以把各類業(yè)務(wù)邏輯再獨立成WCF形式的WEB服務(wù),否則可以把兩個WEB服務(wù)器部署在同一系統(tǒng)中,各內(nèi)部服務(wù)模塊做成類庫,集成在WEB服務(wù)器項目中。
3 系統(tǒng)集成
由于系統(tǒng)主要部件都是直接采用微軟解決方案,各技術(shù)及部件相互配合集成時,一般不會有關(guān)鍵性的對接問題,在有技術(shù)疑問需要解決時,也較容易找到解決方法。本解決方案在硬件集成和軟件架構(gòu)設(shè)計方面都提供了良好可擴展性,實際開發(fā)實現(xiàn)時,可以根據(jù)實際系統(tǒng)的可預見要求進行實現(xiàn),系統(tǒng)實現(xiàn)后,也可以通過直接增加硬件設(shè)備實現(xiàn)需要的可擴展性。
參考文獻:
[1] https://www.xamarin.com/
[2] 任曉峰.中小企業(yè)OA系統(tǒng)的設(shè)計與實現(xiàn)[D].廈門大學,2015.
[3] 黃雅萍,馬可辛,周余洪,等.面向中小企業(yè)的電商平臺挖掘系統(tǒng)設(shè)計[J].計算機時代, 2015(4):18-20.
[4] 陳進雄,童亮斌.中小企業(yè)信息化平臺建設(shè)研究[J].電信技術(shù), 2014(9):65-67.