JavaTM Pet store Account Tcat J2EE BluePrints Sample Application List Price: $125. 50 gates The Java Pet oe bemais a tst he s2ep B UpPicas ep ste al zee epNs. For ea1n5A是得e8 oense tem5 121.6购物车窗口 允许用户更改iem数量,还有个 remove,可以删除item,“ Proceed to Checkout”链接带你 去订单屏幕,当然,如果你没有登录,登录窗口会在你点击之后出现 ③出 /aTM Pet Store Your sh。 pping Cart AoJ! Mae Chuanya Eemo姓 @$12550 Update Car ubtotal: $12550 more thema s a vsit nhe .aep e appinas nebst a ee BuePins For 92001 Sun ense tems 1217登陆窗口 登录窗口允许存在的用户登录,或者创建一个新的帐户和客户
1.2.1.6购物车窗口 允许用户更改 item数量,还有个 remove,可以删除 item, “Proceed to Checkout”链接带你 去订单屏幕,当然,如果你没有登录,登录窗口会在你点击之后出现。 1.2.1.7登陆窗口 登录窗口允许存在的用户登录,或者创建一个新的帐户和客户
JavaTM Pet Store Accourt Cart ints Sample Application n In Are you a returning customer? nestles No, I would like to si Password. Password epeat: 1.218账户信息窗口 用来填写新创建的账户的详细信息,同时也用来维护某个帐户的详细信息 JavaTM Pet store Accoun 'iCan Is J2EE BluePrints Sample Application Pets Your Account Information Contact Information province califomia A Country [United States a E-Mail aaa@bbbc Credit Card Information Card Type [ Java(TM) Card A Profile Information want MyPetStore to be n[English a re. Myst makes your lavon nems and cargoes more/
1.2.1.8账户信息窗口 用来填写新创建的账户的详细信息,同时也用来维护某个帐户的详细信息
1.219订单信息窗口 用来让用户填写订单的发送信息,默认值是当前登录的用户的客户信息中的地址信息,当然 你可以修改。一旦点 submit,就会创建一个订单,发送到订单处理中心 JavaTm pet store Accoun i cart Is SO Pets Your Account Information Billing Informatie。n Ft234 Anywhere steet City [PaD AID Provinee (ca. Postal Code[oDoT Country [United States a ombre 555555555 Shipping Information Nant [ABC [2s4 Anywhere steer s55 Pao Ao Cae ode Moon Country (United States a 12110订单完成窗口 JavaTM Pet Store 'Accor J2EEBluePrints Sample Application eptiles You should recerve a confrmation e-ma soon at Thank you for shoppng with the Java Pet Store Demo The Java Pet more thema is a st he sp e appia wep m h ea 2EE BUePmns For ins
1.2.1.9订单信息窗口 用来让用户填写订单的发送信息,默认值是当前登录的用户的客户信息中的地址信息,当然 你可以修改。一旦点 submit,就会创建一个订单,发送到订单处理中心。 1.2.1.10 订单完成窗口
12,2概要,高层设计吧,我有何选择? ·使用应用框架 小的应用经常不使用应用框架,管理简单的请求转发凌乱的编码习惯大的应用常常使用 MVC应用框架,譬如WAF这样的架构和MVC的功能分离使得应用程序具有更好的重 用性和可维护性 ·WEB层处理商业逻辑 VS EJB层处理 许多应用把商业处理逻辑放到了web层而更大规模的应用常常把处理逻辑放到EJB层, 来提供一个稳定的,大规模的,基于组件的开发模式,以及各种稳定的企业特性如持续性 管理,安全管理,异步通讯,事务处理等特性 本地vs分布处理企业EJB在一个分布架构中 通过远程接口来访问EJB远程EJB提高了稳定性和性能,同时因为是远程调用,要求 EB必须是粗谷粒的。而本地EB和客户端再同一个虚拟机上由于速度快,可以做到 细谷粒。 petstore量采用了 local EJB来提高性能 ·声明的或者是编程实现事务控制 声明的方式,使得管理更容易,但是呢,编程的方式提供了更高的控制。宠物店在显示 数据的时候使用了程序控制,而在更新数据的时候,采用了声明方式。 同步和异步通讯 同步应用适用于适当的时间完成一个特定结果。异步呢,管理起来比较复杂,但对于松 耦合以及可信度不是很高的,并行的操作,很适合。大多数应用使用同步异步结合的方 式。例如,宠物店使用同步方式读取货品的目录 - catalog。而对于发送订单,使用了异步 方式,因为这需要很长时间,而且,订单处理中心不一定在运作过程中。 123宠物店的结构 宠物店的服务从上而下。最上层是WAF( web application framework),来控制应用的屏幕跳转, 产生视图,调用商业组件来完成商业处 图 Pet Store Application Application Logic Application Control and Business Logic and Data. Utilities, Interoperation J2EE Platform System Services WAF提供了许多WEB应用所需的服务,包括,请求的过滤和分发,模板视图的产生, 系列可重用的 taglib,以及屏幕流程控制 应用的组件封装了处理的逻辑,他们代表了商业的数据,并且操作这些商业数据,实体 EB代表了商业实体,如, Customer, Address, Account. Session EjB提供了一些方法, 如登陆一个用户,登出一个用户,管理购物车等。别的 session ejb提供了一些共同的方 法,如产生唯一 identifier。传统的 JavaBean组件变成了值对象,用来在EJB组件和应 用间传递数据。XML文档类则用来处理订单信息
1.2.2 概要,高层设计吧,我有何选择? • 使用应用框架 小的应用经常不使用应用框架,管理简单的请求转发,凌乱的编码习惯.大的应用常常使用 MVC 应用框架,譬如 WAF.这样的架构和 MVC 的功能分离使得应用程序具有更好的重 用性,和可维护性. • WEB 层处理商业逻辑 vs EJB 层处理 许多应用把商业处理逻辑放到了 web 层.而更大规模的应用常常把处理逻辑放到 EJB 层, 来提供一个稳定的,大规模的,基于组件的开发模式,以及各种稳定的企业特性,如,持续性 管理,安全管理,异步通讯,事务处理等特性. • 本地 vs 分布处理. 企业 EJB 在一个分布架构中 通过远程接口来访问 EJB.远程 EJB 提高了稳定性和性能,同时因为是远程调用,要求 EJB 必须是粗谷粒的。而本地 EJB 和客户端再同一个虚拟机上,由于速度快,可以做到 细谷粒。petstore大量采用了 local EJB 来提高性能。 • 声明的或者是编程实现事务控制 声明的方式,使得管理更容易,但是呢,编程的方式提供了更高的控制。宠物店在显示 数据的时候使用了程序控制,而在更新数据的时候,采用了声明方式。 • 同步和异步通讯 同步应用适用于适当的时间完成一个特定结果。异步呢,管理起来比较复杂,但对于松 耦合以及可信度不是很高的,并行的操作,很适合。大多数应用使用同步异步结合的方 式。例如,宠物店使用同步方式读取货品的目录-catalog。而对于发送订单,使用了异步 方式,因为这需要很长时间,而且,订单处理中心不一定在运作过程中。 1.2.3 宠物店的结构 宠物店的服务从上而下。最上层是 WAF(web application framework),来控制应用的屏幕跳转, 产生视图,调用商业组件来完成商业处理。 <图 11> WAF 提供了许多 WEB 应用所需的服务,包括,请求的过滤和分发,模板视图的产生, 一系列可重用的 taglib,以及屏幕流程控制。 应用的组件封装了处理的逻辑,他们代表了商业的数据,并且操作这些商业数据,实体 EJB 代表了商业实体,如,Customer, Address, Account。Session EJB 提供了一些方法, 如登陆一个用户,登出一个用户,管理购物车等。别的 session ejb 提供了一些共同的方 法,如产生唯一 identifier。传统的 JavaBean 组件变成了值对象,用来在 EJB 组件和应 用间传递数据。XML文档类则用来处理订单信息