工具背景與定位
- WSAD (WebSphere Studio Application Developer):IBM 經典 IDE,基於 Eclipse,中文介面、內建 WebSphere 測試環境、無需複雜配置、紅皮書教程豐富。雖已由 Rational Software Architect 取代,但上手極易,遷移 Eclipse 無縫。
- Rose:經典 UML 建模工具,至今仍是系統建模利器。
jPetStore 專案簡介
基於 Struts + iBATIS 的輕量級 J2EE 參考實作(SUN PetStore 眾多版本之一)。亮點:
- 所有 Action 透過
BeanAction 實現 IOC,易擴展(攔截器)
LocalThread 解決 Struts Action 執行緒不安全
ActionContext 封裝 Parameter/Session/ServletContext,方法無需參數
- ActionForm 與 Action 合一,表現層 Bean 可含多方法
- 方便在表現層使用 POJO
- 統一異常處理機制
WSAD 運行 jPetStore 步驟
- 建表:執行 DDL 腳本
- 匯入 WAR:File → Import → WAR file → 選擇 jpetstore.war
- 建立動態 Web 專案:命名 jpetstoreWeb
- 匯入 Java 原始碼:Java Resources 右鍵 Import → File System → src 目錄
- 修改資料庫配置:
database.properties(驅動、URL、帳密)
- 運行:專案右鍵「在伺服器上運行」,內建 WebSphere 測試環境預設即可
- 訪問:
https://localhost:9080/jpetstoreWeb/
- 重構:DAO 介面重命名(慣例加 I 前綴)、Service 抽取介面
- 匯出 EAR:部署至 WebSphere 5.1 正式環境
Rose 建模 jPetStore(逆向工程 + 整理)
用例模型
- 一般用戶:搜尋產品、瀏覽分類/產品/項目、註冊、登入
- 已登入用戶:登出、編輯帳號、購物車操作(加入/移除/修改數量)、下單、查看訂單/購物車、結帳
資料模型(三大領域)
- 產品相關:CATEGORY、PRODUCT、ITEM、SUPPLIER、INVENTORY
- 用戶帳號:ACCOUNT、SIGNON(展示表關聯)、PROFILE、BANNERDATA
- 訂單相關:ORDERS、ORDERSTATUS、LINEITEM
Web 流程模型
- 新增/修改帳號
- 瀏覽產品(分類→產品→項目)
- 訂單流程
- 購物車(略)
- 輔助 Struts 導航圖(NitroX 生成)
類別圖與 Spring + Hibernate 遷移
類別圖中藍色方框標示 Spring + Hibernate 實現區域。表現層 AccountBean 面向介面呼叫 Service,遷移持久層至 Hibernate 時僅修改 DAO 實作類,表現層零修改——體現介面導向設計與分層架構威力。
遷移至 Spring + Hibernate 關鍵步驟
- 引入 Spring、Hibernate 相關 JAR
- 配置
applicationContext.xml(DataSource、SessionFactory、TransactionManager)
- 重寫 DAO 實作類使用
HibernateTemplate 或原生 Session
- 配置宣告式交易(AOP)
- 移除 iBATIS 相關配置與映射檔
學習價值總結
本實戰涵蓋:IDE 專案建置、應用伺服器部署、UML 多視角建模、輕量級框架架構理解、重構技巧、持久層框架遷移。適合 WSAD/Rose 初學者建立完整企業級開發認知。