Virtual Shopping Mall Application
Table of Contents
| Overview
of the Application |
This section discusses the overall functionality of
various modules present in the Virtual Shopping Mall (VSM) application.
VSM will allow more than one shop owner to set up different
shops, to sell various products under one roof. The VSM concept, at its
very basic, provides for an environment that allows the following:
1. Shop owners can setup and maintain their own shop(s)
in the Mall, in a language of their choice.
2. Allow customers to purchase products from all the shops in the Mall,
globally. You can make your shop available in various languages.
3. Shop owner can generate various reports like product catalog information,
daily orders, shipping information etc.
4. Allow customers to check the order status.
Customers may browse the mall in the language of their
choice. Shop owners can have the contents of their shops translated in
to different languages supported by the mall.
3.1 Usecase Diagram
The figure above illustrates the sample usecase of a typical VSM system.
Basically three actors have been identified - administrator, shop owner
and customer, each with a different set of privileges. Let us consider
the role of each actor in detail. At the time of login the role of the
user is determined and accordingly is redirected to different pages..
Mall Administrator
The VSM Administrator is the superuser and has complete
control over all the activities that can be performed. The administrator
is notified of all shop creation requests. These requests can either
be approved or rejected. The administrator could also search for shops
and discontinue some at any point of time. The product category management
can be done by admin only. This involves adding new categories or deleting
existing categories from the mall. The admin can also edit the content
of the help and terms of use pages. Additionally the admin can view
all the entries in the guestbook, categorised by language and delete
the entries.
Shop Owner
When the mall administrator approves a shop creation
request, the requester is notified of the approval and from thereon
the requestor assumes the role of a shop owner. Privileges for all activities
of the requested shop, as also the responsibility for setting it up
and maintaining it, are bestowed upon the shop owner. The shop creation/
maintenance involves managing the sub-categories of the items in the
shop as well as the privilge to add or remove items from the shop. The
shop owner can view different reports that give details of the sales
and orders specific to the shop. The shop owner can also decide to discontinue
the shop from the shopping mall, which sends out an alert to the mall
administrator. The shop owner can choose a preferred language for all
above functionalities of the VSM.
Mall Customer
The customer represents the end user of the virtual
shopping mall. A customer can browse through the different shops in
any desired (and supported by the mall) language can buy various items
that are maintained in a cart. The shopping cart details can be viewed
and items can be removed from the cart. To proceed with the purchase
the customer is expected to login. Once logged in the customer can complete
the purchase. At the end of the purchase a notification is sent to the
customer with the delivery details. Also the customer profile can be
modified to alter the customer's personal information like phone number,
address etc. The customer can select the preferred language while registering
with the mall. The customer can also view the status of any previous
orders. The customer has the privilege to cancel any order that has
not been shipped yet.
3.2 Architecture Diagram
The Virtual Shopping Mall has been designed
as a set of modules, each of which is relatively tightly-coupled internally
and loosely-coupled between modules. The design of each module is described
below.
Design/Technology Justification:
Separation Of Concerns makes
development easier as a module will concentrate on one or a related
set of responsibilities only. Maintenance of/extending such modules
are easier.
This can achieved by layering the application based
on responsibilities and by using design patterns and frameworks to solve
common problems and infrastructure issues.
The application is divided in to the following layers
-
- A Presentation layer consisting of JSPs, Servlet
framework and business logic hooks.
- A Services layer, independent of presentation,
exposing the business services.
- A Datastore independent persistence layer, acting
as a bridge between the datastore and business logic.
- A Datastore for persisting business data
MVC separates presentation logic, control
flow logic and business logic. We selected Apache Struts framework for
the following reasons-
- Stable framework
- Large user base
- Access to source code
- Extensible
- Custom tag libraries
- Internationalization
Session EJBs for business services:
EJB is a perfect architecture for transactional applications because
of the following reasons :
- Client independent services
- Remotable Services
- Transaction aware
- Provides infrastructure services like pooling/naming/thread
management/transactions
- Industry standard
- Portable
CMP EJBs form persistence:
Persistence can be achieved by using third party solutions,hand coded
JDBC classes or using an EJB container. EJB Container was preferred
for the VSM due tothe following reasons:
- Database independent persistence mechanism.
- Easy maintenance, because no JDBC coding is involved
- Container's optimization techniques make CMPs perform
better
- No proprietary code/libraries are necessary, as
in case of homegrown persistence code/third party libraries.
This is the main page that is displayed to all users
of the Virtual Shopping Mall. The user can browse through the different
shops listed on the left navigation without logging on. There is also
a provision for the customer to send in a request for shop creation on
the right navigation
Figure 1.1:Login Screen
This is the main page that is displayed to all users
of the Virtual Shopping Mall. The user can browse through the different
shops listed on the left navigation without logging on. There is also
a provision for the customer to send in a request for shop creation on
the right navigation
Figure 1.2: Main Screen
This is the main page that is displayed to all shop
owners of the Virtual Shopping Mall. The shop owner can add/edit subcategories,
add/ edit item information, modify shop information that is displayed
to the mall customers, generate reports which show the sales and order
shipping information and manage the orders placed for items in his shop.
Also the shop owner has the option to discontinue his shop.
Figure 1.3: Shop Owner Main Screen
Refer to the Install document for step-by-step instructions
on extracting files, installing and configuring any other systems to successfully
run this application.
Please enter your comments about this sample in
the
OTN Sample Code Discussion Forum.
|