一、三層C/S的基本硬件結(jié)構(gòu)
傳統(tǒng)的二層C/S結(jié)構(gòu)存在以下幾個局限:1它是單一服務(wù)器且以局域網(wǎng)為中心的,所以難以擴展至大型企業(yè)廣域網(wǎng)或Internet;2受限于供應(yīng)商;3軟、硬件的組合及集成能力有限;4難以管理大量的客戶機。因此,三層C/S結(jié)構(gòu)應(yīng)運而生。
三層C/S結(jié)構(gòu)是將應(yīng)用功能分成表示層、功能層和數(shù)據(jù)層三部分。其解決方案是:對這三層進(jìn)行明確分割,并在邏輯上使其獨立。原來的數(shù)據(jù)層作為DBMS已經(jīng)獨立出來,所以關(guān)鍵是要將表示層和功能層分離成各自獨立的程序,并且還要使這兩層間的接口簡潔明了。
將上述三層功能裝載到硬件的方法基本上有三種(如圖1所示)。其中表示層配置在客戶機中,而數(shù)據(jù)層配置在服務(wù)器中。
一般情況是只將表示層配置在客戶機中,如圖1(1)或圖1(2)所示。如果像圖1(3)所示的那樣連功能層也放在客戶機中,與二層C/S結(jié)構(gòu)相比,其程序的可維護性要好得多,但是 其他問題并未得到解決??蛻魴C的負(fù)荷太重,其業(yè)務(wù)處理所需的數(shù)據(jù)要從服務(wù)器傳給客戶機,所以系統(tǒng)的性能容易變壞。
如果將功能層和數(shù)據(jù)層分別放在不同的服務(wù)器中(如圖1(2)所示),則服務(wù)器和服務(wù)器之間也要進(jìn)行數(shù)據(jù)傳送。但是,由于在這種形態(tài)中三層是分別放在各自不同的硬件系統(tǒng)上 的,所以靈活性很高,能夠適應(yīng)客戶機數(shù)目的增加和處理負(fù)荷的變動。例如,在追加新業(yè)務(wù)處理時,可以相應(yīng)增加裝載功能層的服務(wù)器。因此,系統(tǒng)規(guī)模越大這種形態(tài)的優(yōu)點就越顯著。
值得注意的是:三層C/S結(jié)構(gòu)各層間的通信效率若不高,即使分配給各層的硬件能力很強,其作為整體來說也達(dá)不到所要求的性能。此外,設(shè)計時必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量。這和提高各層的獨立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問題。
傳統(tǒng)的二層C/S結(jié)構(gòu)存在以下幾個局限:1它是單一服務(wù)器且以局域網(wǎng)為中心的,所以難以擴展至大型企業(yè)廣域網(wǎng)或Internet;2受限于供應(yīng)商;3軟、硬件的組合及集成能力有限;4難以管理大量的客戶機。因此,三層C/S結(jié)構(gòu)應(yīng)運而生。
三層C/S結(jié)構(gòu)是將應(yīng)用功能分成表示層、功能層和數(shù)據(jù)層三部分。其解決方案是:對這三層進(jìn)行明確分割,并在邏輯上使其獨立。原來的數(shù)據(jù)層作為DBMS已經(jīng)獨立出來,所以關(guān)鍵是要將表示層和功能層分離成各自獨立的程序,并且還要使這兩層間的接口簡潔明了。
將上述三層功能裝載到硬件的方法基本上有三種(如圖1所示)。其中表示層配置在客戶機中,而數(shù)據(jù)層配置在服務(wù)器中。
一般情況是只將表示層配置在客戶機中,如圖1(1)或圖1(2)所示。如果像圖1(3)所示的那樣連功能層也放在客戶機中,與二層C/S結(jié)構(gòu)相比,其程序的可維護性要好得多,但是 其他問題并未得到解決??蛻魴C的負(fù)荷太重,其業(yè)務(wù)處理所需的數(shù)據(jù)要從服務(wù)器傳給客戶機,所以系統(tǒng)的性能容易變壞。
如果將功能層和數(shù)據(jù)層分別放在不同的服務(wù)器中(如圖1(2)所示),則服務(wù)器和服務(wù)器之間也要進(jìn)行數(shù)據(jù)傳送。但是,由于在這種形態(tài)中三層是分別放在各自不同的硬件系統(tǒng)上 的,所以靈活性很高,能夠適應(yīng)客戶機數(shù)目的增加和處理負(fù)荷的變動。例如,在追加新業(yè)務(wù)處理時,可以相應(yīng)增加裝載功能層的服務(wù)器。因此,系統(tǒng)規(guī)模越大這種形態(tài)的優(yōu)點就越顯著。
值得注意的是:三層C/S結(jié)構(gòu)各層間的通信效率若不高,即使分配給各層的硬件能力很強,其作為整體來說也達(dá)不到所要求的性能。此外,設(shè)計時必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量。這和提高各層的獨立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問題。