B/S和C/S架構選擇和軟件開發
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
什么是C/S和B/S?C/S和B/S 之比較?C/S 與 B/S 區別?
當今世界科學技術飛速發展,尤其以通信、計算機、網絡為代表的互聯網技術更是日新月異,令人眼花燎亂,目不睱接。 由于計算機互聯網在政治、經濟、生活等各個領域的發展、運用以及網絡的迅速普及和全社會對網絡的依賴程度,計算機網絡已經成為國家的經濟基礎和命脈,成為社會和經濟發展強大動力,其地位越來越重要。但是,由于主流技術研發企業和用戶對“B/S”和“C/S”技術誰優誰劣、誰代表技術潮流發展等等問題的爭論不休,已經給檢察機關使用“OA(辦公)”和“案件管理”軟件工作開展帶來困惑,本文就此兩項技術發展變化和應用前景做些探討,供同行參考。 一、什么是C/S和B/S 要想對“C/S”和“B/S”技術發展變化有所了解,首先必須搞清楚三個問題。 第一、什么是C/S結構。 C/S (Client/Server)結構,即大家熟知的客戶機和服務器結構。它是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。目前大多數應用軟件系統都是Client/Server形式的兩層結構,由于現在的軟件應用系統正在向分布式的Web應用發展,Web和Client/Server 應用都可以進行同樣的業務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現有的應用系統,通過現有應用系統中的邏輯可以擴展出新的應用系統。這也就是目前應用系統的發展方向。 傳統的C/S體系結構雖然采用的是開放模式,但這只是系統開發一級的開放性,在特定的應用中無論是Client端還是Server端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環境,C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件, 加之產品的更新換代十分快,已經很難適應百臺電腦以上局域網用戶同時使用。而且代價高, 效率低。 第二、什么是B/S結構。 B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。 以目前的技術看,局域網建立B/S結構的網絡應用,并通過Internet/Intranet模式下數據庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發,能實現不同的人員,從不同的地點,以不同的接入方式(比如LAN WAN Internet/Intranet等)訪問和操作共同的數據庫;它能有效地保護數據平臺和管理訪問權限,服務器數據庫也很安全 。特別是在JAVA這樣的跨平臺語言出現之后,B/S架構管理軟件更是方便、快捷、高效。 第三、管理軟件主流技術。 管理軟件技術的主流技術與管理思想一樣,也經歷了三個發展時期。首先,界面技術從上世紀DOS字符界面到Windows圖形界面(或圖形用戶界面GUI),直至Browser瀏覽器界面三個不同的發展時期。其次,今天所有電腦的瀏覽器界面,不僅直觀和易于使用,更主要的是基于瀏覽器平臺的任何應用軟件其風格都是一樣的,使用人對操作培訓的要求不高,而且軟件可操作性強,易于識別;再者,平臺體系結構也從過去單用戶發展到今天的文件/服務器(F/S)體系、客戶機/服務器(C/S)體系和瀏覽器/服務器(B/S)體系。 二、C/S和B/S 之比較 C/S和B/S是當今世界開發模式技術架構的兩大主流技術。C/S是美國 Borland公司最早研發,B/S是美國微軟公司研發。目前,這兩項技術以被世界各國所把握,國內公司以C/S和B/S技術開發出產品也很多。這兩種技術都有自己一定的市場份額和客戶群,各家企業都說自己的管理軟件架構技術功能強大、先進、方便,都能舉出各自的客戶群體,都有一大群文人墨客為自己搖旗吶喊,廣告滿天飛,可謂仁者見仁,智者見智。 1、C/S架構軟件的優勢與劣勢 (1)、應用服務器運行數據負荷較輕。 最簡單的C/S體系結構的數據庫應用由兩部分組成,即客戶應用程序和數據庫服務器程序。二者可分別稱為前臺程序與后臺程序。運行數據庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發來的請求;客戶應用程序運行在用戶自己的電腦上,對應于數據庫服務器,可稱為客戶電腦,當需要對數據庫中的數據進行任何操作時,客戶程序就自動地尋找服務器程序,并向其發出請求,服務器程序根據預定的規則作出應答,送回結果,應用服務器運行數據負荷較輕。 (2)、數據的儲存管理功能較為透明。 在數據庫應用中,數據的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,前臺應用可以違反的規則,并且通常把那些不同的(不管是已知還是未知的)運行數據,在服務器程序中不集中實現,例如訪問者的權限,編號可以重復、必須有客戶才能建立定單這樣的規則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前臺程序不是非常“瘦小”,麻煩的事情都交給了服務器和網絡。在C/S體系的下,數據庫不能真正成為公共、專業化的倉庫,它受到獨立的專門管理。 (3)、C/S架構的劣勢是高昂的維護成本且投資大。 首先,采用C/S架構,要選擇適當的數據庫平臺來實現數據庫數據的真正“統一”,使分布于兩地的數據同步完全交由數據庫系統去管理,但邏輯上兩地的操作者要直接訪問同一個數據庫才能有效實現,有這樣一些問題,如果需要建立“實時”的數據同步,就必須在兩地間建立實時的通訊連接,保持兩地的數據庫服務器在線運行,網絡管理工作人員既要對服務器維護管理,又要對客戶端維護和管理,這需要高昂的投資和復雜的技術支持,維護成本很高,維護任務量大。 其次,傳統的C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件,由于產品的更新換代十分快,代價高和低效率已經不適應工作需要。在JAVA這樣的跨平臺語言出現之后,B/S架構更是猛烈沖擊C/S,并對其形成威脅和挑戰。 2、B/S架構軟件的優勢與劣勢 (1)、維護和升級方式簡單。 目前,軟件系統的改進和升級越來越頻繁,B/S架構的產品明顯體現著更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網即可,實現遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。 (2)、成本降低,選擇更多。 大家都知道windows在桌面電腦上幾乎一統天下,瀏覽器成為了標準配置,但在服務器操作系統上windows并不是處于絕對的統治地位。現在的趨勢是凡使用B/S架構的應用管理軟件,只需安裝在Linux服務器上即可,而且安全性高。所以服務器操作系統的選擇是很多的,不管選用那種操作系統都可以讓大部分人使用windows作為桌面操作系統電腦不受影響,這就使的最流行免費的Linux操作系統快速發展起來,Linux除了操作系統是免費的以外,連數據庫也是免費的,這種選擇非常盛行。 比如說很多人每天上新浪網,只要安裝了瀏覽器就可以了,并不需要了解新浪的服務器用的是什么操作系統,而事實上大部分網站確實沒有使用windows操作系統,但用戶的電腦本身安裝的大部分是windows操作系統。 (3)、應用服務器運行數據負荷較重。 由于B/S架構管理軟件只安裝在服務器端(Server)上,網絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現,極少部分事務邏輯在前端(Browser)實現,所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。但是,應用服務器運行數據負荷較重,一旦發生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。 3,C/S 與 B/S 區別 Client/Server是建立在局域網的基礎上的,Browser/Server是建立在廣域網的基礎上的。 (1)、硬件環境不同: C/S 一般建立在專用的網絡上, 小范圍里的網絡環境, 局域網之間再通過專門服務器提供連接和數據交換服務。 B/S 建立在廣域網之上的, 不必是專門的網絡硬件環境,例如電話上網, 租用設備, 信息自己管理, 有比C/S更強的適應范圍, 一般只要有操作系統和瀏覽器就行。 (2)、對安全要求不同 C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強。 一般高度機密的信息系統采用C/S 結構適宜,可以通過B/S發布部分可公開信息。 B/S 建立在廣域網之上, 對安全的控制能力相對弱, 面向是不可知的用戶群。 (3)、對程序架構不同 C/S 程序可以更加注重流程,可以對權限多層次校驗,對系統運行速度可以較少考慮。 B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優化的基礎之上。 比C/S有更高的要求,B/S結構的程序架構是發展的趨勢,從MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持網絡的構件搭建的系統。SUN和IBM推的JavaBean構件技術等,使B/S更加成熟。 (4)、軟件重用不同 C/S 程序可以不可避免的整體性考慮, 構件的重用性不如在B/S要求下的構件的重用性好。 B/S 對的多重結構,要求構件相對獨立的功能。 能夠相對較好的重用。就如買來的餐桌可以再利用,而不是做在墻上的石頭桌子。 (5)、系統維護不同 系統維護是軟件生存周期中,開銷大,相當重要 C/S 程序由于整體性,必須整體考察,處理出現的問題以及系統升級難, 可能是再做一個全新的系統。 B/S 構件組成方面構件個別的更換,實現系統的無縫升級。 系統維護開銷減到最小,用戶從網上自己下載安裝就可以實現升級。 (6)、處理問題不同 C/S 程序可以處理用戶面固定,并且在相同區域, 安全要求高的需求,與操作系統相關, 應該都是相同的系統。 B/S 建立在廣域網上, 面向不同的用戶群,分散地域, 這是C/S無法作到的,與操作系統平臺關系最小。 (7)、用戶接口不同 C/S 多是建立在Window平臺上,表現方法有限,對程序員普遍要求較高。 B/S 建立在瀏覽器上, 有更加豐富和生動的表現方式與用戶交流, 并且大部分難度減低,降低開發成本。 (8)、信息流不同 C/S 程序一般是典型的中央集權的機械式處理,交互性相對低。 B/S 信息流向可變化, B-B、 B-C、 B-G等信息流向的變化, 更象交易中心 附: ERP產業困局 誰也沒有料到,國內的ERP產業在經歷了兩三年的風光后,那么快地陷入了一個新困局:惡性競爭越來越激烈。惡性競爭所帶來的直接后果便是,提供商們的日子過得越來越艱難:營業額在上漲,但利潤率卻在下滑。 為什么既令ERP提供商也令用戶深惡痛絕的惡性競爭會如此盛行?造成惡性競爭的根本原因在于:國內ERP產業的同質化現象越來越嚴重。一個產業如果進入同質化競爭時代,價格必然是最有效、最直接,也是最具自殺性、最能帶來惡性競爭的手段。 擺脫惡性競爭的根本原則是差異化。對于國內的ERP產業而言,技術創新是實現差異化的最佳途徑,也是最根本、最具可持續發展的途徑。 當前階段,有哪種技術創新可以令整個ERP產業為之心動呢?智能客戶端將會成為目前ERP產業技術創新的最佳切入點。 微軟的技術新動向 人們對智能客戶端的關注是從微軟開始的。事實上,自微軟推出.NET戰略以來,其最令人關注的技術新動向之一就是對智能客戶端(Smart Client,以下簡稱"SC")技術的深入研究與應用推廣。尤其是微軟公司將這種體系結構納入到.Net框架后,它立即引起了業界廣泛的關注。 微軟對于智能客戶端的定義是這樣的:智能客戶端是易于部署和管理的客戶端應用程序,它們通過統籌使用本地資源和到分布式數據資源的智能連接,從而為您提供適應的、快速響應的和豐富的交互式體驗。 石鐘韶認為,智能客戶端技術是瘦客戶端應用的強大代替技術。由于軟件巨頭微軟的大力推動,可以預料,它將在ERP產業變革中扮演重要的角色。 ERP的技術之痛:B/S還是C/S? 之所以會有智能客戶端的出現,還要緣于ERP的技術架構。 你的產品是B/S還是C/S架構的?如今當廠商在應標時,經常被用戶問到類似的技術問題。可以說,B/S還是C/S,已成為當前ERP 產業發展中不可回避的技術架構問題。 其實,無論是B/S還是C/S,他們并不新鮮。C/S(Client/Server,客戶端/服務器)技術從上世紀90年代初出現至今已經相當成熟,并得到了非常廣泛的應用,其結構經歷了二層C/S、三層C/S的更迭。 B/S(Browser/Server,瀏覽器/服務器)技術則是伴隨著Internet的普及而來的。有必要說明的是,B/S最早并不叫"B/S",此類應用國外通常叫Web應用(Web Application、Web based Application),是國內一些公司"創造"了"B/S"這個詞。 應該說,B/S和C/S各有千秋,他們都是當前非常重要的計算架構。在適用Internet、維護工作量等方面,B/S比C/S要強得多;但在運行速度、數據安全、人機交互等方面,則B/S遠不如C/S。綜合起來可以發現,凡是C/S的強項,便是B/S的弱項,反之也然。因此,問題也就因此而產生了,我們的ERP產品到底該用B/S還是C/S架構呢?一場關于C/S與B/S的口水戰也由此而在ERP業界拉開了序幕。在互聯網泡沫盛行的2000年至2002年間,這場口水戰達到了頂峰。但直到現在,人們也沒有辯出誰是誰非。 事實上,從上面的分析可以看出,這場口水戰不可能有勝負出現,因為B/S與C/S具有不同的優勢與特點,他們無法相互取代。例如,對于以瀏覽為主、錄入簡單的應用程序,B/S技術有很大的優勢,現在全球鋪天蓋地的Web網站就是明證;而對于交互復雜的ERP等企業級應用,B/S則很難勝任,從全球范圍看,成熟的ERP產品大多采用二層或三層C/S架構,B/S的ERP產品并不多見。 "B/S還是C/S"也就由此成了ERP的技術之痛。難道這個痛就無藥可救了嗎? 智能客戶端:B/S與C/S的融合 很多人看到了ERP產業的這個痛點,包括微軟等。是否有可能將B/S與C/S的優勢融合呢? 微軟的答案是肯定的。智能客戶端就是他們給出的解決方案。微軟公司根據其在該領域所取得的成果,認為智能客戶端應用程序可以將胖客戶端應用程序的優點和瘦客戶端應用程序的部署和可管理性優點結合起來,使之在資源的利用上達到一個平衡。目前,微軟已形成Windows智能客戶端、Office智能客戶端,以及移動智能客戶端等解決方案。 該文章在 2011/1/8 15:43:00 編輯過 |
關鍵字查詢
相關文章
正在查詢... |