Web E-Commerce
Ch. 9 Lecture Notes

You should read all of Chapter 9 but focus on pp. 397-421.

Objective #1: Explain the advantages and disadvantages of Web hosting services.

  • Some medium and most large businesses host their websites on their own web servers. Our textbook calls this self-hosting. This gives the company total flexibility to handle ecommerce however they would like. They can use customized applications and control the security of the server more closely. This option is expensive however and requires a good amount of technical expertise.
  • However, small businesses and many medium-sized businesses host their websites with a hosting provider (aka commerce service provider, managed service provider, or application service provider). The business doesn't have to worry as much about the security of the site since it will be left in the hands of professionals who specialize in hosting websites. Using a hosting provider usually guarantees a good T3 connection to the Internet because hosting providers are connected to an Internet backbone. Even if a large business hosts its own server in the middle of nowhere, the website may not be able to handle as much traffic as a colocated server.
  • There are several ways that a business can host their website with a hosting provider:
    • shared hosting - hosting provider owns equipment and maintains both equipment and the software. The hosting provider fully controls what programs are installed on the server. One server can host over a thousand websites. Often, shared hosting providers offer specific plans for ecommerce that include SSL certificates, shopping cart software, streamlined gateway applications, etc.
    • dedicated hosting - hosting provider owns and maintains the equipment. The business can log onto the server to perform installations of some software and certainly the business can FTP files to the server.
    • colocation - the business buys a computer and the necessary web server software and installs at the hosting providers business. The hosting provider maintains the power supply and Internet connection. Here is a good article that reviews colocation and its advantages and disadvantages.
  • The List, HostIndex, TopHosts.com, and HostSearch are among a number of sites that reviews various shared hosting accounts.
  • Shared hosting is always cheaper than dedicated hosting which is cheaper than colocation. Examples of shared hosting providers is 1and1, GoDaddy, and LunarPages and many, many others. Practically all shared hosting providers also offer dedicated hosting plans. Examples of colocation are CIHost, Hosting.com,
  • It's important for a company to be sure that its website is scalable and that it can efficiently grow in size. Before choosing a shared hosting provider, you should evaluate their various hosting plans to see if they offer shared hosting with ecommerce packages and dedicated hosting.

