Virtual Shopping Mall Application - Readme
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.

Application Architecture

Back To Top

3.1 Usecase Diagram

VSM Use Cases


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.

Architecture

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.

User Notes with Screen Shots

Back To Top

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

Installation and Configuration

Back To Top

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.

E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy