
Contents
Primary Presentation
MS Visio file with this diagram
Element Catalog
<<app>> admin
Administration application. Corresponds to a Java rich client application that is launched via Java Web Start. It allows an administrator user to review and modify orders submitted by Pet Store clients.
<<app>> opc
Order Processing Center. It consists of server-side components that asynchronously receive and process orders submitted byusers through <<app>> petstore.
<<app>>petstore
ecommerce application. It is a web application that allows Internet users to register, browse the catalog and place oders for pets. It is also referred to as the Storefront.
<<app>> supplier
Supplier dispatching center.
waf
Web Application Framework. Library that provides a façade to <<app> petstore to manipulate events, user actions and application controllers. Refinement view available.
address
Package that contains an entity bean and auxiliary classes that represent the address of the user.
asyncsender
Package that contains a session bean and auxiliary classes that handle the connection to the Order Processing Center component using asynchronous communication.
cart
Package that contains a session bean and auxiliary classes that represent the shopping cart.
catalog
Package that contains an entity bean and auxiliary classes that represent the product catalog.
components
Library that provides the core (shared) components for the applications. Refinement view available
contactinfo
Package that contains an entity bean and auxiliary classes that represent the contact information of the user.
creditcard
Package that contains an entity bean and auxiliary classes that represent credit card information.
customer
Package that contains three entity beans and auxiliary classes that represent information about a customer (includes contact information and credit card)
encondingfilter.web
Package that contains a servlet filter responsible for setting the character encoding defined in the configuration for http requests.
lineitem
Package that contains an entity bean and auxiliary classes that represent information of one item of an order.
mailer
Package that contains a message-driven bean and auxiliary classes used to send emails.
processmanager
Package that contains a session bean, an entity bean and auxiliary classes that are responsible for managing the workflow process that takes place when a new purchase order is received.
purchaseorder
Package that contains an entity bean and auxiliary classes that represent information about a purchase order.
servicelocator
Package that contains classes that implement the Service Locator pattern, used to look up resources such as EJB homes and JMS destinations.
signon
Package that contains a session bean, an entity bean, a servlet, a servlet filter and auxiliary classes that are responsible for authentication of web users (sign-on).
supplierpo
Package that contains an entity bean and auxiliary classes that represent the information related to a processing order for the supplier.
uidgen
Package that contains a session bean and an entity bean that are responsible for generation of unique identifiers for rows in database tables.
util.tracer
Package with utility functionality to debug and trace.
xmldocuments
Package with utility functionality to transform XML documents.
Back to the Pet Store SAD main page
Variability Guide
None
Other Information
According to Sun's documentation. The Web Application Framework (waf) and the Components are intended to be a layer below <<app>> petstore:
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/sample-app/images/sample-app1.3.1a.gif
Sample Application Design. Figure 11.
Nevertheless this is not what happens in the code. <<app>> petstore does uses and extends J2EE classes (like the HttpSessionListener in the PetstoreComponentManager) and the EJB interfaces in the ShoppingClientFacadeLocalEJB. Additionally <<app>> petstore uses plenty of Java standard classes directly.
From Sun's documentation we get another diagram to analyze:
Source: Figure 11.6 Functional Modules for the Sample Application Web Site.
This figure is difficult to understand. If the rounded boxes are modules, how does the Site Home Page work with them? Does the user interact with the User Interface but not the Site Home Page? Is the user considered a module? What do the arrow mean? What does the square box mean and what are its contents? Besides this observations, the code maps only partially does not seem to map the modules: Product catalog, Sign On, Customer and Order Message are only some of the components in the application (actually there are more incorrections in this figure that will be dealt with in the Runtime view and the Data Model view).
Related Views
- Refinement. Package petstore
- Refinement. Package WAF
- Refinement. Package components