WebSphere Application Server (WAS) 基於開放標準的 Java EE 應用伺服器,WebSphere Studio Application Developer (WSAD) 提供整合開發環境。本文彙整實戰中常見的 JMS、JSF、Struts 選型與遷移、效能調校、部署自動化等架構決策議題。
| 維度 | Struts | JSF |
|---|---|---|
| 成熟度 | 成熟、驗證專案多、WAS 管理主控台即採用 | 較新、需時間成熟、組件生態建設中 |
| 架構模式 | Front Controller + Command,適合複雜控制邏輯 | Page Controller,適合頁面密集型、豐富事件模型 |
| 視圖技術 | 高度 JSP 為中心,切換視圖技術困難 | Render Kit 可插拔,支援 XML/WML/自定義標記,不綁定 JSP |
| 組件模型 | 標籤庫僅輔助控制器,無視圖組件概念 | 豐富組件模型,支援 RAD 拖拉拽、視圖與模型雙向綁定 |
| 開發風格 | 需 Java 知識,適合手工編碼開發者 | 目標 RAD 工具開發,手工編碼相對繁瑣 |
| 導航控制 | 靈活但控制器邏輯複雜 | 導航規則宣告式,結構清晰 |

| 問題 | 診斷方向 |
|---|---|
| WAS 4→5 遷移 NoClassDefFoundError | 確認 J2EE 1.2 應用相容性、必要資源配置(如 WAS 4 DataSource),先跑 1.2 模式排除伺服器配置問題 |
| 500 併發連線效能瓶頸 | 應用層(StringBuffer 未初始化導致 GC 壓力)、配置層(叢集、Web Server、連接池)、架構層參考《Performance Analysis for Java Websites》 |
| MQ 5.3 非 Java 客戶端 JMS 格式不相容 | Queue 設定 Target Client = MQ(非 JMS),使 JMS 程式能理解 MQ API 寫入訊息 |

BOOTSTRAP_ADDRESS 等需查閱官方文件技術選型無銀彈,核心在於:理解業務需求、評估團隊實力、量化遷移成本、預留演進空間。JSF 代表未來標準方向,Struts 仍是當前穩健選擇;JMS/MDB 解決非同步解耦,Session Bean 處理同步業務;自動化部署(wsadmin)與效能基準測試是企業級專案的必修課。IBM 生態系中,善用工具鏈整合優勢,以務實態度平衡創新與穩定。