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

EJB 架構演進史與設計目標:從 Servlet 到 J2EE 企業級組件模型

     編輯:Java 相關知識

背景:伺服器端 Java 的演進

  • Applet(JDK 1.0):瀏覽器端可下載程式。
  • Servlet:Sun 為 Web 伺服器定制的請求-回應模型組件,取代 CGI,效率更高、可移植。
  • 三層架構:瀏覽器(瘦客戶端)→ 中間層(應用伺服器/中間件)→ 後端資料庫。解決兩層架構擴展性與客戶端膨脹問題。

JavaBeans 組件模型

可視化建構工具拖拉拽組裝應用,特徵:設計模式(Getter/Setter/事件)、可定制、自省、持久化。不限於 GUI,亦可用於伺服器端。

J2EE 整合平台

Sun 主導 Java Community Process 制定開放標準,核心技術包含:

  • EJB(伺服器端組件模型)
  • JNDI(命名/目錄)、JTA/JTS(事務)、JMS(訊息)、JSP/Servlet(Web)、JDBC(資料庫)、RMI/IDL(分布式呼叫)等。

EJB 非獨立技術,**建立在上述基礎設施之上**,由容器提供事務、安全、資源池等系統級服務。

EJB 設計目標(八大支柱)

  1. 標準組件架構,支援異構工具開發的組件組裝分布式應用。
  2. 開發者免寫底層事務/狀態/執行緒/資源共享代碼;專家仍可直達底層 API。
  3. Write Once, Run Anywhere:一次開發,多平台部署免重編譯。
  4. 涵蓋開發、部署、運行全生命週期。
  5. 定義工具廠商遵循的約定,確保運行時互操作。
  6. 相容既有伺服器平台,廠商可擴展產品支援 EJB。
  7. 相容其他 Java API。
  8. 與非 Java 應用(CORBA)互操作。

採用 EJB 的效益

  • 簡化開發:容器代管系統服務。
  • 商務邏輯可移植:標準化 Bean-Container 契約。
  • 組件裝配式開發,促進重用。
  • 內建企業級服務:分布式物件、事務、資料庫、安全、全域命名。
  • 多廠商支援,避免鎖定。
  • 組件級擴展支援叢集與負載均衡。
  • 保護既有 IT 投資:舊系統以 Entity Bean 包裝訪問。

核心輔助技術深度剖析

JNDI:獲取 Bean 起始引用

統一命名介面,支援 LDAP、NIS、COS Naming、檔案系統、RMI Registry、NDS 等。EJB 容器部署時建立名稱-物件綁定,客戶端 lookup("applications/shopping_cart") 取得 Home 介面。

JTA/JTS/XA:分布式事務標準

ACID 特性(原子性、一致性、隔離性、持久性)。OMG OTS → Sun JTS(Java 映射) → JTA(應用層高階介面) → XA(資源管理器協議)。容器/應用/外部事務管理器均可透過 JTA 管理事務邊界。

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