程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 學習WSAD、ROSE、WEBSPHERE的基本用法

學習WSAD、ROSE、WEBSPHERE的基本用法

編輯:關於JAVA

前言

雖然IBM放棄了WSAD、ROSE的繼續發展(取而代之的是Rational Software Architect),但作為一代經典的ROSE,到今天仍然是系統建模的有力工具。

至於WSAD,我本人從4.0就開始使用,通過IBM的紅皮書的范例和教程,我逐步掌握了JSP、EJB、WebService等技術。

對於初學者來說,WSAD很容易上手:

安裝容易

中文菜單

本身帶Websphere測試環境、不需要復雜的配置

IBM紅皮書教程豐富的范例和教程

不需要額外的運行環境和插件

並且,從WSAD轉向eclipse相當容易,WSAD本身就是基於eclipse,界面和eclipse非常類似,大部分快捷鍵都和eclipse一致。

本文通過jpetstore(struts+ibatis)范例,介紹WSAD的基本用法、並用ROSE為jpetstore建立用例模型、數據模型、WEB模型等,最後將jpetstore改造成用spring+hibernate實現,可作為WSAD、ROSE初學著的入門教程。

一、jpetstore簡介

大家知道,SUN公司J2EE藍圖應用程序,petstore寵物店有很多版本,jpetstore版本的詳細介紹可參見基於struts+spring+ibatis的輕量級J2EE開發。

我個人認為,jpetstore版本的設計有許多值得學習的地方,建議大家仔細讀讀它的源代碼。

jpetstore的主要特點:

所有的Action通過BeanAction實現,相當做了IOC,便於系統的擴展(如增加BeforeAction和AfterAction的攔截器)。

通過LocalThread技術,解決了Struts中Action線程不安全的問題。

ActionContext封裝了所有請求的參數(Parameter)、會話(Session)、Servlet上下文(ServletContext)等內容,具體的方法就不需要參數了。

ActionForm與Action合二為一,表現層Bean裡面可以有多個方法。

可以在表現層Bean中方便地使用POJO對象。

由於做了IOC,對BaseBean、BeanAction稍加改造,持久層、業務層、表現層遇到錯誤直接拋異常,在BeanAction可以捕獲到所有異常,便於錯誤和異常的統一處理。

 

二、用WSAD運行jpetstore

第一步:用DDL中的腳本建表和數據。

第二步:啟動WSAD後,建立工程

1.由於已有jpetstore文件,選擇文件->導入

選war文件(也可以war解壓縮,選擇文件系統):

 

點擊“完成”後,選擇相應的war文件(見附件)。

2.“新建”項目

 

取名jpetstoreWeb

 

完成後,建立了一個動態WEB項目。

3.導入Java文件

在“Java資源”右鍵選擇導入,類似的,選擇導入文件系統後,選擇src文件夾(jpetstore.war中有,解壓出來)。

工程就建立起來了。

4.修改propertiesdatabase.propertIEs文件,比如,如果是MySQL數據庫

driver=org.gjt.mm.mysql.Driverurl=jdbc:MySQL://localhost/jpetstoreusername=rootpassWord=root

第三步:運行工程

右鍵點擊“jpetstoreWeb”工程,選擇“在服務器上運行”

 

由於WSAD帶WebSphere測試環境,全部默認就可以。

在IE運行 http://localhost:9080/jpetstoreWeb/

控制台右下有“服務器”,可以啟動或者停止服務器。

第四步:重構項目

1.右鍵com.ibatis.jpetstore.persistence.iface.AccountDao,選擇“重命名”,如為IAccountDao(我個人的習慣,接口都以I開頭),所有引用AccountDao的Java文件中,AccountDao也全部更改名稱了。其余的幾個Dao也重命名。

2.打開com.ibatis.jpetstore.service.AccountService,選擇“重構”->“抽取接口”,命名IAccountService,形成接口和實現兩個文件,所有對AccountService的引用也同時修改。

第五步:導出EAR文件。

二、在Websphere5.1中運行jpetstore

進入Webshpere的管理控制台,選擇安裝新的應用程序,導入並發布jpetstore.ear後,就可以在IE中直接運行了( http://localhost:9080/jpetstoreWeb/)。

三、用ROSE為jpetstore建模

本部分的模型,首先通過ROSE工具的反向工程(Reverse Engineer)、然後進行整理生成。

(一)、UseCase用例

 

普通用戶(user)可以搜索產品(searchProducts)、查看產品分類(viewCategory)、查看產品(viewProduct)、查看產品項目(vIEwItem)、注冊新賬號(newAccount)、登陸(sign-In)。

登陸後的用戶(signedUser)可以注銷登陸(sign-Out)、編輯賬號(editAccount)、將產品項目放入購物車(addItemToCart)、從購物車刪除產品項目(removeItemFromCart)、修改購物數量(updateCartQuantities)、新訂單(newOrder)、查看訂單(vIEWorder)、查看購物車(vIEwCart)、結算(checkout)。

(二)、數據模型

 

點擊看大圖

jpetstore的數據模型可以分三大類:

1.產品相關:

產品分類(CATEGORY)

產品(PRODUCT),也可以說是產品的小分類

單個產品(ITEM),描述具體產品的詳細屬性

供應商(SUPPLIER)

產品庫存(INVENTORY)

2.用戶賬號相關:

用戶賬號(ACCOUNT)

用戶口令(SIGNON),ibatis純粹為了展示表關聯的用法。

用戶配置文件(PROFILE),存放用戶個性化信息。

系統BANNER信息(BANNERDATA)

3.訂單相關:

用戶訂單(ORDERS)

訂單狀態(ORDERSTATUS)

訂單詳情(LINEITEM)

 

(三)、WEB模型

WEB模型一向是各個建模工具的弱項,ROSE的WEB建模能力也不強,有時不能表達准確的含義。

1.新增、修改賬號

 

點擊看大圖

2.浏覽產品

 

點擊看大圖

3.訂單

 

4.購物車(略)

對於WEB模型,配合struts的導航圖(NitroX生成,部分截圖),會更清楚些。

 

點擊看大圖

(四)、類圖

點擊看大圖

蘭色方框內是通過spring+hibernate實現的。可以看到,表現層的AccountBean是面向接口調用Service的,當改為用hibernate實現O/R mapping時,只需要修改接口的實現類(DAO持久層),表現層的程序不需要任何修改。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved