StoreFront 6.0 White Paper

 

Executive Summary

The goal of this white paper is to, first, provide an overview of the characteristics that define an effective e-commerce application and to illustrate how StoreFront 6.0 exhibits these characteristics by being flexible, reliable, scalable, and easy to use and deploy.  This introductory section is followed by "Application Architecture" - a technical section describing how StoreFront 6.0 is built, what technologies it uses, and how the parts of the application interact with each other.  Finally, "Functional Overview" details the steps involved in two of the most common events in a StoreFront 6.0 web store: how a customer places an order, and how a merchant processes that order.

The Evolution of E-Commerce
As the e-commerce industry has evolved, it has become clear that the basis for a successful e-commerce application must extend beyond the minimal functionality which characterized solutions that led the vanguard of the movement.  To be an effective solution in today's market, any e-commerce application must address the needs of its users in four primary areas:

           

Flexibility:

e-commerce applications must be able to offer flexibility by providing an initial feature set rich enough to fulfill the needs of a wide range of users.  For those users whose needs can not be easily met by the initial feature set, the application should contain provisions for the extension of its functionality through customization and the creation of modules by third parties to provide additional features.

 

Scalability: 

any e-commerce application must be able to grow on demand to meet the needs of its users.  Increases in inventory size, inventory complexity, or order volume should be met without difficulty.

 

Ease of Use: 

as the popularization of the Internet continues, the need for e-commerce solutions is extending to every corner of the business sector, encompassing the entire spectrum from large wholesalers to small-time retailers.  As a result, web designers and other IT professionals must meet the needs of this growing demand with intuitively designed, rapidly deployable e-commerce applications.

 

Reliability:

if a business' internet presence isn't operational, online shoppers won't wait for it to be fixed - they will simply go somewhere else.  Any e-commerce application must be built upon a foundation of experience and utilize proven technology for maximum reliability.

 

 

These basic tenets are the guidelines which have governed the design and development of StoreFront 6.0. 

 

Flexibility:

StoreFront 6.0 is designed with a native feature-set rich enough to address the needs of a wide variety of e-business operations.  These include:

Customer-specific pricing:  StoreFront 6.0 allows merchants to vary the price of an item based on the user who is placing the order.  This functionality lends itself well to subscription-based services and retail/wholesale operations.

 

Account Management Tools:  StoreFront 6.0 provides customers with an array of account management tools, including an Address Book that retains shipping addresses for easy retrieval in repeat orders, order history reports, and order tracking tools. Each customer is also allowed to compile a private Wish List of items for purchase at a later date or to be emailed to another user.


Multi-level Tax Calculation:  StoreFront 6.0 supports three levels of tax calculation: State/Province, Country, and Locale/Postal Code.

 

International Currency Support:  StoreFront 6.0 provides full support for every currency type and locale supported by Windows.

 

Currency Conversion:  integration with OANDA allows customers to view prices and other monetary amounts in any of over 160 different currencies with just a few mouse clicks.

 

Promotional Tools: StoreFront 6.0 includes an impressive set of promotional tools designed to attract customers, including: e-coupons; gift certificates; store wide, product, category, manufacturer or vendor specific discounts; a promotional mailing tool that can be used to send plain text or HTML emails to customers subscribed to the store's mailing list.

 

Advanced Inventory Features:  StoreFront 6.0 includes advanced inventory definition and management tools designed to accommodate a wide variety of product lines.  Inventory Tracking allows merchants to monitor and control inventory availability online.  Product Attributes allow an unlimited number of variations to be created for each product item, and the attributes chosen by a customer can be made to alter the price and weight of an item.

 

Downloadable Merchandise Support:  to support merchants who deal in downloadable merchandise, automated download distribution has been implemented in StoreFront 6.0.

 

Flexible Shipping Rate Calculation:  StoreFront 6.0 web stores can be configured to use any of three different shipping rate calculation methods, each of which figures shipping based on a different criteria: product weight, total cost of the items in an order, or a flat per-unit shipping fee per item.  Any item can also be made exempt from shipping charges.  In the case of weight-based shipping, rates are obtained directly from the UPS, USPS, CanadaPost, FreightQuote, and FedEx servers.

 

