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

EJB 專家進階指南(一):伺服端元件架構與 EJB 整體總攬

     編輯:Java 相關知識

為什麼需要伺服端元件架構?

企業級分散式應用面臨高併發、安全、交易、資源管理等複雜挑戰。傳統兩層架構(Fat Client)存在部署成本高、資料庫驅動管理難、網路效能差、業務邏輯移植困難等痛點。N 層架構將表現層、業務邏輯層、資料層分離,配合中介軟體提供交易管理、安全、資源池化等服務,顯著降低系統複雜度。

Java 元件模型演進:JavaBean → Servlet → EJB

  • JavaBean:視覺化、細粒度元件,無容器管理,適合客戶端/IDE 設計時組裝。
  • Applet/Servlet:Web 端元件,分別由瀏覽器與 Web 伺服器容器管理。
  • Enterprise JavaBean (EJB):伺服端業務元件,部署於應用伺服器容器,享有交易、安全、持久化、生命週期管理、遠端存取等企業級服務。EJB 是 J2EE 平台核心。

EJB 六大角色分工(關鍵分離關注點)

角色職責專業領域
Enterprise Bean Provider開發業務邏輯 Bean、定義介面、提供部署描述符應用領域專家
Application Assembler組裝多個 Bean 為完整應用、編寫 JSP/Servlet 表現層系統架構師
Deployer將 ejb-jar 部署至特定伺服器、配置資源(JDBC、JMS)、調整部署參數運維/伺服器專家
EJB Server Provider提供底層分散式交易、物件管理、OS/網路/資料庫存取系統級中介軟體廠商
EJB Container Provider提供 Bean 執行環境、交易/安全/生命週期管理、部署工具、監控工具應用伺服器廠商(通常與 Server 同廠商)
System Administrator維護伺服器/容器運行環境、網路、硬體資源IT 基礎設施專家

EJB 實體架構:Container 與 Server

  • EJB Container:Bean 運行空間,實作 Bean 與容器契約,提供部署工具、管理 Bean 生命週期、攔截方法呼叫套用交易/安全。
  • EJB Server:處理分散式物件通訊、分散式交易協調、資源管理器連接、執行緒管理等重擔。Container 建構於 Server 之上。

EJB 兩大核心 Bean 類型

Session Bean(會話 Bean)

  • Stateful:一對一維護會話狀態,生命週期較短,客戶端斷線即銷毀,非持久。
  • Stateless:無會話狀態,實例池共享,高擴展性,適合業務邏輯處理。

Entity Bean(實體 Bean)

  • 對應資料庫資料(如表格一列),多客戶共享存取。
  • 透過交易上下文保證資料完整性。
  • 生命週期長,隨資料存在而存在,容器崩潰不影響持久狀態。
  • 持久化管理:CMP(容器管理)或 BMP(Bean 管理)。
  • 主鍵唯一識別,客戶透過主鍵定位特定實體。

J2EE 技術棧整合

EJB 搭配 RMI-IIOP(遠端呼叫)、JNDI(命名服務)、JDBC(資料存取)構成 J2EE 中介軟體服務套件。BEA WebLogic 為首個商用 EJB 應用伺服器。

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