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

JMS 與 JSF 技術選型指南:WebSphere 環境下的架構決策實戰

     編輯:Java 相關知識

背景:IBM WebSphere 技術生態

WebSphere Application Server (WAS) 基於開放標準的 Java EE 應用伺服器,WebSphere Studio Application Developer (WSAD) 提供整合開發環境。本文彙整實戰中常見的 JMS、JSF、Struts 選型與遷移、效能調校、部署自動化等架構決策議題。

JSF vs Struts:核心對比

維度StrutsJSF
成熟度成熟、驗證專案多、WAS 管理主控台即採用較新、需時間成熟、組件生態建設中
架構模式Front Controller + Command,適合複雜控制邏輯Page Controller,適合頁面密集型、豐富事件模型
視圖技術高度 JSP 為中心,切換視圖技術困難Render Kit 可插拔,支援 XML/WML/自定義標記,不綁定 JSP
組件模型標籤庫僅輔助控制器,無視圖組件概念豐富組件模型,支援 RAD 拖拉拽、視圖與模型雙向綁定
開發風格需 Java 知識,適合手工編碼開發者目標 RAD 工具開發,手工編碼相對繁瑣
導航控制靈活但控制器邏輯複雜導航規則宣告式,結構清晰

遷移策略:Struts → JSF

  1. 優先遷移響應頁面(JSP → JSF 頁面),保留 Struts 控制器
  2. 配置 Struts 前端檢查 Faces Servlet
  3. 參考 Apache Struts-Faces 整合框架
  4. 逐步將控制邏輯遷移至 JSF Managed Bean

選型決策檢核表

  • 部署時程:急迫 → Struts;寬裕 → JSF
  • 團隊技能:RAD/IDE 擅長 → JSF;手工編碼/vi 派 → Struts
  • 控制器複雜度高 → Struts;頁面邏輯複雜、組件豐富 → JSF
  • 模型類型:EJB/JavaBeans/JDBC → 確認 JSF 組件庫支援度(WSAD 支援 SDO/JavaBean 直接拖曳)
  • 現有資產:大量 Struts 頁面/邏輯 → 遷移成本評估
  • 客戶端類型:Web/HTML/XML/Mobile → JSF Render Kit 擴展性優勢

JMS 與 MDB 非同步架構

MDB 替代 Stateless Session Bean 概念圖

  • MDB 適用場景:非同步訊息消費、多客戶端解耦、高峰削峰
  • Stateless Session Bean 適用場景:同步 RPC 風格、即時回應、事務性業務邏輯
  • 選型原則:由「服務消費方式」驅動,非為技術而技術

WebSphere 版本相容與工具鏈

  • WSAD 5.1.2 內建 JSF 1.0 修正版,IBM 為主要程式碼貢獻者,短期不遷移 JSF 1.1
  • Portal 4.2.1 部署:WSAD 5.1.2 + Portal 4 UTE(獨立安裝),不支援 JSF/JSR168
  • Portal 5.0.2+ 可構建 JSF Portlet
  • Struts 1.0 (Portal 4) → 1.1 (Portal 5) 需微幅遷移

常見部署與效能疑難雜症

問題診斷方向
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 寫入訊息

建立 MQ Queue 設定 Target Client

wsadmin 自動化部署關鍵

  • 資訊中心與《IBM WebSphere: Deployment and Advanced Configuration》提供完整範例
  • 關鍵操作:ORB Pass By Reference、Generic JVM Args、DataSource 建立與容器管理認證別名映射、Resource Reference JNDI 映射
  • 參數名稱查詢:BOOTSTRAP_ADDRESS 等需查閱官方文件

總結

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

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