服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

学习wsad、rose、websphere的基本用法


  前言
  
  虽然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解压缩,选择文件系统):
  
 学习wsad、rose、websphere的基本用法(图一)

  点击“完成”后,选择相应的war文件(见附件)。
  
  2.“新建”项目
  
 学习wsad、rose、websphere的基本用法(图二)

  取名jpetstoreweb
  
 学习wsad、rose、websphere的基本用法(图三)

  完成后,建立了一个动态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、rose、websphere的基本用法(图四)

  由于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用例
  
 学习wsad、rose、websphere的基本用法(图五)
点击查看大图

  普通用户(user)可以搜索产品(searchproducts)、查看产品分类(viewcategory)、查看产品(viewproduct)、查看产品项目(viewitem)、注册新账号(newaccount)、登陆(sign-in)。
  
  登陆后的用户(signeduser)可以注销登陆(sign-out)、编辑账号(editaccount)、将产品项目放入购物车(additemtocart)、从购物车删除产品项目(removeitemfromcart)、修改购物数量(updatecartquantities)、新订单(neworder)、查看订单(vieworder)、查看购物车(viewcart)、结算(checkout)。
  
  (二)、数据模型
  
 学习wsad、rose、websphere的基本用法(图六)
点击查看大图

  
点击看大图

  
  jpetstore的数据模型可以分三大类:
  
  1.产品相关:
  
  产品分类(category)
  
  产品(product),也可以说是产品的小分类
  
  单个产品(item),描述具体产品的详细属性
  
  供应商(supplier)
  
  产品库存(inventory)
  
  2.用户账号相关:
  
  用户账号(account)
  
  用户口令(signon),ibatis纯粹为了展示表关联的用法。
  
  用户配置文件(profile),存放用户个性化信息。
  
  系统banner信息(bannerdata)
  
  3.订单相关:
  
  用户订单(orders)
  
  订单状态(orderstatus)
  
  订单详情(lineitem)
   
  (三)、web模型
  
  web模型一向是各个建模工具的弱项,rose的web建模能力也不强,有时不能表达准确的含义。
  
  1.新增、修改账号
  
 学习wsad、rose、websphere的基本用法(图七)
点击查看大图

  
点击看大图

  
  2.浏览产品
  
 学习wsad、rose、websphere的基本用法(图八)
点击查看大图

  
点击看大图

  
  3.订单
  
 学习wsad、rose、websphere的基本用法(图九)
点击查看大图

  4.购物车(略)
  
  对于web模型,配合struts的导航图(nitrox生成,部分截图),会更清楚些。
  
 学习wsad、rose、websphere的基本用法(图十)
点击查看大图

  
点击看大图

  
  (四)、类图
  
学习wsad、rose、websphere的基本用法(图十)
点击查看大图

  
点击看大图

  
  兰色方框内是通过spring+hibernate实现的。可以看到,表现层的accountbean是面向接口调用service的,当改为用hibernate实现o/r mapping时,只需要修改接口的实现类(dao持久层),表现层的程序不需要任何修改。

扫描关注微信公众号