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

J2EE 應用程式核心知識:Enterprise Beans 類型、持久化策略與通訊協議

     編輯:J2EE

Enterprise Beans 核心定位

將商業邏輯置於 EJB 層,利用容器提供底層服務 (狀態/交易/執行緒管理、遠端資料存取、安全),程式碼專注解決業務問題。容器運行時建立管理 Bean,部署時配置交易/安全屬性,可部署至任何相容容器,實現可重用。

Enterprise Bean 結構

  • 介面 + 類別組成
  • 客戶程式透過 Home/Remote 介面存取
  • Home:建立/刪除/定位;Remote:商業方法
  • 部署時容器由介面產生類別
  • Bean 類別實作:商業方法、建立/查找方法、生命週期方法 (BMP 時)

兩大 Bean 類型

Session Bean

  • 代表與客戶程式的短暫會話,可執行資料庫讀寫
  • 可直接用 JDBC 或透過 Entity Bean 存取資料
  • 領域包含會話狀態,短暫性:伺服器/客戶端崩潰即遺失
  • 類似 PL/SQL 等資料庫程式語言模式

Entity Bean

  • 代表資料庫資料及操作方法
  • 關聯式資料庫每列對應一 Bean
  • 交易性、長壽命:資料存在 Bean 即存在
  • 易對應關聯式資料庫,不限物件資料庫

Stateful vs Stateless Session Bean

替代輕量模式

  • Data Access Object (DAO):代表客戶存取資料庫
  • Value Object:封裝資料欄位,提供 get/set 存取
  • 減少 Enterprise Bean 系統資源/頻寬佔用

持久化策略選擇

  • Container-Managed Persistence (CMP):容器處理資料庫存取,Bean 程式碼無 JDBC API,容器完成載入/儲存
  • Bean-Managed Persistence (BMP):Bean 實作 JDBC 2.0 API 於生命週期方法 (ejbLoad/store),處理載入/儲存、一致性維護
  • 非關聯式資料庫/企業資訊系統:必須用 BMP,代碼可能包含 JDBC、EIS API、存取對象、連線對象

通訊協議

  • Web 層:HTTP/HTTPS
  • EJB 層:RMI-IIOP — 完整分散式計算協議
  • 客戶端/Web 層程式可直接存取 EJB 層服務:JNDI 查找、JMS 非同步訊息、JDBC 資料庫存取
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
StatefulStateless
狀態包含客戶會話狀態 (實例欄位+引用物件)無特定客戶狀態
資料持久不代表持久資料,但可存取/更新提供無狀態服務
資源需求較高較低,可共享實例池
典型用途購物車、多步驟流程通用服務、共享資料視圖