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

EJB 體系架構全景解析:從組件模型到容器服務

     編輯:J2EE

核心定位:分布式企業應用的組件模型

EJB (Enterprise JavaBeans) 基於對象組件模型,利用底層事務服務 API,簡化 Java 企業應用開發與部署。核心是一組可重用組件 —— Enterprise Beans,像搭積木構建分布式應用。

運行機制

  1. 代碼寫好後組合打包,每個文件含一或多個 Enterprise Bean 及配置參數。
  2. 部署至裝有 EJB 容器的平台。
  3. 客戶通過 Bean 的 Home 接口定位、創建實例,調用業務方法 (Remote 接口)。

三大核心角色

  • EJB Server:管理容器與底層服務橋樑,提供資料庫管理、事務管理等系統服務訪問。
  • EJB Container:所有 Bean 實例運行於此,提供系統級服務:
    - 安全 (配置描述符定義訪問控制)
    - 遠程連接 (隱藏通信細節)
    - 生命周期管理 (實例池、激活/失活)
    - 事務管理 (配置描述符定義事務屬性,容器處理分布式事務復雜性,保證 ACID)
  • EJB Component:含業務邏輯、定義客戶接口 (不受容器/服務器影響)、可部署時定制系統級服務 (安全、事務) 而不修改代碼。

兩大 Bean 類型詳解

Session Bean:會話型業務對象

  • 單用戶執行,容器為每個客戶請求創建實例。
  • 代表用戶在伺服器端狀態,可參與事務更新共享數據,但不直接持久化數據。
  • 生命周期短,用戶會話結束即銷毀;容器崩潰需重建會話 (瞬時性)。
  • 有狀態:維護會話期間用戶信息 (如購物車)。
  • 無狀態:不保持客戶狀態,方法調用間無狀態,實例可共享支援多用戶,高性能、可建模可重用服務對象。

Entity Bean:持久化數據對象視圖

  • 映射數據庫數據 (如表中一行),多客戶可共享訪問同一實例。
  • 通過事務上下文訪問/更新數據,保證完整性。
  • 生命周期長,狀態持久,隨數據庫數據存在而存在,容器崩潰不影響。
  • 持久化管理:容器管理 (CMP) 或 Bean 管理 (BMP)。
  • 主鍵標識 (對應數據庫主鍵),客戶通過主鍵定位特定數據。

部署與互操作

Bean 打包為 .jar (含部署描述符) 部署。EJB 架構兼容 CORBA,支援非 Java 客戶端互操作,遵循「一次編寫,到處部署」。

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