C/S、B/S軟體技術上的比較

javaprogramers發表於2005-04-05
     
     C/S結構軟體(即客戶機/伺服器模式)分為客戶機和伺服器兩層,客戶機不是毫無運算
能力的輸入、輸出裝置,而是據有了一定的資料處理和資料儲存能力,通過把應用軟體的
計算和資料合理地分配在客戶機和伺服器兩端,可以有效地降低網路通訊量和伺服器運算
量。由於伺服器連線個數和資料通訊量的限制,這種結構的軟體適於在使用者數目不多的局
域網內使用。國內目前的大部分ERP(財務)軟體產品即屬於此類結構。

  B/S(瀏覽器/伺服器模式)是隨著Internet技術的興起,對C/S結構的一種改進。在這
種結構下,軟體應用的業務邏輯完全在應用伺服器端實現,使用者表現完全在Web伺服器實
現,客戶端只需要瀏覽器即可進行業務處理,是一種全新的軟體系統構造技術。這種結構
更成為當今應用軟體的首選體系結構。雙匯軟體系列產品即屬於此類結構。

  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結構軟體可以適用於任何網路結構(包括28.8K撥號入網方式),特別適於寬
帶不能到達的地方(例如雙彙集團的某些分公司,僅靠電話上網即可正常使用軟體系統)。

C/S、B/S軟體商業運用上的比較

  管理軟體是為企業服務的,企業選用管理軟體不僅要從技術上考慮,還要從商業運用
方面來考慮,下文將從商業運用的角度對兩種結構的軟體進行比較。

  1,投入成本比較。B/S結構軟體一般只有初期一次性投入成本。對於集團來講,有利
於軟體專案控制和避免IT黑洞,而C/S結構的軟體則不同,隨著應用範圍的擴大,投資會
連綿不絕。

  2,硬體投資保護比較。在對已有硬體投資的保護方面,兩種結構也是完全不同的。
當應用範圍擴大,系統負載上升時,C/S結構軟體的一般解決方案是購買更高階的中央服
務器,原伺服器放棄不用,這是由於C/S軟體的兩層結構造成的,這類軟體的伺服器程式
必須部署在一臺計算機上;而B/S結構(如雙匯軟體)則不同,隨著伺服器負載的增加,可
以平滑地增加伺服器的個數,然後在各個伺服器之間做負載均衡。有效地保護了原有硬體
投資。

  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結構的大型管理軟體勢必在將來的幾年內佔據管理軟體領域的主
導地位。(完)

相關文章