Flexible Payment Method and Processing options:  customers placing orders in a StoreFront 6.0 web store can pay for their orders using credit or debit cards, electronic checks, purchase orders, COD, or PayPal.  Payment can be accepted in any of these forms without requiring subscription to a third-party processing service; however, those merchants who choose to may establish an account with a transaction processing service for real-time processing of credit and debit cards and, in some instances, electronic checks. 

Advanced Sales Reporting Tools: StoreFront 6.0 includes an array of sales reporting tools designed to return detailed information about different aspects of the ordering activity in a web store.  Reporting tools can be used to view specific orders only; all orders within a specified date range; most popular products within a specified date range; net and gross sales for a specified date range, and more.

 

Design Flexibility:  almost any existing web site hosted on an IIS server can be e-commerce-enabled through the addition of StoreFront 6.0 without requiring any substantial changes to the design of the site's pre-existing pages.

 

Extensibility:

To accommodate those users whose needs are not met by its default feature-set, the functionality of StoreFront 6.0 can be easily customized and extended.  This is accomplished through the use of open source, fully customizable ASP.NET application pages and documented .NET objects and API's.  The database used by StoreFront 6.0 web stores can also be easily modified to accommodate new functionality. 

 

Scalability:

The variety of existing StoreFront web stores is itself a testament to the scalability of the application: the same platform which drives small sites with an inventory of only a few dozen products also provides the engine for web stores with inventories of more than 30,000 items.

 

StoreFront 6.0 is built on the fundamentally scalable technologies like SQL Server and ASP.NET.  The design principles of StoreFront development team have further enhanced the innate virtues of this foundation by striving to deploy optimized and highly efficient code to limit the consumption of server resources and maximize processing speed, providing for painless expansion and evolution.

 

The content of the Catalog Pages and Product Pages which display the inventory of a StoreFront 6.0 web store can be designed to be fully dynamic, pulling the latest information from the store's database each time they are viewed.   By thus eliminating the necessity for manual page updates, the maintenance tasks required for a StoreFront 6.0 web store can be greatly reduced.

 

Page maintenance can also be reduced through the use of the StoreFront Design Tools. These tools allow centralized control over many of the shared design parameters used by a StoreFront web store's pages, such as banner images, background colors, and the width of the main page content table.  Any changes to web store's design template through the Design Tools will be instantly reflected by all the pages using the design template.

 

Ease of Use:

Because it uses the services provided by IIS and the .NET Framework, StoreFront 6.0 can be quickly and easily deployed on most Windows servers without requiring the installation of any additional components or software.  Services such as payment processors and real time shipping rate calculation may require the installation of third-party software, but the StoreFront 6.0 application does not. 

 

The actual deployment and installation process itself has been streamlined through the use of automated tools and wizards, such as the Web Setup Wizard which adds the StoreFront 6.0 application files and .NET objects to a web site.  On a connection of reasonable speed, a StoreFront 6.0 store can typically be deployed and its basic functions configured within 15 minutes of gaining access to the server. 

 

Typically, the next step following the installation of the application files into a web site is the construction of the database of product records that will act as the site's inventory.  To expedite this process, StoreFront 6.0 is distributed with a set of data transfer utilities to allow its users to import large numbers of product records from an external data source - such as a character delimited text file or dBASE file  - directly into a web store's database.

 

Once a web store's inventory has been constructed, Catalog and Product Pages are created for the purpose of displaying and selling the items in the inventory.  To reduce the time that web developers and designers must invest in the creation of page designs and layouts, each StoreFront 6.0 web store includes a collection of ready-made design templates that can be used as-is or modified to provide a more individual feel.  Developers can also create their own design templates from the ground up.

Reliability:

An important factor to consider when evaluating StoreFront 6.0's reliability is the relevant history that preceded its development.  LaGarde has been developing e-business applications for the internet since 1996 and released the first version of StoreFront in 1997.  Each version of StoreFront released since then has been met with increasing success, and StoreFront solutions now serve more than 25,000 merchants in over 70 countries worldwide.  LaGarde's goal is that StoreFront 6.0 will be the summation of the experience and insight gained by serving and supporting this community of users.

 

It should also be noted that StoreFront 6.0 is built on a foundation of tested and proven technologies in Microsoft's ADO API and .NET platform.  Stringent testing and conservative development standards are also employed to ensure that the code which composes the StoreFront 6.0 application is reliable and efficient. 


