Building an Electronic Store
An electronic business is a synthesis of two elements: business logic and technology. Robust business logic and technology can spell success for any electronic business, whereas weaknesses in these elements typically leads to disaster. The strengths and weaknesses of business logic are vast and varied, and consequently, beyond the scope of this book. Hence we focus on the technological elements of an electronic business.
Figure 10-1 and 10-2 show how a business evolves from a brick-and-mortar entity to an electronic entity.
Figure 10-1. Elements of a traditional business
Figure 10-2. Elements of an electronic business
The traditional interface between a company and its customers is the storefront. Customers walk into a store and look around for items they are interested in buying. As they walk around, they select the items they want to buy. Once they are satisfied with the items that they've selected, or when it dawns on them that they may not have enough money to pay for any more, they go to the checkout counter and pay for the items.
An electronic storefront functions the same way. It comprises a store front-end, a shopping cart, and a checkout station.
The Store Front-End
The store front-end displays products, allows a customer to learn more about the products if they so desire, and provides pricing information for the products. Technologies used in the store front-end are mainly aimed at smooth navigation and information dissemination. HTML or dynamically generated HTML is mainly used here.
The Shopping Cart
The purpose of the shopping cart is to maintain an ongoing session with customers and allow them to select and collect items that they're interested in purchasing before they have to pay for them. Technologies involved in this component revolve around session management, state tracking, and interfacing with front-end navigation. Shopping cart programming is usually done with scripting technologies such as Perl, PHP, or ASP, or by using readily available components—either in the form of precompiled binaries or object-oriented components, such as Java classes.
The Checkout Station
The checkout station connects the store with a bank or a credit card processor, such as Verisign or Cybercash. To handle transactions, these companies provide payment gateway systems that enable the application to exchange the buyer's monetary instruments for the services or products requested. The checkout station also ensures that an order for delivery of the purchased items is placed with the clearinghouse or inventory management system and that the shipment is initiated. Every completed transaction updates the quantities of items in the storefront.
The Database
Keeping records during the various stages of product purchasing is handled by a database. It tracks inventory, order details, financial transactions, customer information, and the like.
Putting It All Together
Figure 10-3 shows how the various elements come together to form an electronic storefront.
Figure 10-3. Building blocks of an electronic storefront