三層結構部分技術闡述
CHIS5.0體系結構及開發運行環境的選擇
1.1 系統環境及體系結構選擇的基本要素
系統環境及體系結構的確定是系統分析最主要的任務之一,它受到多種因素的制約,關系到整個系統的成敗, CHIS5.0體系結構及開發運行環境的選擇主要考慮下述因素.
1. 要完全支持系統功能需求, 支持7天/24小時連續運行,足夠的磁盤容量, 足夠快的支持大量實時業務處理的運行速度,管理復雜關系中數據庫表的能力,安全性,容錯, 支持用戶界面的友善性設計等.
2. 系統開發環境及工具的選擇要易于程序員學習,掌握,支持程序編制的高效率,減低程序維護的難度, 支持完全面向對象的程序設計.
3. 系統運行環境和體系結構要有較強的靈活性,可伸縮性,可擴展性和開放性,應能支持系統產品化的目標, 應能支持不同地區,不同規模,不同計算機應用水平的醫院的需求.
4. 系統軟硬件平臺的選擇即要考慮其計算機技術領域的先進性,又要照顧其市場領域的成熟性,選擇成熟的先進技術是我們的目標. 先進性保證我們的選擇符合計算機技術的發展方向,有利于系統的進一步開發,不會早的面臨落后與淘汰的被動局面,成熟性則保證所選擇的環境是可靠的,無論開發和運行均較少受到系統不穩定性的損害。
5. 高性能價格比系統環境與體系結構的確定,即在滿足上述要求的情況下選擇價格最低的軟硬件產品,組合構成整個系統。
1.2 多層客戶機/服務器體系結構(C/S/S)
早在70年代末第一個關系型數據庫管理系統出現時,計算機的數據庫時代就已悄然開始。那時的觀念是由應用程序與關系型數據庫共享統一文件系統,這種數據處理的模式一般稱為單層結構(1 -Tier)。 由于這種結構的數據庫程序占用計算機資源較多也不利于多用戶環境數據庫的訪問,于是在80年代中期,數據庫應用開始轉向C/S(Client/Server) 結構, 也就是所謂的兩層結構(2-Tier)。 這種結構在近十年內不但得到了廣泛的運用, 而且相當成功。 然而,在兩層C/S 結構成功的背后卻逐漸暴露出其構架上的缺陷。具體表現在以下幾方面:
(1)由于客戶端和服務器端直接連接,服務器將消耗部分系統資源用于處理 與客戶端的連接工作。那么每當同時存在大量客戶端數據請求時,服務器有限的系統資源將被用于頻繁應付與客戶端之間的連接,從而無法及時響應數據請求。客戶端數據請求堆積的直接后果將導致系統整體運行效率的大幅降低甚至全面崩潰。
(2)Client與Server直接連接,安全性低。非法用戶容易通過Client直接闖入中心數據庫,造成數據損失
(3) Client程序肥大,并且隨著業務規則的變化,需要隨時更新Client端程序,大大增加維護量,造成維護工作困難,客戶端應用程序的分發工作的煩瑣程度令人難以接受。
(4)在存儲過程調用中,即所有處理過程都在數據庫層進行,只是將最終結果返回到客戶端。這種結構的業務邏輯需采用專用語言開發,很難再移植到其他的數據庫上去。
90年代中期后,由于分布式計算技術和Web的迅速發展,數據庫應用系統在傳統的 C/S 結構的基礎上,出現了兩個重要轉變:
一是在客戶層與數據庫服務器層之間增加了一層或幾層中間件(Mid-ware)或稱為應用服務器,這種新的結構就是所謂的3層或多層結構(C/S/S 3-Tier n-Tier)。由中間件處理應用系統的業務邏輯,客戶端程序只處理界面的顯示;由中間件與數據庫通訊,客戶端因為不需要與數據庫通訊,所以不需要安裝數據庫的客戶端程序和數據庫驅動程序,可以使客戶端程序變得更小,更快;中間件可以有多個并且可以安裝在不同的計算機上,將處理工作分散開來,改善性能
二是隨著Internet/Intranet的流行,越來越多的客戶需要數據庫的前端能夠在瀏覽器中運行,于是出現了B/S(Browser/Server)結構。應用服務器的出現使得原來占用資源很多的應用程序客戶端(稱作肥客戶)轉變成占用資源較少的瘦客戶,也使得瘦客戶可以在瀏覽器中運行。這兩個轉變實際上同時發展并且相互推進。
今天我們所面臨的問題是如何能夠創建通向未來的沒有中斷的跨越LAN、WAN 和Internet 平臺的分布式可伸縮性的應用結構,以滿足當今復雜的、不斷發展變化的業務需求,同時又能確保醫院在系統、應用、信息及人員上的投資。能夠適應這種變化的結構是多層分布式計算體系結構。多層體系結構能夠在低費用的條件下比現行的PC LAN、兩層客戶/服務器或主機/終端應用結構提供更好、更及時信息的可能性。多層分布式計算應用服務技術是目前數據庫應用發展的潮流,傳統的客戶/服務器(二層)的應用正朝著三層或N-Tier 結構發展。
三層結構是傳統的客戶/服務器結構的發展,代表了企業級應用的未來,典型的有多層C/S應用,Web下的應用等。
多層結構的優勢具體體現在:
安全性:中間層隔離了客戶直接對數據服務器的訪問,保護了數據庫的安全;
可以通過使用不同的訪問約束,來分層隔離敏感的功能。這提供了一個靈活的和可配置的安全層。中間層可以限制敏感部分的入口點,使你能更加容易地控制對它的訪問
穩定性:對于要求24*7工作的業務系統,多層分布式體系提供了更可靠的穩定性:
1、 中間層緩沖Client與數據庫的實際連接,使數據庫的實際連接數量遠小于Client應用數量。當然,連接數越少,我們的數據庫系統就越穩定。
2、 Fail/Recover機制能夠在一臺服務器當機的情況下,透明地把客戶端工作轉移到其他具有同樣業務功能的服務上。
易維護:由于業務邏輯在中間服務器,當業務規則變化后,客戶端程序基本不做改動;
快速響應:通過負載均衡以及中間層緩存數據能力,可以提高對客戶端的響應速度;
系統擴展靈活:基于多層分布體系,當業務增大時,可以在中間層部署更多的應用服務器,提高對客戶端的響應,而所有變化對客戶端透明。
開放性: 由于每個中間層部件都有標準的接口,我們將開放系統中大多數部件的接口,提供給其他軟件公司或客戶進行二次開發,可以重寫自己的客戶端程序,寫自己的瀏覽器程序,可重寫針對特殊需求的中間層部件,也可增加新的部件到系統中。
適用性:基于部件的開發,使系統的適用性大大增強,可針對特殊的業務需求開發專門的部件來替換原有的部件。
復用性:軟件對象的復用性大大增強。
多層結構的實現
Microsoft 的 DNA(Distributed Internet Information Architecture)技術是以 MTS/COM+ 為基礎的,輔以 ASP/MSMQ 等的一整套集成在 Windows 2000 中的分布式應用開發技術。以 MTS/COM+ 提供事務服務,用 DCOM/RPC 進行分布對象間通訊,用 ASP 進行 Web 應用開發,用 MSMQ 提供消息通訊。
|
|