Page tree

Contents

Primary Presentation

Element Catalog

Variability Guide

Other Information

Related Views

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

Back to the Pet Store SAD main page

  • No labels