J2EE 平台核心價值
以更少資源、更快速度設計/建構/生產企業應用。提供:組件基礎方法、多層分散式應用模型、組件重用、一致化安全模型、靈活交易控制。平台獨立、不綁定廠商產品/API。
J2EE 組件類型
- 應用客戶端組件
- Enterprise JavaBeans 組件
- Servlet 與 JSP 組件
- Applets
四層分散式應用模型
應用邏輯按功能劃分組件,安裝於同一或不同伺服器。安裝層級取決於組件所屬層:
1. 客戶端層
- Web 應用:瀏覽器下載靜態 HTML 或 JSP/Servlet 產生動態 HTML
- 非 Web 應用:獨立客戶程式直接存取 Enterprise Bean (繞過 Web 層)
- 可含 JavaBeans 類別管理輸入 (非 J2EE 組件)
2. Web 層
- 組件:JSP、Web Applet、顯示 HTML 的 Servlet
- 調用的 HTML 頁面隨 Web 組件打包
- 可含 JavaBeans 管理輸入轉發至商業層
- 依賴容器支援:客戶請求/回應、EJB 查詢
3. 商業層 (EJB 層)
- 解決特定業務領域需求 (銀行/零售/金融) 的邏輯由 Enterprise Bean 執行
- 接收客戶資料 → 處理 → 送往 EIS 層儲存
- 從儲存層檢索資料 → 回傳客戶
- 依賴容器提供:交易、生命週期、狀態管理、多執行緒、資源池等複雜系統級代碼
- Web 層 + 商業層 = J2EE 三層架構中間層
4. 企業資訊系統層 (EIS)
- 運行 ERP、大型機交易處理、資料庫系統、舊有資訊系統
- J2EE 組件因需求 (如存取資料庫) 存取 EIS
- 未來版本支援 Connector 架構標準化連接
核心支援服務
查詢服務 (JNDI)
組件獨立運行常在不同設備,客戶端/Web 層用 JNDI 查詢引用:Enterprise Bean、環境條目 (資料庫驅動位置)、JDBC DataSource、訊息連線。
安全模型
- 配置 Web/EJB 組件限制授權用戶存取資源
- Web 組件:提示帳號密碼
- EJB 組件:限定角色呼叫特定方法
- 同一 Servlet 可針對不同環境配置不同存取規則
- 部署時配置,分離應用邏輯與可變配置
交易管理
- 部署時定義構成單一交易的方法關係
- 交易 = 步驟序列,全做或全不做 (轉帳範例:扣款+存款為單一單元)
- 交易屬性定義於組裝階段,可重新指定無需改碼/重編譯
- JSP/Servlet 非交易性,通常委託 EJB 處理
總結
安全、交易等行為可在部署時配置於 Web/EJB 組件,將應用邏輯與配置設定分離,實現靈活部署。