Application Architecture:

The StoreFront 6.0 Application is composed of three major components: the server-side, ASP.NET front-end; a SQL Server or Access database backend; and a set of client-side development tools.

ASP.NET Front-end

The server-resident portion of StoreFront 6.0 is a collection of non-compiled ASP.NET pages and compiled .NET objects which reside in a user's web.  This portion of the application can be visualized using a four-tier model that is characterized by increasing orders of complexity at each subsequent layer: at the first and simplest layer, the pages are presentation-oriented, with application logic and complexity of operation kept to a minimum.  Complexity increases further at the second layer, but remains primarily presentation-oriented.  The third and fourth layers of the application are where the most complex logic and operations are performed, such as database access.  The code that composes these portions of the application is compiled to maximize efficiency and processing speed. 

 

Layer 1: Presentation Pages

The first layer of StoreFront 6.0's server-side component consists of a collection of ASP.NET pages and web controls.  The purpose of this layer is to provide the basic framework, layout, and design of the interface that customers will interact with when they browse the inventory of a store, purchasing items and performing other, related activities.  No application logic is embedded at this level.

 

Layer 2: Code-behind Pages

Immediately below the layer 1 presentation pages is a collection of code-behind pages that control what content and elements are output into the web controls and framework provided by layer-one.  Application logic at this level is largely restricted to event-handling and simple conditionals to control page output at layer one.

 

Layer 3:  Business Rules and System Base Classes

Layer 3 consists of an assortment of three compiled .NET objects in which the majority of the application logic for the front-end is contained.  The three objects are:

 

Business Rules: Business Rules is a collection of business classes used to perform logical processing tasks directly related to the shopping process, such as creating and maintaining a customer's cart, calculating costs, and processing orders. 

 

StoreFront UI Tools: the StoreFront UI Tools object is a library of server controls that a user can reference from their layer-one pages to display commonly used elements on these pages, such as a running order total or order summary. 

 

System Base:  the System Base object is responsible for creating, maintaining, and accessing the site.xml file.  This is an XML document that is created in each web store, containing frequently-accessed data such as inventory records and page design parameters.  Site.xml is loaded into the server's memory using the ASP.NET cache object and increases the efficiency of the application by reducing the need for resource-intensive trips to the database.

 

 

Layer 4: Data Access

The fourth layer is composed by the Data Access object, a library of classes used to retrieve information from the web store's SQL Server or Access database. 

 

In addition to these components, additional software and components may be installed on the server and used to support third-party services integrated with StoreFront 6.0, such as payment processors or real-time shipping rate calculators. 


SQL Server or Access Database

Each StoreFront 6.0 web store uses a normalized SQL Server or Access database backend.  Database access is achieved through the web store's Data Access object using standard .NET OLEDB classes to allow easy transitions between different database types.  To further ensure compatibility with different database types, the .NET Connection Builder is used to generate the SQL for queries to the database, eliminating potential problems that might arise as a result of the different SQL syntaxes required by different databases.  In general, database access is minimized to decrease resource consumption and increase speed.

 

Management Tools

Administrative and management functions are divided between two sets of tools. The first set of tools, called "client tools", install on the PC where web design and development is performed.  The client tools are accessed through an additional "StoreFront 6.0" menu which appears in Dreamweaver and FrontPage, and through the Objects panel of Dreamweaver.    The functionality of the client tools is geared towards initial site construction, design, and deployment.  The client tools can be used to access and configure any StoreFront 6.0 web store that can be reached via HTTP; no concessions on the part of the host must be made to permit RDS or other atypical methods of access.

 

The second set of management tools used by StoreFront 6.0 is the Merchant Tools.  The Merchant Tools are a set of ASP.NET web pages which reside in each StoreFront web store's "management" folder.  The Merchant Tools are accessed by the web store owner through a browser.  The functionality of the Merchant Tools is geared towards day-to-day store management, allowing web store owners to monitor ordering activity, process orders, and configure the site's business rules -- the settings which control taxation, shipping calculation, discounts, coupons, and related functions. 

 

Functional Overview

The purpose of the following sections is to provide an overview of the steps involved in two of the most common processes that take place in an established StoreFront web store: the ordering process, where a customer compiles a list of items they wish to purchase and checks out; and the order fulfillment process, where the web store owner retrieves the customer's order using the Sales Reports and processes it.

 

