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