B/S與C/S

在網絡體系結構中經常聽到B/S、C/S的技術詞語
那麼什麼是B/S和C/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架構管理軟件更是方便、快捷、高效。
  一、B/S結構的優點
  B/S結構最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網的電腦就能使用,客戶端零維護。系統的擴展非常容易,只要能上網,再由系統管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內部的安全認證(如CA證書)後,不需要人的參與,系統可以自動分配給用戶一個賬號進入系統。
  二、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)實現,所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。但是,應用服務器運行數據負荷較重,一旦發生服務器“崩潰”等問題,後果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。
                        .............................分..................界................線............................
在網絡連接模式中,除對等網外,還有另一種形式的網絡,即客戶機/服務器網,Client/Server。在客戶機/服務器網絡中,服務器是網絡的核心,而客戶機是網絡的基礎,客戶機依靠服務器獲得所需要的網絡資源,而服務器爲客戶機提供網絡必須的資源。
  這裏客戶和服務器都是指通信中所涉及的兩個應用進程(軟件)。使用計算機的人是計算機的“用戶”(user)而不是“客戶”(client)。但在許多國外文獻中,也經常把運行客戶程序的機器稱爲client(這種情況下也可把client譯爲“客戶機”),把運行服務器程序的機器稱爲server。所以有時要根據上下文判斷client與server是指軟件還是硬件。
  它是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到 Client端和Server端來實現,降低了系統的通訊開銷。目前大多數應用軟件系統都是Client/Server形式的兩層結構,由於現在的軟件應用系統正在向分佈式的Web應用發展,Web和Client/Server 應用都可以進行同樣的業務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現有的應用系統,通過現有應用系統中的邏輯可以擴展出新的應用系統。這也就是目前應用系統的發展方向。
  一、C/S結構的優點
  C/S結構的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理後再提交給服務器。對應的優點就是客戶端響應速度快。缺點主要有以下幾個:
  而隨着互聯網的飛速發展,移動辦公和分佈式辦公越來越普及,這需要我們的系統具有擴展性。這種方式遠程訪問需要專門的技術,同時要對系統進行專門的設計來處理分佈式的數據。
  客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。還有,系統軟件升級時,每一臺客戶機需要重新安裝,其維護和升級成本非常高。(知不知道可以自動升級?) 
  對客戶端的操作系統一般也會有限制。可能適應於Windows 98,但不能用於Windows 2000或Windows XP。或者不適用於微軟新的操作系統等等,更不用說Linux、Unix等。(中國絕大多數用戶都使用Windows操作系統)
  二、C/S架構軟件的優勢與劣勢
  (1)、應用服務器運行數據負荷較輕。最簡單的C/S體系結構的數據庫應用由兩部分組成,即客戶應用程序和數據庫服務器程序。二者可分別稱爲前臺程序與後臺程序。運行數據庫服務器程序的機器,也稱爲應用服務器。一旦服務器程序被啓動,就隨時等待響應客戶程序發來的請求;客戶應用程序運行在用戶自己的電腦上,對應於數據庫服務器,可稱爲客戶電腦,當需要對數據庫中的數據進行任何操作時,客戶程序就自動地尋找服務器程序,並向其發出請求,服務器程序根據預定的規則作出應答,送回結果,應用服務器運行數據負荷較輕。
  (2)、數據的儲存管理功能較爲透明。在數據庫應用中,數據的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,前臺應用可以違反的規則,並且通常把那些不同的(不管是已知還是未知的)運行數據,在服務器程序中不集中實現,例如訪問者的權限,編號可以重複、必須有客戶才能建立定單這樣的規則。所有這些,對於工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背後的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前臺程序不是非常“瘦小”,麻煩的事情都交給了服務器和網絡。在C/S體系的下,數據庫不能真正成爲公共、專業化的倉庫,它受到獨立的專門管理。
  (3)、C/S架構的劣勢是高昂的維護成本且投資大。首先,採用C/S架構,要選擇適當的數據庫平臺來實現數據庫數據的真正“統一”,使分佈於兩地的數據同步完全交由數據庫系統去管理,但邏輯上兩地的操作者要直接訪問同一個數據庫纔能有效實現,有這樣一些問題,如果需要建立“實時”的數據同步,就必須在兩地間建立實時的通訊連接,保持兩地的數據庫服務器在線運行,網絡管理工作人員既要對服務器維護管理,又要對客戶端維護和管理,這需要高昂的投資和複雜的技術支持,維護成本很高,維護任務量大。
  其次,傳統的C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件,由於產品的更新換代十分快,代價高和低效率已經不適應工作需要。在JAVA這樣的跨平臺語言出現之後,B/S架構更是猛烈衝擊C/S,並對其形成威脅和挑戰。
 
