PetStore Research
wangjiong
这个作者很懒,什么都没留下…
展开
-
Petstore的整体结构
推迟了很久,现在总算可以开始了。借助研究Petstore的架构和源代码,完成自己的SCEA第二部分考试。Petstore划分成了四个分离的子程序,每一个子程序都是一个J2EE应用程序。1. Petstore电子商务网站(Petstore):这是一个网络应用程序,使用户可以通过浏览器来购买商品。2. Petstore管理员程序(PetstoreAdmin):也是一个网络应用程序,让企业管理员可以统计原创 2004-12-16 15:14:00 · 1511 阅读 · 0 评论 -
Petstore中的J2EE Pattern之Front Controller
一般来说,系统通常需要一个中心控制模块来处理所有的来自不同用户的请求,这个中心控制模块可以根据不同类型的请求,做出相应的处理。Front Controller就是解决这类问题的一种模式。定义:Use a Controller as the initial point of contact for handling a request. The Controller manages the hand原创 2005-01-06 11:28:00 · 1157 阅读 · 0 评论 -
Petstore之User Signon and Customer Registration Module
用户登陆过程是通过: SignOnFilter实现的,这里应用了Intercepting Filter模式。在PetStore中有俩种类型的页面,受保护的和不受保护的。如果用户请求的是不受保护的页面,这种页面将直接显示给用户;如果用户请求的是受保护的页面,那么SignOnFilter就会拦截用户的请求,检查这个用户是否是已登陆的用户,如果是则直接显示页面,如果不是就会将用户传到登陆页面去。是否是受原创 2005-01-05 23:32:00 · 963 阅读 · 0 评论 -
Petstore之Control Module
Control Module包含了以下几个组件:1. Front Controller Servlet: 接收并处理每一个没有被Servlet Filters拦截的HTTP请求,并将请求转发到相应的其他控制模块中。它包括以下几个组件: a. RequestProcessor类: 将请求的URL映射到相应的action中。 b. Web Controller:将Event原创 2005-01-04 21:50:00 · 1156 阅读 · 0 评论 -
Petstore之Shopping Cart Module
Shopping Cart,很明显在一个用户的购物过程中始终要存在并保存用户的选择信息,因此,用Stateful session bean来实现它是最合适的选择。相关接口和类是:ShoppingCartLocalHome, ShoppingCartLocal和ShoppingCart。ShoppingCart类中有一个CartItem的HashMap,用来保存用户选择的信息。在EJB Contro原创 2005-01-08 11:44:00 · 1156 阅读 · 0 评论 -
Petstore之Customer Module
Petstore使用了Local Entity Bean来实现Customer Module。相关接口和类分别是:CustomerLocal, CustomerLocalHome and CustomerEJB。在Petstore中,User Signon module和Customer module是两个没有多大联系的不同的模块,这样就降低了模块间的耦合度,以便于其他的程序可以重用signon原创 2005-01-08 11:20:00 · 1010 阅读 · 0 评论 -
Petstore之Catalog Module
Petstore通过一个staleless session bean(CatalogEJB)来访问catalog信息。CatalogEJB由CatalogLocalHome创建。CatalogEJB通过CatalogDAO来存取数据,CatalogDAO由CatalogDAOFactory创建类图:原创 2005-01-07 23:48:00 · 893 阅读 · 0 评论 -
Petstore中的J2EE Pattern之Intercepting Filter
在J2EE架构的表示层中,需要针对不同的用户请求做一些相应的处理,有些请求可以直接传递到Controller中去,有些请求需要解码或是验证,通常的做法是写一堆嵌套的if/else语句,但是这样的结构不具有扩展性。使用J2EE Pattern中的Intercepting Filter模式就可以解决这个问题Create pluggable filters to process common servi原创 2005-01-05 13:44:00 · 1049 阅读 · 0 评论 -
Petstore的模块设计
整个Petstore系统建立在一个叫做“WAF“的框架之上,从功能上一共分为了6个模块,他们分别是1. Control module: 这个模块将不同的用户请求分发到其他不同的模块中去2. Shopping cart module:这个模块负责用户的购物请求3. Signon module:这个模块负责用户的登陆请求4. Messaging module:这个模块将用户的订单转发到订单处理中心(O原创 2005-01-03 22:28:00 · 1205 阅读 · 0 评论 -
The Design Patterns Used in PetStore 2. Command
A facades effectiveness is limited, since complex applications can cause the facades API to grow too large. This is the case with the sample application. Rather than continuing to add methods to the原创 2004-12-26 17:40:00 · 1052 阅读 · 0 评论 -
The Design Patterns Used in PetStore 1. Facade
The petstore application uses a facade session bean as a single interface to other enterprise bean business objects.When a web tier controller receives the requests from the client, it then passes the原创 2004-12-26 17:27:00 · 836 阅读 · 0 评论 -
Petstore之Asynchronous Messaging Module
在Petstore中是通过JMS Queue与OPC通信,将订单信息传到OPC中。当用户提交订货表单时,RequestProcessor将创建一个OrderHTMLAction,而这个Action会用订单的相关信息创建一个OrderEvent,再把OrderEvent通过EJB Controllor传到OrderEJBAction中。OrderEJBAction,建立一个PurchaseOrder原创 2005-01-07 22:11:00 · 885 阅读 · 0 评论