|OMIX WHITE PAPER|
In the course of designing and developing many Internet E-Commerce systems in the six years since our inception, OMIX has created a series of infrastructures that we have leveraged for our clients. Over the years, we have adapted emerging technologies in creating these infrastructures to make these systems more scalable and standards compliant.
The current OMIX E-Commerce infrastructure is our fourth generation in this evolutionary series. It makes extensive use of the standards-based Java J2EE (second generation Enterprise Edition) server software architecture – and effectively separates the business logic from the site is from the presentation logic. This allows us to construct sites that differ in content presentation, while retaining much of the underlying site business logic.
This document provides a high level overview of the capabilities of the OMIX E-Commerce framework. This framework includes two primary software components: the dynamic HTML logic and the administration application.
The dynamic HTML logic consists of the server-side J2EE components that create the consumer's E-Commerce experience through their Web browser. Section 3 of this document describes the default functionality of the OMIX E-Commerce framework.
The Administration application is a Java client application that is delivered to the site administrator's desktop. It allows the administrator to customize the content within the catalog section of the E-Commerce site. This functionality is described at a high-level in section 4 of this document.
It should be stressed that the visual representations of the user interface contained within this document are meant to be functional representations of the ultimate user experience. It is assumed that the content or graphic design for any site built with this framework will need to be built in a separate project by either OMIX or another engineering/graphics team. Additionally, it is assumed that the functionality required for the Administrative tool will be adjusted to match specific requirements.
The architecture for the OMIX E-Commerce infrastructure is represented in figure 1.
Figure 1. OMIX E-Commerce Framework Architecture
The E-Commerce framework architecture is built around an embedded J2EE application server. This architecture offers the following advantages:
The static content sections of the site will be supported directly by the Netscape Enterprise server. The presentation layer of the dynamic content sections of the site will be supported by the application server's Java Server Page (JSP) servlet engine. The business logic for the site will be supported using Enterprise Java Beans (EJB) within the application server container environment. Data will be transferred to/from the middleware to the database using the Java Database Connectivity (JDBC) application programming interface (API).
A high level representation of the OMIX E-Commerce framework software and database architecture is represented in figure 2.
Figure 2. OMIX E-Commerce Infrastructure Database Architecture
E-COMMERCE FRAMEWORK DYNAMIC STORE
The E-Commerce Store Components are used to dynamically create the consumer experience as the user navigates through the online store and the order pipeline. At the highest level, the OMIX E-Commerce framework provides the following functionality:
The Dynamic Store framework provides default functionality for the shopping process as described in the following sections. It is anticipated that the default behaviors will be customized to address specific site requirements.
STORE SITE MAP
The site map for the default store is represented in figure 3. This map depicts the user’s experience in navigating the store catalog and the order pipeline. The interactions shown represent the default behavior for the Store Components.
The following sections depict the Store functionality for a fictional Shopping.com site. The sections correspond to the pages represented by the site map.
Figure 3. Dynamic Store Site Map
A functional depiction of the Store Entry page is shown in figure 4. From this page, the user is presented with featured products, collection links and the primary category entry selectors. Each page within the store includes navigational buttons if the number of products associated with the specific hierarchy level includes more products that can be represented on a single page.
Figure 4. Store Entry Page
CATEGORY AND SUBCATEGORY PAGES
As the user navigates the catalog hierarchy, the category and subcategory pages appear as functionally represented in figure 5. The navigational breadcrumbs at the top of the page inform the user about their location in the product hierarchy. The user can also use the breadcrumb selectors as a navigational device to move several levels up the hierarchy.
Figure 5. Category and Subcategory Pages
PRODUCT DETAIL PAGES
When the user selects the link associated with a product on a category or subcategory page, they are delivered a product detail page. This is functionally represented in figure 6. This page features product availability, product option selectors (not shown), one or more product descriptions, multiple product graphic views and a button to add the item to the user's shopping basket.
Figure 6. Product Detail
When the user adds a product to their shopping basket or activates the Shopping Basket navigation button on every store page, he/she will be taken to the Shopping Basket page. This page is functionally represented in figure 7.
Figure 7. Shopping Basket Page
CHECKOUT ACCOUNT ENTRY
When the user activates the Checkout link on the Shopping Basket page, he/she will be taken to a page that asks them whether they are a new user or have an existing account with the site. This is represented in figure 8. From this page, the user can proceed directly to the checkout pipeline if he/she does not want to establish an account.
Figure 8. Checkout Entry
NEW USER CHECKOUT
The following sections describe the user experience flow for users that activate the New Customer Checkout pushbutton on the Checkout Entry page.
NEW USER SHIPPING AND BILLING ADDRESS COLLECTION FORM
If the user indicates that they do not have an account with the site, he/she will be taken to a page featuring a form that collects their shipping and billing information. This page is functionally represented in figure 9.
Figure 9. Shipping and Billing Address Collection Page
ADDITIONAL SHIPPING ADDRESSES
If the user activates the Ship to Multiple Addresses pushbutton on the New User Shipping and Billing Address Collection page, he/she will be taken to a page that allows them to associated additional shipping addresses with their session and/or account. This page is functionally represented in figure 10.
Figure 10. Additional Shipping Address Page
Using the form on this page, the user can create as many additional shipping addresses as they need to service their account. These addresses will be represented in nickname form within option selectors during a later phase of the checkout process.
When the user activates the Continue pushbutton from the Billing/Shipping Address Form page, he/she will be taken to a page that allows them to specify the shipping method for individual items within the order. This is functionally represented in figure 11.
Figure 11. Shipping Method Page
NEW USER PAYMENT PAGE
When the user activates the Continue pushbutton on the New User Shipping Method page, he/she will be taken to a page that collects payment information. This page is functionally represented in figure 12.
Figure 12. New User Payment Information
EXISTING ACCOUNT CHECKOUT
If the user successfully authenticates from the Checkout Entry page, they will be taken through the existing account checkout pipeline. Users that navigate this path will automatically have information from their profile prefill the checkout forms. The following sections describe the user experience flow for this sequence.
EXISTING ACCOUNT SHIPPING AND BILLING PAGE
Upon successful authentication, users with existing accounts will receive the Existing Account Shipping and Billing page. This page is functionally represented in figure 13.
Figure 13. Existing Account Shipping and Billing Page
From this page, users can set shipping and billing address information for the order from option selectors populated with the set of addresses that they have previously registered with the site. In addition, the user can activate the New Address pushbuttons to create new addresses that will be associated with their account. This functionality is described in section 3.7.2.
This page also includes a link to a page that allows the user to specify multiple shipping addresses for a single order. This functionality is described in the following section.
MULTIPLE SHIPPING ADDRESSES
If the user activates the Multiple Addresses link from either of the two Address pages, they will be taken to a page that allows them to specify multiple addresses for the order. This is functionally represented in figure 14.
Figure 14. Multiple Shipping Address Page
MULTIPLE ADDRESS SHIPPING METHOD
When the user activates the Continue pushbutton on the Multiple Shipping address page, he/she will be taken to a page that allows him/her to specify one or more preferred shipping methods for the order. This page is functionally represented in figure 15.
Figure 15. Multiple Address Shipping Method
EXISTING ACCOUNT PAYMENT PAGE
When the authenticated user moves to the next stage in the checkout pipeline, he/she will be presented with a page that is prefilled with their payment information. This page is functionally represented in figure 16.
Figure 16. Existing User Payment Page
When the user completes the Checkout pipeline sequence, they will be delivered a page that summarizes their order for confirmation purposes. This page is functionally represented in figure 17.
Figure 17. Order Confirmation Page
This page includes an optional checkbox that allows the user to sign up for email notification for newsletters or special offers.
CREDIT CARD VALIDATION
When the user activates the Complete Order pushbutton from the Order Confirmation page, the E-Commerce framework will attempt to validate the credit card information supplied during the payment stage of the checkout process. By default, this validation will take place through the Cybercash gateway using the Cash Register 3 API.
If the user's payment information fails to validate, the user will be presented with a page informing him/her of the problem with a link taking him/her back to the appropriate payment page. All order attempts are written to a log by the framework along with their associated return status.
If the user's order clears the credit card authentication stage, he/she will be presented with a page that acts as a receipt for the order. Each such page contains a unique order number that may be used for tracking purposes. This page is functionally represented in figure 18.
Figure 18. Order Receipt Page
NEW ACCOUNT REGISTRATION
The Order Receipt page includes a pushbutton entitled Save my Information. Activating this pushbutton allows the user to save their address and payment information to simplify future purchasing. When the user activates this pushbutton, he she will be taken to a registration page that allows them to create a new account. This page is functionally represented in figure 19.
Figure 19. New Account Registration
E-COMMERCE FRAMEWORK ADMINISTRATION TOOL
The E-Commerce Framework Administration Tool is used to provide site administrators with an application to make modifications to the content and/or organization of the dynamic store. This application allows updates to be made to the E-Commerce database in an intuitive fashion while maintaining data integrity and table consistency.
This tool is provided as a Java client-side application that runs from the Administrators desktop. The Administration tool is delivered and version controlled using the Zero Admin Client (ZAC) API. The ZAC automatically updates the Admin application on the Administrator’s desktop whenever a new version of the tool is released.
The delivery of the Admin Tool includes a bundled Java Runtime Environment (JRE). This makes it possible to install this application with a simple point and click operation.
Typically, the site administrator(s) will use this tool to access the staging and production servers through a Virtual Private Network that is established between the client headquarters environment(s) and the hosting data center.
The following sections provide a very high level overview of some of the capabilities of this tool. It is anticipated that the Admin Tool framework will be customized to support specific customer requirements.
ADMIN TOOL AUTHENTICATION
When the Admin Tool is started from administrator’s desktop, the user will be presented with an authentication window. This is functionally represented in figure 20.
Figure 20. Admin Application Login Screen
Note that the connection option selector allows the tool to connect to one of several servers for site management. This allows a single instance of this tool to manage a typical server farm that includes multiple environments (e.g. development, staging and production).
PRODUCT ENTRY AND MODIFICATIONS
When the Administrator successfully authenticates, he/she will be taken to the main Admin Tool window. The application includes a set of primary selector tabs near the top of the window. When one of these tabs is selected, an associated set of subtabs will be shown near the middle of the application window. This is functionally represented in figure 21, where the Product tab has been selected.
When the product tab is selected a scrollable list of all of the products within the site is shown in the top half of the primary application window. When one of the entries from this list is selected, the product data associated with the product descriptor tab selector is shown in the bottom half of the display.
The user can use this interface to add, edit or delete products within the store catalog.
If the user selects the Products tab and the Pricing descriptor subtab, he/she will be presented with a window that allows him/her to modify the product pricing. The pricing entry window includes support for base price and sale pricing with sale start and end dates. This is functionally represented in figure 21.
Figure 21. Product Pricing Selections
If the user selects the Products tab and the Attributes descriptor subtab, he/she will be presented with a window that allows him/her to modify the product attributes. This interface may be used to associate and/or edit one or more attributes with the product. This is functionally represented in figure 22.
Figure 22. Product Attributes
If the user selects the Products tab and the Images descriptor subtab, he/she will be presented with a window that allows him/her to modify the product images. This interface may be used to associate and/or edit one or more images with the product. This is functionally represented in figure 23.
Figure 23. Product Image Selection
This subtab includes a pushbutton that allows the administrator to navigate their local file system to find an image to be uploaded to the server.
If the user selects the Products tab and the Descriptions descriptor subtab, he/she will be presented with a window that allows him/her to modify the product descriptions. This interface may be used to associate and/or edit one or more text descriptions with the product.
When the administrator selects the Classifications tab the Admin application window will be redrawn to show the classifications that characterize the product hierarchy. This interface may be used to create and/or edit the product hierarchy and to assign or modify the products that are associated with the selected category. This interface is functionally represented in figure 24.
Figure 24. Product Hierarchy Selection
The selector at the top of this display window may be used to select one of several product hierarchies that correspond to different views within the catalog.