一個應用程序的體系結構是應用程序結構的一種概念性描述。
當前,隨著信息技術的飛速發展,現代企業中大多數采用了分布式計算機系統。日益激烈的競爭要求應用程序盡量縮短開發周期,並且具有高度的靈活性,以適應變化多端的市場需要。這一切都對分布式應用程序的開發人員在業務方面和技術方面提出了挑戰。
傳統的分布式應用程序大多是兩層的客戶機/服務器模式(Client/Server),客戶機直接連接到服務器上,在客戶機上負責處理數據和執行客戶端應用程序。
這種兩層的應用程序體系結構存在著許多限制:客戶連接的開銷、服務器數據格式的限制、可擴展性等。尤其是當客戶的數目未知,或者客戶數目可能非常龐大時,兩層的應用程序體系結構將無法處理這種情況。
為了提高分布式應用程序的靈活性和可重用性,可以在兩層的體系結構中再加入第三層,這就是三層式應用程序體系結構:
表示層向用戶提供數據,展現用戶接口。
商業層用以實施商業邏輯,表示層使用商業層提供的服務。
數據訪問層執行具體的數據訪問服務,包括檢索和存儲。
在三層式應用程序體系結構中,商業層不固定地連接到任何客戶,也不關心數據的存儲方式。修改任何一層,都不會對其它層產生不良影響。每種服務都是獨立的,並且可用新的方式進行組合,創建新的應用程序。這種三層結構方便開發人員創建高伸縮性的應用程序。
注意:三層式應用程序並不意味著三台獨立的計算機。三層體系結構是一個邏輯模型,具體采用哪種物理模型依賴於提供服務的位置。