用户故事与旅游路线说明
Author: 江南白衣
1.书店前台
- 书店前台最主要的是一条旅游线路是--图书展示与用户下单的过程:
1.书店首页展示了最新的图书与热销图等区块。当然,这些区块因为变动并不频繁,因此都使用OSCache缓存起来。另外最新图书使用了分页的taglib。
2.点击某一本图书,用Prototype.js
所封装的传统Ajax模式显示图书的详情。为了对搜索引擎友好,使用了Observe模式。
3.用户将图书放入购物车,同样使用传统Ajax的方式放入购物车。
4.点击购物车图标,再选结账,Spring
MVC的拦截器会判断出用户还没登陆,自动跳转到登陆页面。
5.用户登陆后,SiteMesh会自动为原页面渲染出左边的用户菜单。
6.用户再次选择结账,Drools规则引擎会计算出优惠规则后的价格。
7.用户确定保存订单,JBpm工作流会进入保存订单流程。
8.工作流将向管理员发送订单通知邮件。为了发送邮件的不可控的速度不会影响用户浏览,使用JMS异步发送消息后立刻把页面返回给用户。
9.DWR使用推技术在管理员的操作后台界面推送订单通知,如果有管理员正在后台操作,将会在操作界面的顶端看到该消息。
- 另一条路线是在书店首页的Compass+Lucene的图书搜索及高级搜索功能演示。
- 最后一条路线是首页上方的“Web服务”,DWR + TrimPath JSTemplate + Dom
Builder 来演示的Ajax直接调用远程Java
Service层对象,并用JSTemplate 或 Dom Builder 对返回的Pojo进行渲染。
- 另外,在本例中使用了一段Web Service的Client 作为Java
Service层的演示,SS中XFire 导出的POJO Web Service,
用Groovy 编写的WebService
Client,都在这个狭窄的地方一并演示了。
书店管理后台
- 书店采用Acegi作为综合安全管理方案 ,应用包括:
1.登陆,退出与Jcaptcha 验证码方案,在线管理员列表。
2.RBAC的页面内容级,URL级及Service层方法级的权限管理及使用数据库的配置存放,Web方式的权限管理界面。
3.订单管理界面的ACL权限管理,使用Drools规则引擎编写ACL规则,规则为超级管理员可以管理全部订单,否则本区管理员只能编写本区订单。
- 图书管理界演示标准的CRUD管理,Hibernate3+Spring2+Spring
MVC+JSP2.0的标准架构。另加上ExtremeTable表格控件的使用,FCKEditor在线编辑器的使用,Commons-Validator
客户端及服务端的校验,附件上传的演示,i18N 式界面的演示。
- 订单管理界面演示Master-Detail型单据管理。
- 报表系统采用Eclipse
BIRT,采用Spring
JDBC进行查询。
- 还有Quartz定期查询缺货图书,以邮件形式通知管理员。
- Dojo的富客户端控件在菜单角色和后台首页。
- 最后Webwork+Freemaker版本的CRUD界面演示,顺便还演示了一下bba96。
开发环境
-
无所不能的Ant脚本
- 使用Maven管理的Jar
- EasyMock的使用
- Selenium集成测试