Objective #2: List and explain the functions of electronic commerce software.

  • A company uses electronic commerce software to display and/or sell products online. Minimally, an ecommerce software solution must have the following parts:
    • a catalog,
    • a shopping cart, and
    • transaction processing.
  • Larger ecommerce applications may have additional components that include
    • middleware that ties the online ecommerce system to the company's inventory, order processing, & accounting software
    • enterprise application integration (EAI)
    • Web services
    • integration with enterprise resource planning (ERP) software - packages that integrate accounting, logistics, manufacturing, marketing, planning, project management, etc such as Oracle, PeopleSoft, and SAP
    • supply chain management (SCM) software
    • customer relationship management (CRM) software
    • content management software
    • knowledge management software
  • Catalogues
    • A catalog displays a company's products. A catalog could be as simple as a bunch of thumbnails and captions on one HTML web page. Or it could consist of separate HTML pages for each product item. These types of catalogues are static since the do not change based on any interaction between the user and the website. The website designer must manually update the HTML to edit, delete, or add items.
    • A dynamic catalog typically uses a database to store the product information. This allows the company to manipulate the catalog easily by adding and deleting product information. The database is stored separately from the HTML files that serve as the "frontend" of the catalog. The database is definitely located in a different directory on the web server but is often stored on a different server (i.e. a database server).
  • Shopping Cart
    • Technically, a business doesn't need to allow a customer to select desired products and place them into a virtual shopping cart. The customer could simply be presented with the catalogue and be expected to write down the product names or part numbers on a piece of paper and mail or call the order in to the company.
    • But, it's more or less expected these days, that a customer be able to choose items and store them in a shopping cart which subtotals the price of the group of products. The simplest shopping cart would be a simple HTML form that allows the customer to fill in text fields for the quantity of each item to be ordered. With a little JavaScript, the page can display the total price as the customer inputs each item. This would work fine for a company that has a small number of products.
    • A contemporary shopping cart allows users to point and click to choose items even if there is a wide range of products for sale. Since this type of shopping cart extends over multiple pages, either client or server cookies need to be used to keep track of a customer's order. Client side cookies use JavaScript which is sometimes disabled by security conscious customers. Server side cookies use session variables and a scripting language like PHP to keep track of the order. Mathematical calculations can be done with JavaScript or PHP in this scenario. Though it may be necessary to pull tax and shipping information from the web server (i.e. PHP) or even directly from the shipping company (USPS, UPS, Fed Ex, etc) via a Web service or online cgi.
    • There is quite a bit of open-source (i.e. free) and inexpensive (less than $150) shopping cart software that can be installed to serve as a catalog and a shopping cart. Some have very low learning curves and don't require any scripting knowledge (JavaScript or PHP). Others are highly customizable but can be expensive and difficult to program. Often one or more of the free open-source solutions are available as part of a hosting account with a hosting provider. Examples include CartIt!, SalesCart, WebGenie, Zen Cart, CubeCart, Quick Cart, and OSCommerce. Visit sourceforge.net to see many free or inexpensive shopping carts.
  • Transaction Processing
    • After a customer has viewed the products in a catalog and stored his choices in a shopping cart, an ecommerce solution needs to allow the customer to make the purchase. Transaction processing occurs after he/she has reviewed the contents of the shopping cart and clicks a submit button. This should be done over a secure connection between the customer's client computer and the web server. This kind of connection usually uses SSL (Secure Sockets Layer).
    • The transaction processing step occurs on the web server using a scripting language such as PHP, ASP, JSP, or ColdFusion. The transaction may even update internal inventory or accounting systems.
    • Big companies often use middleware to connect their ecommerce system with their existing accounting system. Middleware can be expensive since it is a complicated task to merge big systems together especially if a consultant needs to be hired to deliver a flexible solution.
  • Enterprise Application Integration
    • Enterprise Application Integration ties together various applications (accounting, billing, inventory, customer service, etc). Since data formats may be inconsistent between various systems programmed by various vendors or at different times, programmers are using XML to communicate data more easily. For smaller companies, its mostly page-based applications that use PHP, ASP, JSP, or ColdFusion to connect related data to formatted output. But for large companies Enterprise JavaBeans (EJB), Microsoft Component Object Model (COM), and the Common Object Request Broker Architecture (CORBA) to implement the business logic.
  • Databases
    • Since databases are virtually required to run large catalogs and shopping carts, big companies tend to use IBM DB2, Microsoft SQL Server, or Oracle. These commercial databases are quite expensive. Smaller companies use the very robust database system MySQL.
  • Web Services
    • Web Services are becoming popular. There are applications that allow software developers in one location to use techniques of other developers from other companies in other time zone. The standard protocols for Web Services are SOAP, UDDI, and WSDL. As long as the XML format is agreed upon, a company can send a real-time flow of data to another company that is in then used to influence another companies decisions.
    • Microsoft's .NET platform and Sun's Java 2 Enterprise Edition (J2EE) are popular with large companies.
    • The promise of Web services is that middleware won't be needed to connect legacy applications with ecommerce solutions.
  • Mall-Style Commerce Service Providers
    • Some ecommerce providers aim to give small businesses an easy method to creating an online presence. Yahoo Small Business Merchant, eBay Stores, Bigstep, and others have packaged hosting plans that help a business do everything from creating a basic home page with minimal HTML knowledge to building a catalog of products and registering with a credit card processing gateway. These service providers often don't allow the flexibility that even a shared hosting provider gives but they provide exposure and marketing.

Objective #3: Use & customize an OSCommerce installation.