前言:J2EE 平台四大支柱與藍圖指導
- 規格說明、參考實作、相容性測試、藍圖(最佳實踐與設計指引)
- 本文結合 Rational Unified Process (RUP) 與 Pet Store 藍圖範例,呈現八步驟 J2EE 開發方法論
RUP 為何適合 J2EE?
- 架構中心:先建可執行架構原型,再全面投入資源
- 迭代與元件化:架構基線含框架/基礎設施,迭代增量交付,隔離變更影響
- UML 視覺化建模:業界標準語言溝通架構與元件設計
RUP 四階段:Inception、Elaboration、Construction、Transition。本文聚焦技術層面八大必要活動。
步驟 1:需求分析 —— 簽約基礎
- 產出:功能需求文件(業務概念、領域術語、用例、UI 模型)
- 非功能需求(效能、交易、安全)附件說明
- UI 模型:紙本或 HTML 高保真原型
範例:電子商務兩大用例
- View Order:登入 → 訂單列表 → 點擊查看明細
- Add Line Item:瀏覽產品 → 選擇 → 加入採購單
步驟 2:面向物件分析 —— 純領域模型
- 建構:類、物件、交互序列圖
- **禁忌**:摻雜技術/實作細節(資料庫、EJB、框架)
- 理由:業務變化慢於技術,**穩定領域模型是架構錨點**
輸出:高層分析模型(如 Pet Store 領域)、詳細分析模型(如 Order 物件關係)
步驟 3:架構規格說明 —— 技術策略落地
架構 = 結構 + 介面 + 通訊機制。分兩層:
企業級系統架構(基礎設施層)
- 硬體/網路拓撲(DMZ、防火牆、負載平衡、叢集)
- 軟體基礎設施:Web/App/DB Server、DNS、安全、第三方元件
- J2EE 廠商選型:實作完整度、效能、支援服務、框架生態
- 通用技術服務:交易、I18N/L10N、叢集分佈、效能度量、工作流、入口個性化、層間協定、安全防火牆
網路拓撲範例:Browser → HTTP Server (DMZ) → Web Container → App Container (EJB) → RDBMS
應用架構(專案層)
- 建立在企業架構之上,針對單一專案
- 架構師 ≠ 設計師:架構關注非功能性(分層劃分、設計模式、框架、第三方整合、遺留系統保護、建構 vs 購買決策)
- 領域物件映射技術選型:Web Container (JSP/Servlet)、App Server (EJB)、RDBMS (Java Stored Procedure)
Pet Store 訂單物件映射實例:
分析模型中 1 個 Order → 設計為 Entity Bean + Dependent Object + DAO 三個技術物件。
為什麼拆分?效能、交易邊界、快取策略、遠端/本地介面分離等架構決策所致。
關鍵洞見
「架構決策決定系統骨架。新技術引入前必須 PoC 驗證(如 EJB 效能因廠商而異)。將縱向切片經驗複用到其他領域物件,是架構演進的核心路徑。」
下篇預告
詳細設計、元件實作、測試策略、部署與遷移、運維監控等後續步驟。