相對來講,B/S是C/S的升級,打個比方,拿數據處理來講,B/S和C/S的主要工作都是數據採集,然後上報服務器端進行處理,但是在C/S中數據採集的初期處理,是由
clent即客戶端來實現的,比如數據的初期排版,錄入,等等,簡單來講就是需要把數據處理爲一種通用的(服務器認可的標準),需要客戶端進行初步的處理然後提交給服務器,由服務器來進行後續的處理,而B/S則之需要客戶端採集完數據之後直接在web頁面裏輸入提交給服務器然後由服務器進行處理,相對來講對於客戶端的要求就很低了,而對服務器就需要更高的要求
那麼之後我們拿C/S和B/S來做個比較
C/S結構軟件(即客戶機/服務器模式)分爲客戶機和服務器兩層,客戶機不是毫無運算能力的輸入、輸出設備,而是具有了一定的數據處理和數據存儲能力,通過把應用軟件的計算和數據合理地分配在客戶機和服務器兩端,可以有效地降低網絡通信量和服務器運算量。由於服務器連接個數和數據通信量的限制,這種結構的軟件適於在用戶數目不多的局域網內使用。國內目前的大部分ERP(財務)軟件產品即屬於此類結構。
  B/S(瀏覽器/服務器模式)是隨着Internet技術的興起,對C/S結構的一種改進。在這種結構下,軟件應用的業務邏輯完全在應用服務器端實現,用戶表現完全在Web服務器實現,客戶端只需要瀏覽器即可進行業務處理,是一種全新的軟件系統構造技術。這種結構更成爲當今應用軟件的首選體系結構。e通管理系列產品即屬於此類結構。
  1,數據安全性比較。由於C/S結構軟件的數據分佈特性,客戶端所發生的火災、盜搶、地震、病毒、***等都成了可怕的數據殺手。另外,對於集團級的異地軟件應用,C/S結構的軟件必須在各地安裝多個服務器,並在多個服務器之間進行數據同步。如此一來,每個數據點上的數據安全都影響了整個應用的數據安全。所以,對於集團級的大型應用來講,C/S結構軟件的安全性是令人無法接受的。對於B/S結構的軟件來講,由於其數據集中存放於總部的數據庫服務器,客戶端不保存任何業務數據和數據庫連接信息,也無需進行什麼數據同步,所以這些安全問題也就自然不存在了。
  2,數據一致性比較。在C/S結構軟件的解決方案裏,對於異地經營的大型集團都採用各地安裝區域級服務器,然後再進行數據同步的模式。這些服務器每天必須同步完畢之後,總部纔可得到最終的數據。由於局部網絡故障造成個別數據庫不能同步不說,即使同步上來,各服務器也不是一個時點上的數據,數據永遠無法一致,不能用於決策。對於B/S結構的軟件來講,其數據是集中存放的,客戶端發生的每一筆業務單據都直接進入到中央數據庫,不存在數據一致性的問題。
  3,數據實時性比較。在集團級應用裏,C/S結構不可能隨時隨地看到當前業務的發生情況,看到的都是事後數據;而B/S結構則不同,它可以實時看到當前發生的所有業務,方便了快速決策,有效地避免了企業損失。
  4,數據溯源性比較。由於B/S結構的數據是集中存放的,所以總公司可以直接追溯到各級分支機構(分公司、門店)的原始業務單據,也就是說看到的結果可溯源。大部分C/S結構的軟件則不同,爲了減少數據通信量,僅僅上傳中間報表數據,在總部不可能查到各分支機構(分公司、門店)的原始單據。
  5,服務響應及時性比較。企業的業務流程、業務模式不是一成不變的,隨着企業不斷髮展,必然會不斷調整。軟件供應商提供的軟件也不是完美無缺的,所以,對已經部署的軟件產品進行維護、升級是正常的。C/S結構軟件,由於其應用是分佈的,需要對每一個使用節點進行程序安裝,所以,即使非常小的程序缺陷都需要很長的重新部署時間,重新部署時,爲了保證各程序版本的一致性,必須暫停一切業務進行更新(即“休克更新”),其服務響應時間基本不可忍受。而B/S結構的軟件不同,其應用都集中於總部服務器上,各應用結點並沒有任何程序,一個地方更新則全部應用程序更新,可以做到快速服務響應。
  6,網絡應用限制比較。C/S結構軟件僅適用於局域網內部用戶或寬帶用戶(1兆以上);而我們的B/S結構軟件可以適用於任何網絡結構(包括33.6K撥號入網方式),特別適於寬帶不能到達的地方(例如迪信通集團的某些分公司,僅靠電話上網即可正常使用軟件系統)。
  四、B/S、C/S結構軟件商業運用上的比較
  管理軟件是爲企業服務的,企業選用管理軟件不僅要從技術上考慮,還要從商業運用方面來考慮,下文將從商業運用的角度對兩種結構的軟件進行比較。
  1,投入成本比較。B/S結構軟件一般只有初期一次性投入成本。對於集團來講,有利於軟件項目控制和避免IT黑洞,而C/S結構的軟件則不同,隨着應用範圍的擴大,投資會連綿不絕。
  2,硬件投資保護比較。在對已有硬件投資的保護方面,兩種結構也是完全不同的。當應用範圍擴大,系統負載上升時,C/S結構軟件的一般解決方案是購買更高級的中央服務器,原服務器放棄不用,這是由於C/S軟件的兩層結構造成的,這類軟件的服務器程序必須部署在一臺計算機上;而B/S結構(如e通管理系列)則不同,隨着服務器負載的增加,可以平滑地增加服務器的個數並建立集羣服務器系統,然後在各個服務器之間做負載均衡。有效地保護了原有硬件投資。
  3,企業快速擴張支持上的比較。對於成長中的企業,快速擴張是它的顯著特點。例如迪信通公司,每年都有新的配送中心成立,每月都有新的門店開張。應用軟件的快速部署,是企業快速擴張的必要保障。對於C/S結構的軟件來講,由於必須同時安裝服務器和客戶端、建設機房、招聘專業管理人員等,所以無法適應企業快速擴張的特點。而B/S結構軟件,只需一次安裝,以後只需設立賬號、培訓即可。
  其次,隨着軟件應用的擴張,對系統維護人才的需求有可能成爲企業快速擴張的制約瓶頸。如果企業開店上百家,對計算機專業人才的需求就將是企業面臨的巨大挑戰之一。
  拋開人力成本不說,一個企業要招到這麼多的專業人才並且留住他們也是不可能的。所以,採用C/S結構軟件必然會制約企業未來的發展。另外,大多數C/S結構的軟件都是通過ODBC直接連到數據庫的,安全性差不說,其用戶數也是受限的。每個連到數據庫的用戶都會保持一個ODBC連接,都會一直佔用中央服務器的資源,對中央服務器的要求非常高,使得用戶擴充受到極大的限制。而B/S結構軟件則不同,所有的用戶都是通過一個JDBC連接緩衝池連接到數據庫的,用戶並不保持對數據庫的連接,用戶數基本上是無限的。
  從以上的分析可以看出,B/S結構的管理軟件有着C/S結構軟件無法比擬的優勢。而從國外的發展趨勢來看,也驗證了這一點。目前,國外大型企業管理軟件要麼已經是B/S結構的,要麼正在經歷從C/S到B/S結構的轉變。從國內諸多軟件廠商積極投入開發B/S結構軟件的趨勢來看,B/S結構的大型管理軟件勢必在將來的幾年內佔據管理軟件領域的主導地位。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章