多層服務器結構
王永輝 徐為春
1.多層結構簡述:
早在70年代末第一個關系型數據庫管理系統出現時,計算機的數據庫時代就已悄然開始。那時的觀念是由應用程序與關系型數據庫共享統一文件系統,這種數據處理的模式一般稱為單層結構(1 -Tier)。 由于這種結構的數據庫程序占用計算機資源較多也不利于多用戶環境數據庫的訪問,于是在80年代中期,數據庫應用開始轉向C/S(Client/Server) 結構, 也就是所謂的兩層結構(2-Tier)。 這種結構在近十年內不但得到了廣泛的運用, 而且相當成功。 然而,在兩層C/S 結構成功的背后卻逐漸暴露出其構架上的缺陷。其中最明顯的問題表現在應用程序的伸縮性和維護方面。特別是每一個客戶端往往必須配置數據庫的客戶端服務或ODBC/BDE軟件,使得客戶端占用資源很多,配置也很繁瑣。
90年代中期后,由于分布式計算技術和Web的迅速發展,數據庫應用系統在傳統的 C/S 結構的基礎上,出現了兩個重要轉變:
一是在客戶層與數據庫服務器層之間增加了一層或幾層中間件(Mid-ware)或稱為應用服務器,這種新的結構就是所謂的3層或多層結構(C/S/S 3-Tier n-Tier)。由中間件處理應用系統的業務邏輯,客戶端程序只處理界面的顯示;由中間件與數據庫通訊,客戶端因為不需要與數據庫通訊,所以不需要安裝數據庫的客戶端程序和數據庫驅動程序,可以使客戶端程序變得更小,更快;中間件可以有多個并且可以安裝在不同的計算機上,將處理工作分散開來,改善性能。
二是隨著Internet/Intranet的流行,越來越多的客戶需要數據庫的前端能夠在瀏覽器中運行,于是出現了B/S(Browser/Server)結構。應用服務器的出現使得原來占用資源很多的應用程序客戶端(稱作肥客戶)轉變成占用資源較少的瘦客戶,也使得瘦客戶可以在瀏覽器中運行。這兩個轉變實際上同時發展并且相互推進。
值得一提的是,結合以上兩種變化,出現了一種結合三層C/S/S的B/S結構(四層)。
2. 多層結構的優勢
把業務邏輯封裝在共享的中間層里。不同的客戶端都訪問相同的中間層。這可以減少由于在每個單獨的客戶端應用中重復業務邏輯所造成的冗余(以及相應的維護成本)
“瘦”的客戶端。客戶端應用程序可以寫得很小,而把大多數工作交給中間層處理。客戶端應用程序不僅是變小了,而且還更加的易于發布,因為它們不需要再考慮安裝,配置和維護數據庫連接軟件(例如 BDE/ADO 及數據服務器的客戶端軟件)的問題。“瘦”客戶端應用程序可以通過 Internet 以更加靈活的方式發布。
分布式數據處理。將一個應用系統的工作分布到幾臺機器上可以改善系統的性能,因為可以提供負載平衡以及用備用的機器去替代發生故障的機器。
增強安全性。可以通過使用不同的訪問約束,來分層隔離敏感的功能。這提供了一個靈活的和可配置的安全層。中間層可以限制敏感部分的入口點,使你能更加容易地控制對它的訪問。如果你使用 HTTP, CORBA 或是 COM+ ,你還可以同時享受到它們支持的安全模式所帶來的優勢。
3.多層結構的實現
Microsoft 的 DNA(Distributed Internet Information Architecture)技術是以 MTS/COM+ 為基礎的,輔以 ASP/MSMQ 等的一整套集成在 Windows 2000 中的分布式應用開發技術。以 MTS/COM+ |
|