J2EE (Java 2 Platform, Enterprise Edition) 採用四層邏輯架構,物理部署常映射為三層 (客戶機、應用服務器、數據庫/EIS)。
| 邏輯層 | 物理位置 | 核心組件/技術 | 職責 |
|---|---|---|---|
| 1. 客戶層 | 客戶機 | Applet、應用程序客戶端 (Swing/AWT)、Web 瀏覽器 | 用戶交互入口、展示層 |
| 2. Web 層 | J2EE 服務器 | Servlet、JSP、靜態 HTML、JSTL、Filter、Listener | HTTP 請求處理、控制器、視圖渲染、會話管理 |
| 3. 業務層 | J2EE 服務器 | EJB (Session/Entity/Message-Driven Bean) | 核心業務邏輯、事務管理、安全、分布式調用 |
| 4. 企業信息系統層 (EIS) | EIS 服務器 | ERP、CRM、大型事務系統、遺留系統、關係數據庫 | 數據持久化、異構系統集成 |

圖示:J2EE 四層邏輯架構與物理部署映射
| Bean 類型 | 核心特徵 | 適用場景 |
|---|---|---|
| Session Bean | 會話態業務邏輯 | 業務流程控制、事務邊界 |
| ├ Stateless | 無狀態、可池化、高併發 | 無會話狀態業務 (查詢、計算、外部調用) |
| ├ Stateful | 有狀態、客戶專屬、需激活/鈍化 | 購物車、向導式多步流程 |
| Entity Bean (EJB 2.x) | 持久化領域對象、映射數據庫行 | 數據中心業務 (EJB 3.0 被 JPA 取代) |
| ├ CMP | 容器管理持久化、抽象 Schema、EJB QL | 標準關係映射、可移植 |
| ├ BMP | Bean 管理持久化、手寫 JDBC/SQL | 複雜映射、存儲過程、非標準數據源 |
| Message-Driven Bean (MDB) | 異步消息消費者、JMS 整合 | 異步處理、解耦、削峰填谷 |
持久化 (Persistence) 是 Entity Bean 核心特徵:數據庫記錄變更自動同步到組件池,容器管理 (CMP) 或 Bean 管理 (BMP)。
Container 管理組件生命週期、安全、部署、運行時服務。各類容器只提供對應組件服務:
EJB 容器與 Web 容器均運行在 J2EE 應用服務器進程內 (如 WebLogic, WebSphere, JBoss, GlassFish)。
非 J2EE 規範強制組件,但廣泛用於:
現代 Java EE (Jakarta EE) 已演進:EJB 輕量化、JPA 標準化 ORM、CDI 統一依賴注入、JAX-RS RESTful、JSON-B/JSON-P、微服務友好 (MicroProfile)。理解經典四層架構與容器契約,有助於把握現代框架 (Spring Boot, Quarkus, Helidon) 的設計哲學根源。