1. 程式人生 > >tomcat構建三層c/s結構

tomcat構建三層c/s結構

概述
在c/s結構的發展歷程中,產生了兩層c/s結構和三層c/s結構之分。在兩層c/s結構中,在資訊管理系統的管理上主要分為客戶端和資料庫伺服器。缺點有兩個:1)開銷高昂。在兩層c/s結構中,為了維護其通訊以及在通訊上解決的通訊採用的技術複雜。造成費用很高。2)客戶端升級複雜。在軟體行業發展如此迅速的今天,業務變化複雜。而兩層c/s結構的業務處理主要放置在客戶端。因此,當業務變化時,需要升級客戶端。也就是需要重新安裝客戶端。由於以上的的缺點,三層c/s結構應運而生。三層主要分為表現、功能、資料。從業應對業務的複雜變化。當業務出現變化時,只需要升級伺服器。減少升級客戶端應用程式。有以上的介紹可以知道,在採用c/s結構中,我們要考慮的問題是如何儘可能較少客戶端和伺服器的通訊開銷以及如何構建一個易擴充套件和能夠應付業務變化的客戶端。在往往的c/s結構的開發中,客戶端是公認的自己動手開發。但是伺服器,大部分人都停留在動手編寫伺服器的階段。這樣的費用極其高昂。因為重新開發一個伺服器不是一天兩天的能夠完成。在這裡,我的觀點是採用開源的伺服器作為伺服器。
應用

前提條件,採用java語言開發。
把三層分為了客戶端、業務處理伺服器、資料庫伺服器。在這裡主要討論的是如何構建一個客戶端和業務處理伺服器。採用tomcat作為伺服器。在客戶端自己動手編寫客戶端。
在tomcat中,用servelet作為釋出服務的功能。客戶端和業務處理伺服器之間的相互連線採用http協議連線請求。為了方便操作,在tomcat和客戶端的通訊中,主要內容通過物件序列化作為資訊傳輸的內容。因此,在設計階段需要定義好通訊過程中的實體類。
下面是個例子:
現在,我們要構建一個簡訊查詢系統。這個系統主要分為了三個部分組成。分別為簡訊查詢伺服器、查詢伺服器、資料庫伺服器。採用三層c/s結構的方式。簡訊查詢伺服器端作為客戶端;查詢伺服器作為業務處理;資料庫伺服器作為資料處理。在查詢伺服器中採用tomcat作為伺服器。
設計原則是儘可能較少通訊量以及通訊技術費用。
整個過程如下:
1)簡訊查詢伺服器收到 查詢簡訊後,對簡訊實體進行物件序列化後,通過http協議傳送請求給查詢伺服器。
2)查詢伺服器接受到請求後,接受資訊,並且反物件序列化,獲得其簡訊實體類。進行處理、查詢。並且把查詢資訊生成一個簡訊物件。並且進行物件序列化返回給簡訊查詢伺服器。
3)簡訊查詢伺服器接受到短息內容後進行反物件序列化。並且進行傳送簡訊。
整個過程採用的是tomcat作為伺服器。構建c/s結構。避開了傳統的書寫伺服器的不足指出。

總結

在整個設想過程中,主要存在以下幾個優點:
1)減少開發成本。在開源給我們帶來一個好處就是免費。然而,一般情況下往往採用的是兩層c/s結構或重新編寫伺服器構建三層c/s結構。這樣的費用過於高昂。採用了tomcat作為伺服器,或者其他效能更好的web伺服器作為伺服器,便能減少開發成本。同時採用http協議的釋出和物件序列化較少通訊開銷。
2)加快開發速度。採用開源web伺服器,可以避開了開發伺服器的過程,減少了開發時間。同時servelet技術已經發展到成熟階段。能夠很好地加快開發速度。
3)在c/s中提高應對業務的變化能力。採用三層c/s結構,很好地應對了複雜的業務變化以及業務的擴充套件。
有以下幾個缺點:
1)實體類的定義。在整個過程中,由於採用的是物件序列化技術,因此,在客戶端和伺服器之間需要採用同樣的傳輸實體類。
2)實力類的過度依賴。在設計階段,如果傳輸需要的實體定義不合理,則對系統的靈活性造成嚴重的影響。造成系統不能很好地擴充套件。

注:由於還不知道怎麼插入圖片,因此,只能靠文字描述。