首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

J2EE 系統架構全景解析:多層分布式模型、組件規範與容器機制

     編輯:J2EE

J2EE 多層分布式應用模型

J2EE (Java 2 Platform, Enterprise Edition) 採用四層邏輯架構,物理部署常映射為三層 (客戶機、應用服務器、數據庫/EIS)。

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

J2EE 多層架構圖

圖示:J2EE 四層邏輯架構與物理部署映射

J2EE 組件模型

1. 客戶端組件

  • Web 客戶端: 動態 Web 頁面 (HTML/XML) + 瀏覽器渲染引擎。瘦客戶端,無業務邏輯。
  • Applet: 瀏覽器 JVM 中運行的豐富客戶端組件,已淘汰。
  • 應用程序客戶端: 獨立 JVM 進程,Swing/AWT 富界面,可直接調用 EJB (RMI-IIOP) 或通過 Servlet 間接訪問。

2. Web 組件 (Servlet/JSP)

  • Servlet:Java 類處理 HTTP 請求/響應,線程模型,生命週期由 Web 容器管理。
  • JSP:模板語言,編譯為 Servlet,分離表現與邏輯 (配合 JSTL/EL)。
  • 靜態資源 (HTML/圖片/JS/CSS) 及 Applet 可打包在 WAR 中,但非規範定義的 Web 組件。

3. 業務組件 (EJB)

Bean 類型核心特徵適用場景
Session Bean會話態業務邏輯業務流程控制、事務邊界
├ Stateless無狀態、可池化、高併發無會話狀態業務 (查詢、計算、外部調用)
├ Stateful有狀態、客戶專屬、需激活/鈍化購物車、向導式多步流程
Entity Bean (EJB 2.x)持久化領域對象、映射數據庫行數據中心業務 (EJB 3.0 被 JPA 取代)
├ CMP容器管理持久化、抽象 Schema、EJB QL標準關係映射、可移植
├ BMPBean 管理持久化、手寫 JDBC/SQL複雜映射、存儲過程、非標準數據源
Message-Driven Bean (MDB)異步消息消費者、JMS 整合異步處理、解耦、削峰填谷

持久化 (Persistence) 是 Entity Bean 核心特徵:數據庫記錄變更自動同步到組件池,容器管理 (CMP) 或 Bean 管理 (BMP)。

容器機制:J2EE 運行時核心

Container 管理組件生命週期、安全、部署、運行時服務。各類容器只提供對應組件服務:

  • EJB 容器: 生命週期、事務 (JTA)、安全 (JAAS)、遠程調用 (RMI-IIOP)、實例池、持久化管理、攔截器 (AOP 前身)。
  • Web 容器: Servlet/JSP 生命週期、請求分發、會話管理、安全約束、Filter 鏈、Listener 事件。
  • 應用客戶端容器 / Applet 容器: 客戶端組件執行環境、JNDI 訪問、安全上下文傳播。

EJB 容器與 Web 容器均運行在 J2EE 應用服務器進程內 (如 WebLogic, WebSphere, JBoss, GlassFish)。

關鍵通訊路徑

  1. Web 客戶端 → Web 容器 (Servlet/JSP) → EJB 容器 (Session Bean) → EIS (最主流瀏覽器模式)。
  2. 應用程序客戶端 → EJB 容器 (直接 RMI-IIOP) (富客戶端模式)。
  3. 應用程序客戶端 → Web 容器 (HTTP) → EJB 容器 (穿透防火牆/統一入口)。

JavaBean 組件架構 (輔助角色)

非 J2EE 規範強制組件,但廣泛用於:

  • 數據傳輸對象 (DTO/VO) 在層間流動。
  • 表單後備 Bean (JSF Backing Bean / Struts ActionForm)。
  • Spring POJO 服務實現類。

核心概念速查卡

EJB
Enterprise JavaBean。分布式、事務、安全的組件架構。EJB 3.0+ 大幅簡化 (POJO + 註解),Entity Bean 由 JPA 取代。
Container
組件運行時環境,提供系統級服務 (事務、安全、生命週期、資源管理),實現關注點分離。
J2EE
Java 2 Platform, Enterprise Edition。企業級應用開發部署平台規範,定義 API、服務、協議、組件模型、打包格式 (EAR/WAR/JAR)。

演進提示

現代 Java EE (Jakarta EE) 已演進:EJB 輕量化、JPA 標準化 ORM、CDI 統一依賴注入、JAX-RS RESTful、JSON-B/JSON-P、微服務友好 (MicroProfile)。理解經典四層架構與容器契約,有助於把握現代框架 (Spring Boot, Quarkus, Helidon) 的設計哲學根源。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved