- JSP開發(fā)案例教程
- 何福貴等編著
- 636字
- 2020-12-04 16:23:44
2.2 企業(yè)應(yīng)用開發(fā)架構(gòu)
在構(gòu)建企業(yè)級應(yīng)用時,通常需要大量的代碼,而且這些代碼一般分布在不同的計算機(jī)上,劃分代碼運(yùn)行在不同計算機(jī)上的理論就是多層設(shè)計理論。企業(yè)級應(yīng)用系統(tǒng)通常分為兩層、三層和N層架構(gòu)。
2.2.1 兩層架構(gòu)
圖2-2 兩層應(yīng)用架構(gòu)
傳統(tǒng)的兩層應(yīng)用包括用戶接口和后臺程序,后臺程序通常是一個數(shù)據(jù)庫,用戶接口直接同數(shù)據(jù)庫進(jìn)行對話。實現(xiàn)上,通常使用JSP、ASP或者VB等技術(shù)編寫這類軟件,結(jié)構(gòu)如圖2-2所示。
兩層應(yīng)用架構(gòu)顯示邏輯層一般由HTML、JSP、ASP實現(xiàn),通過JSP和ASP直接和數(shù)據(jù)庫相連。
2.2.2 三層架構(gòu)
在兩層應(yīng)用中,應(yīng)用程序直接同數(shù)據(jù)庫進(jìn)行對話。三層結(jié)構(gòu)在用戶接口代碼和數(shù)據(jù)庫中間加入了一個附加的邏輯層,通常這個層叫做“商務(wù)邏輯層”,如圖2-3所示。
圖2-3 三層應(yīng)用架構(gòu)
2.2.3 N層架構(gòu)
如果某個應(yīng)用超過3個獨(dú)立的代碼層,那么這個應(yīng)用叫做N層應(yīng)用,而不再叫四層或者五層等名稱,而是統(tǒng)稱為N層,如圖2-4所示。
圖2-4 N層應(yīng)用架構(gòu)
2.2.4 開發(fā)架構(gòu)比較
兩層架構(gòu)的優(yōu)點(diǎn)是開發(fā)過程比較簡單,利用服務(wù)器端的程序直接訪問數(shù)據(jù)庫,部署起來比較方便。缺點(diǎn)是程序代碼維護(hù)起來比較困難,程序執(zhí)行的效率比較低,用戶容量比較少。三層架構(gòu)基本解決了兩層架構(gòu)的缺點(diǎn),將顯示部分和邏輯流程控制分開,利用服務(wù)器應(yīng)用程序?qū)崿F(xiàn)顯示部分,利用商務(wù)邏輯層實現(xiàn)程序的流程控制,分層使維護(hù)變的方便一些,而且執(zhí)行效率也會有所提高,但是相對部署起來就比較困難一些。
根據(jù)實際需要,會進(jìn)一步細(xì)化每一層,或者添加一些層,就形成了N層架構(gòu)。它與三層架構(gòu)一樣,組件化的設(shè)計使維護(hù)相對容易,但是部署相對困難。
- 解構(gòu)產(chǎn)品經(jīng)理:互聯(lián)網(wǎng)產(chǎn)品策劃入門寶典
- Flask Blueprints
- Developing Middleware in Java EE 8
- Learning ASP.NET Core 2.0
- Quarkus實踐指南:構(gòu)建新一代的Kubernetes原生Java微服務(wù)
- Rust Essentials(Second Edition)
- Getting Started with Greenplum for Big Data Analytics
- Android開發(fā)案例教程與項目實戰(zhàn)(在線實驗+在線自測)
- Learning Concurrent Programming in Scala
- Learning Probabilistic Graphical Models in R
- Python Data Science Cookbook
- GameMaker Essentials
- Node.js開發(fā)指南
- 并行編程方法與優(yōu)化實踐
- Android Development Tools for Eclipse