新的軟件架構D/S?

C/S與B/S架構的軟件都顯示出了其鮮明的優點與缺陷後,所有的軟件人似乎都在尋找第三種軟件架構。有了
SOA、SmartClient....,現在又有人提出了D/S架構。究竟誰纔是第三種將得到廣泛應用的軟件架構?

看了這篇文章,儘管作者並沒有提出D/S架構的細節,有的只是一種實現效果,但感覺作者所說的D/S架構其實和微軟提倡的SmartClient應用比較接近。也許正因此,可以感到,也許是不約而同的,用戶和開發人員一樣都已經不再滿足/滿意於C/S或B/S的架構。

新的第三種架構需要滿足人們對硬件和網絡資源的充分利用、對信息處理的高速、協同任務,能夠從個人的桌面/終端控制器(比如手機)方便的控制和連接世界這些要求,而這些一直也是軟件架構師長久的夢想。目前來看,發現和實現這種架構,則是架構師和程序員的共同挑戰。
---------------------------------------------------------------------------------------------------------------------------------------
下面是轉載自BlogChina的作者原文:

D/S,開創軟件架構新時代

IT
行業是一個充滿智慧的行業,開發理念的一小步突破,有時候會帶來軟件應用的一大步繁榮。而這種開發理念的突破,往往來源於日常生活的細節。——儘管,計算機日常生活有時候看起來是相距甚遠的,數據庫電影票麥辣雞翅似乎永遠不兼容。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

比如說,最近,我在很多大學跟人講述D/SDesktop/Server)架構,就引起了很多人的興趣和共鳴。這些人裏面有些是學計算機專業的,也有很多是非計算機專業的,他們理解起來,似乎都沒有太大的困難。我跟他們說,D/S架構就是一種桌面/服務器架構,他的理念來源於日常生活中的中央空調整體廚房

D/S架構整合了C/S架構和B/S架構的優點,同時很好地規避了他們的缺點,是目前最領先的軟件架構。

 

各擅所長的C/SB/S架構

在計算機程序開發中,現今存有C/SB/S兩種架構,其中C/S架構源遠流長,而B/S架構屬於後起之秀。

C/S結構,即Client/Server(客戶機/服務器)結構。此結構把數據庫內容放在遠程的服務器上,而在客戶機上安裝相應軟件。C/S軟件一般採用兩層結構。它由兩部分構成:前端是客戶機,即用戶界面(Client)結合了表示與業務邏輯,接受用戶的請求,並向數據庫服務提出請求,通常是一個PC機;後端是服務器,即數據管理(Server)將數據提交給客戶端,客戶端將數據進行計算並將結果呈現給用戶。還要提供完善的安全保護及對數據的完整性處理等操作,並允許多個客戶同時訪問同一個數據庫。在這種結構中,服務器的硬件必須具有足夠的處理能力,這樣才能滿足各客戶的要求。

B/SBrower/Server的縮寫,這種機構的客戶機上往往只要求安裝一個瀏覽器(Browser),如Netscape NavigatorInternet Explorer,服務器通常安裝數據庫。

C/S的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理後再提交給服務器。對應的優點就是客戶端響應速度快。缺點主要有以下幾個:

客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。還有,系統軟件升級時,每一臺客戶機需要重新安裝,其維護和升級成本非常高。

C/S架構是一種主從式結構,非常不適合處理流程類活動,當應用的複雜程度趨高時,它的不足就體現的更加明顯。這時候,就催生了B/S架構。

B/S最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網的電腦就能使用,客戶端零維護。系統的擴展非常容易,只要能上網,再由系統管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內部的安全認證(如CA證書)後,不需要人的參與,系統可以自動分配給用戶一個賬號進入系統。

B/S架構最大的缺點是造成客戶端資源的浪費。當服務器的負擔過重,有繁複的算法時,客戶端一點忙也幫不上,只能增加中間層(應用服務器)。

B/S是一種民主集中式的架構,相對C/S架構的主從式而言,已經有了巨大的突破。

 

 

博採衆長的D/S架構

儘管C/S架構和B/S架構各有優缺點,是否存在一個更先進的架構,綜合C/SB/S的優勢,使得C/SB/S各擅所長,這樣客戶端就可以複雜一點,不再是一個純粹的瀏覽器,而服務器端相對來說任務輕一點,不再有繁複的要求,這樣,讓客戶段端處理非流程類的活動,服務器處理流程類的活動,整體上實現效果最優。

這種架構是存在的,我把它命名爲D/S架構,即桌面/服務器架構,它是B/S架構的一種延續和提升。在D/S架構裏客戶端是一個“桌面”,數據存放在服務器端,能夠使用本地的資源,能夠很好地解決現在的windows應用的問題(數據,安全,部署),並且可以脫機工作,安全方面得到了一定的保證,容易部署和維護。

下面我們通過Ework這樣一個實例來看D/S架構的部署和意義。Ework是集通訊交流工具、工作平臺、工作管理於一體的即時工作平臺。

客戶端產品界面如下:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />

 

從這個界面我們可以看出,這是一個桌面而非簡單的“瀏覽器”。Ework作爲一個網絡桌面,提供了網站溜覽、信息收索、企業管理系統等基於網絡的其它應用,從而將門戶搬到了用戶桌面,用戶可以直接從桌面到網絡上的任何地方,可以直接進行任何的網絡應用。

Ework裏,服務器端主要記錄各種日誌,主要管理流程類活動。而更多的本地功能,則通過P2P技術,在客戶端之間完成。客戶端本身承擔了適度的計算任務,使得服務器的壓力減少,從而帶來資源的優化和效率的提升。

 

SUN公司提出“網絡就是計算機”到微軟的“.net”平臺到現在的網格計算,計算機開發的理念在一步步刷新。架構師將來碰到的問題也許不是採用什麼架構的問題,而是應該爲多遠的未來作出規劃。如果一個架構師專注於太遠的未來,架構可能在完成是超前於它的時代。同樣地如果架構師太短視,也會造成落後捱打的局面。D/S適逢其時,我們期待它有大的發展。(智文廣/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章