1.2宠物店网上商店.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.2宠物店网上商店.doc

Sun J2EE 宠物店例子 作者: 动物园的猪 2002.7.26 系统架构统览 petstore1.3是一个集客户购物,下订单,管理一体的例子! 现实的系统不会是这样单贝儿的,大多数的系统要和多个数据源和其他的EIS(企业信息系统)打交道的。这些外部系统可能是资产信息,ERP。也有可能是一个别的公司的WebService(这东东最近太XX热了)。屁如说,订单的提交可能是一个公司,信用卡服务可能另外的公司,运送又是一个公司。 Petstore1.3划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS进行交互。这个例子,分成4个部分: web购物站点 管理 看销售统计,手工接受/拒绝订单,界面也是个web应用 订单处理 通过JMS接受/处理订单消息(xml的) 用java mail来通知客户 通过JMS发订单给供应商 为何订单数据库 供应商 通过JMS接受订单 派送货物给用户 提供一个基于web的库存管理 维护库存数据库 宠物店网上商店 通过浏览器,让客户可以浏览,把货物放入购物车,创建账户/登陆账户,创建订单,通过信用卡支付 宠物店走一遭 这章代表了一个用户的视图,他看到的是个啥东西,也就是所说的业务建模。 开始窗口 开始界面吧,呵呵,干啥呢:很多功能,运行管理程序;进入宠物店;等,你一点进入的恋接吧,就激活了”mail.screen”的URL请求诶。 欢迎窗口 这些可爱的宠物的数据都有了,准备一下,得,显示吧,就下面的这个画面。这个画面其实是个模板组装的,布局挺好看的吧,呵呵。 这个屏幕允许你浏览大类,登录,维护帐户信息(如果你已经登录),改变语言设置。语言切换是通过一个美国,日文国旗图标恋接实现的,可惜没中文?。动物图标代表了种类,鱼代表鱼,狗代表狗,。。。,点点狗,一看,嘿,恋接是”/product.screen?product_id=DOGS”。 种类窗口( HYPERLINK /blueprints/guidelines/designing_enterprise_applications_2e/sample-app/sample-appa7.html Category Screen) 得,列出这个种类下,都有哪些产品,点某个产品,就进去看看这个产品的条目下,有哪些具体的货物在架,选个吧,然后就可以进去看了 货架/产品窗口 产品屏幕显示所有的产品内容,右面列出了单价,并且有一个Add to Cart的加入购物车的链接。 货物item窗口 显示每个内容(item)的详细信息,有个链接可以让你把它放入购物车。 购物车窗口 允许用户更改item数量,还有个remove,可以删除item, “Proceed to Checkout”链接带你去订单屏幕,当然,如果你没有登录,登录窗口会在你点击之后出现。 登陆窗口 登录窗口允许存在的用户登录,或者创建一个新的帐户和客户。 账户信息窗口 用来填写新创建的账户的详细信息,同时也用来维护某个帐户的详细信息。 订单信息窗口 用来让用户填写订单的发送信息,默认值是当前登录的用户的客户信息中的地址信息,当然你可以修改。一旦点submit,就会创建一个订单,发送到订单处理中心。 订单完成窗口 概要,高层设计吧,我有何选择? 使用应用框架 小的应用经常不使用应用框架,管理简单的请求转发,凌乱的编码习惯.大的应用常常使用MVC应用框架,譬如WAF.这样的架构和MVC的功能分离使得应用程序具有更好的重用性,和可维护性. WEB层处理商业逻辑 vs EJB层处理 许多应用把商业处理逻辑放到了web层.而更大规模的应用常常把处理逻辑放到EJB层,来提供一个稳定的,大规模的,基于组件的开发模式,以及各种稳定的企业特性,如,持续性管理,安全管理,异步通讯,事务处理等特性. 本地 vs 分布处理. 企业EJB在一个分布架构中 通过远程接口来访问EJB.远程EJB提高了稳定性和性能,同时因为是远程调用,要求EJB必须是粗谷粒的。而本地EJB和客户端再同一个虚拟机上,由于速度快,可以做到细谷粒。petstore大量采用了local EJB来提高性能。 声明的或者是编程实现事务控制 声明的方式,使得管理更容易,但是呢,编程的方式提供了更高的控制。宠物店在显示数据的时候使用了程序控制,而在更新数据的时候,采用了声明方式。 同步和异步通讯 同步应用适用于适当的时间完成一个特定结果。异步呢,管理起来比较复杂,但对于松耦合以及可信度不是很高的,并行的操作,很适合。大多数应用使用同步异步结合的方式。例如,宠物店使用同步方式读取货品的目录-catalog。而对于发送订单,使用了异步方式,因为这需要很长时间,而且,订单处理中心不一定在运作过程中。 宠物店的结构 宠物店的服务从上而下。最上层是WAF(web

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档