分享
 
 
 

学习WSAD、ROSE、WEBSPHERE的基本用法

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

前言

虽然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.修改properties\database.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持久层),表现层的程序不需要任何修改。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有