Shopping and Ordering

The majority of a customer's time in a StoreFront web store will be occupied by browsing the store's pages and selecting items to purchase.  The primary component of the shopping process is the store's Product Pages.  These are typically existing web pages that have been e-commerce-enabled through the addition of one or more Product Bots.  In its simplest form, a Product Bot is an HTML form element consisting of a text input labeled "Quantity" and an Add to Cart button.  Each Product Bot is associated with an item from the store's inventory.  When a customer wishes to purchase the item represented by a Product Bot, they will enter the quantity they wish to purchase in the Quantity field, then click the Add to Cart button.  The desired quantity will be appended to the customer's order.  Any number of Product Bots can be placed on any page.  A template-based Product Page can also be dynamically generated for any item in the store's inventory.  To dynamically display multiple product items, template-based Catalog Pages can also be generated.

 

Customers can spend any amount of time browsing the store's pages -- Product Pages and otherwise -- and selecting products.  When a customer is ready to check out, they will proceed to the store's shoppingcart.aspx page.

 

Shoppingcart.aspx marks the beginning of the checkout process.  At this point, the customer will be shown the contents of their order, which can be modified to add or remove items.  If the customer wishes to apply a coupon or gift certificate to their order, they can do so here.  When the customer is ready to continue, they will click the Checkout button at the bottom of the page.

 

Following shoppingcart.aspx, the customer will be sent to a login form.  Returning customers will log in using the username and password established during previous orders.  Once a customer has logged in, they will be able to use their saved account information, such as shipping and billing addresses, during the checkout process.  New customers will create a new account by choosing a user name and password.

 

After signing in or creating a new account, the customer will be sent to page which will collect the shipping destination of the order.  Orders can be broken into multiple components, each of which can be shipped to a different address. 

 

The next step in the checkout process consists of a Shipping Summary page which will display the shipping information collected in the previous step for verification. If changes need to be made to the shipping information, the customer can choose to back up and make them. Otherwise, the customer will choose how the order will be paid for and will continue to the next step. StoreFront web stores can be configured to support up to six different payment methods, including: e-check, credit or debit card, COD, purchase order, PayPal, or mail/fax.

 

Based on the payment method chosen by the customer on the Shipping Summary page, a set of forms will be loaded to collect the information needed to bill the customer's order.  If the customer chose Credit Card, the form will collect card number, type, and expiration date; if the customer chose Purchase Order, the form will collect a purchase order number; and so forth.

 

After all the necessary payment information has been collected, the customer will be sent to a  confirmation page. If the customer's payment information is valid, the order will be completed and a confirmation message will be displayed to the customer to indicate that the order was successfully received. This will conclude the checkout process.

 

Order Processing

Each time a customer completes an order in a StoreFront 6.0 web store, one or two emails will be sent to the web store owner to notify them that an order has been placed and requires processing.  Though their contents can be customized, these emails will typically contain a brief description of the customer's order and a link to retrieve the order details from the web store's Sales Reports.  The Sales Reports are a part of the Merchant Tools found in the store's "management" folder.

 

Part of the information displayed about the customer's order will be Payment Status -- Paid or Pending -- and Shipment Status -- Shipped or Pending.  The Payment Status and Shipment Status indicators can be changed by the store owner to reflect the order's fulfillment progress.  Even after the order has been fulfilled and fully processed, it will be retained in the database indefinitely until deleted. 

 

Conclusion

StoreFront 6.0 provides all the elements needed to build and manage a successful e-commerce operation. With a strong architectural foundation, cutting edge .Net technology, and a comprehensive feature set, StoreFront 6.0 is leading the e-commerce solutions market. StoreFront 6.0, the sixth generation of StoreFront e-commerce tools, is the most powerful, proven solution available for the SME market.

 

 

 

StoreFront 6.0 Server Requirements

 

 

Operating System Requirements:

 

 

 

Software Requirements:

 

 

 

Server Requirements:

 

 

 

Services such as Carrier Based Rates shipping calculation and payment processing services may require the installation of additional components.

 

Payment Processors Requiring Component Installs

 

 

 

Carrier Based Rates Requiring Component Installs