MCS HOME > DEMOS Portfolio > E-Commerce Building Blocks.
E-Commerce Building Blocks
A few years ago, an e-commerce web site required a staggering inventory of technologies that barely interoperated, and highly paid people to operate them. Those who could not manage the technology often had to have deep pockets, and there was a vast gap between the e-commerce "haves" and the "have-nots". Soon, new businesses were springing up to address the needs of merchants at every level. Some were software vendors, assembling interfaces and pieces of technology into "e-commerce products" that were little more than boxed-script solutions. Still, only a relatively small segment of the market was able to build and manage a successful e-commerce presence.
Today, there still remains a dizzying range of solutions with as broad a range of capabilities and prices. Choosing the right e-commerce solution for your business can be daunting. The most successful businesses using e-commerce as a channel are those that focus on their requirements and plan, implement and measure, analyze and change. Those that failed to plan, planned poorly, and abandoned common sense in favor of rushing to follow trends are no longer among us.
Your needs will drive your selection of solutions and vendors. The solution you choose must address the needs of your business processes. It must help you present your product information, help you collect orders securely and efficiently, help you fill orders, help you manage your inventory, and help you manage your relationship with your customers.
Before you can evaluate e-commerce products, you must establish your needs and requirements. Create a roadmap of how orders will be processed, who will do that processing, and the criteria for measuring your success at every step. The time you spend doing this will be salvaged when you've avoided false starts, miscommunications with vendors, and wasted money on a solution that doesn't meet your needs.
Building and Managing the Front End:
Before someone can make a purchase, they have to find what they want to buy. Your web site is, of course, the display of your wares to the potential buyer. Generalizing a bit, the catalog portion of your web site can be either static or dynamic. A static catalog is built using static HTML pages; that is, using pages that do not and cannot change in any way unless someone actively changes the HTML that presents the page content and posts it to the web site. In contrast, a dynamic catalog is built using dynamic content, in which elements of the page, or perhaps even the existence of the page, are determined at the time the page is requested and may be driven by an external source of data such as a database.
To illustrate the difference between a static and a dynamic catalog and the impact it has on site maintenance, let's take a small example. Imagine you run an online store that offers 100 products. Your store is fairly active, so it's not unusual for a product to run out of inventory temporarily. From time-to-time, you offer some of the products at a reduced price for a short period to stimulate sales. As your suppliers offer new products, you in turn offer those products on your site for sale; older discontinued products have to be removed from the site permanently once sold out of inventory.
In a static catalog, the information about product is hard-coded directly into the web pages of the site. The categorization of products is determined by what images and text you show on each page. It's likely that you would have to write a separate page for each product with all of the detailed information about that product, and that you'd have a separate page for each category that shows in some form the products in that category. If an item becomes temporarily unavailable, you have to go to the item's detail page using your web site editor and replace the "Add to Cart" link with an "Out of Stock" button. You may also have to do the same thing on the category page that shows the product's category. At some later date when the item becomes available again, you have to go in and change both pages back.
This process is tedious and error-prone, and doesn't scale when the store grows. The more products offered, the more difficult the task of maintaining all of the pages. Because some data (like a product name, price or description) may appear on several pages, it's easy for consistency to be lost when changes are made to one page but omitted from another. If a big change in site layout is made, it may be necessary to change every page in the site by hand, page by page. This can introduce errors where the web page may advertise the price of a product as $20.00, but the e-commerce system reports $25.00 when the item is added to a customer's shopping cart.
A dynamic catalog, however, driven from a database or other data source that is not the page itself, typically uses templates to present data. Data is requested from a data source and passed to a template to be formatted as HTML markup. A simple dynamic catalog may, then, have only two templates: one that shows the items in a
category, and another that shows the detail of an item. Which category or which item is determined at the time the page is being viewed, so the HTML is built "on the fly," and these two templates serve any number of products and categories equally and with no additional labor, even if the number of products climbs to the thousands and higher. The advantages of dynamic content are many, including simply that the e-commerce system itself can be the single source of product information, delivering it to the templates for formatting in the site's presentation style. Chances are that most of the online stores you frequent are dynamic. The easy way to tell is simply navigate to a category or product page on the site and look at the URL. If the URL ends with ".htm" or ".html" it's probably static; if the URL ends with ".jsp", ".asp", ".cfm", or of course ".php", it's probably dynamic.
(Please visit our Booklist Database Demo at
Are You Being Served?
Your e-commerce system will run on a web server. How and where this is done depends on the type of solution you select. Of course, running your own server is one option...
Until, then, you can choose a virtual solution. An Application Service Provider (ASP) might offer a possible e-commerce application. ASPs that specialize in e-commerce application services are also referred to as MSPs (Merchant Service Providers) or CSPs (Commerce Service Providers). In any case, the ASP has a software solution that it has built, and that it operates entirely on its own hardware. The ASP takes care of all the maintenance, and may even provide upgrades, for a nominal monthly fee that's easier to digest. Access to the software is typically through web-based interfaces, so it's easy to manage the application and focus on running the business. ASPs with custom software solutions can not only deliver high value, but also offer levels of integration with other systems (such as your in-house legacy ERP system) that may otherwise be difficult to achieve. They are also in complete control of the product experience, so they can fix readily bugs that may arise, and quickly and transparently scale operations to match demand when your store really takes off.
Many Internet Service Providers and web-hosting companies offer a mix of the two: they purchase an e-commerce product and install it on their servers, allowing access to it through web-based interfaces just like a true ASP product, but at bargain-basement prices. Evaluate these solutions carefully. Because the provider is not focused on e-commerce as a core business, you may not be able to get the support you need to develop and maintain your site, and the offering may be a tightly constrained "cookie-cutter" solution that won't scale when your business grows. They also may not own the product, so if you discover a bug, you may not be able to get it fixed until their vendor ultimately releases a new version with a fix in it.
Virtual Hosting: A technology solution which essentially a static IP address (Domain) Directory that can be configured using Server Software such as Miva Merchant, Sub-Domain Hosting, PHP and MySQL Database support, ASP services, Real Servers for streaming audio or video, Majodomo, listserve services, email services, and many other technologies. A multitude of server products available by Virtual Server Plans allow Virtual Webmasters an opportunity to offer their clients more powerful services or a combination of powerful technologies
SHIPPING - Moving Product to the Customer
Once the storefront takes an order, the products ordered have to move to the buyer. While this is an obvious step in the process, it is a critical juncture in your relationship with customers. Your ability to "pick, pack, and ship" the customers' orders become the keystone of the reputation of the e-business. This process can be done either "in-house", on your premises or in one or more locations you own and control, or outsourced to a third party.
For many small enterprises, the apparent cost savings of doing fulfillment in-house is attractive. When considering this option, weigh the needs of space for the operation, as well as the cost of resources. Remember that filling these orders quickly and correctly is "job one" in the customer's eye, so asking an existing employee to be the part-time shipping department in addition to his current responsibilities is a recipe for trouble. For starters, you need a secure place to keep inventory that is waiting to be shipped to customers. The location also needs to have space for your packaging materials and collateral materials that you may want to include in every order or with certain products, as well as adequate space to perform the actual act of packing the shipments. Once packed, shipments will need temporary storage space until picked up by the carrier, and if you anticipate using multiple carriers, you'll want to have enough space to keep the outbounds separate for each. Of course, you'll also need resources to manage any returns that come back from customers, or are returned by a shipper, having never made it to a customer at all. You'll need to make sure your inhouse staff is up to the task. They'll need the time, the space, the resources, the training, and they need to be measured and rewarded for their successes. In-house fulfillment can be cost effective and an excellent way to maintain your quality standards, but don't fool yourself into thinking that anyone with some spare time can do it consistently well.
Outsourcing your fulfillment is an excellent way to expand your capacity when resources are scarce, space is tight, or volume is simply too high for you to practically manage. Outsourced fulfillment centers operate on the basis of economies of scale, handling fulfillment for multiple customers with resources trained and dedicated to the process of shipping products. Effectively, space in their warehouse is rented to you for the storage of your inventory, and there are usually additional charges for handling and some markup of the shipping costs. Some also offer customer service through their own call centers, so that your customers can call them for status updates on a shipment, or request to return a product, for an additional charge. While it may seem like these costs erode profitability, they need to be weighed against the cost of hiring and managing an adequate in-house staff. Also, be aware that setting up in-house fulfillment or sourcing outsourced fulfillment is a project unto itself. Plan how you want your products delivered, which might also include choosing packing materials and establishing standards for how your products are packed.
Whether you choose outsourced fulfillment or in-house, your e-commerce system needs to help you manage the fulfillment process. Check out Drop Shipment Fullfilment Services, too.
Affiliate & Associate Reselling Resources:
Amazon, CafePress, eBay, among a multitude of others.
ACCOUNTING - Shipping, Tax & Banking
Most businesses of any size have a department that is dedicated to maintaining the financial responsibilities of the business. You'll need to involve them in the determination of what to charge for shipping, when and how to collect sales tax (and other taxes as needed), and how to move the money that is charged to customers in response to orders and shipments.
Determining what to charge for shipping can also be a long-lead task. There are many different models and possibilities, although by far the most common is charging various amounts based on the weight or cost of the order. Even the largest online stores don't seriously attempt to model their actual cost exhaustively. It's just not a practical approach, since you don't know in advance how an order will be packed, and for most carriers, size matters. However, most carriers publish tables of approximate cost for shipping a nominal size package of a specific weight between two destinations. This information can be used to develop an approximation of the actual cost. If the solution is capable, exceptions can be made for certain items that have unusual dimensions or special packaging requirements that would drive up the cost.
What you charge for tax, and when, is critically important to get right. Your business may be subject to penalties and interest when the correct tax is not collected and reported. While the "when, how and what" of taxation is controlled by the Finance department, you'll need to get those requirements from them up front, and make sure those requirements are present in your solution selection criteria. An e-commerce solution that is integrated with a tax system or database can be a quick, reliable solution to a problem you may not realize you have for months.
Finally, once you know what to charge a customer, you have to be able to move the money. Most e-commerce systems support online credit card transactions. In order to process transactions, you need a merchant account, a special bank account that is used to receive funds charged to your customer's credit cards. Credit card authorization is based on old technology and standards, and typically involves a lot of players. In a simplified view, there are four entities involved in every credit card transaction:
- The Issuing Bank-the bank that issued the customer his credit card;
- The Acquiring Bank-the bank that holds your merchant account;
- The Processor-can be a bank, but more commonly a business entity owned by or affiliated
with a bank, that initiates and manages the funds transfer between the issuing bank and the acquiring bank;
- The Card Brand-the business that owns the credit card brand (e.g. Visa). In some cases, for example, American Express, the card brand is also effectively the issuing bank.
The e-commerce system contacts the processor, instructing it to initiate an authorization (a test to see if the credit card has the funds available), and later a settlement (an acknowledgement that those funds should, in fact, be transferred). The processor determines which of the many issuing banks is associated with the shopper's credit card, and initiates a funds transfer between that bank and your merchant (acquiring) bank account. Merchant banks typically form relationships only with certain processors. E-commerce systems also support only certain processors. You will want to make sure that your solution supports a processor that you merchant bank will support.
If you don't have a merchant account, your e-commerce solution vendor may be able to help you get one, but a good place to start is the bank where your company currently does business. Whatever the source, the bank will likely charge several fees, including a discount rate, which is a percentage of each transaction the bank will charge you. Banks typically charge more for Internet-based transactions than other types. Sourcing a new merchant account, or connecting to an existing one, is typically within the control of the Finance organization in most companies. Stay close to this process, because it can turn into a long-lead task that ends up being on the critical path to opening your online business.
Miva Merchant, VeriSign, PayPal, eBay, and Affiliate Programs (such as Amazon).
At some point, your customers will want to contact you. How that contact is handled can, of course, determine whether or not that customer ever contacts you again, in any way. A good way to make a bad impression on a customer and frustrate a good Customer Service Representative is to not have information about customers and their orders readily available. Therefore, a baseline requirement for your e-commerce solution is that it should track orders and customer history, and present interfaces that Customer Service can immediately and quickly use to view that history. Shipping and payment information should be available for each order, preferably with quick access to tracking information. Many of these services can be offered online to your customers, but your direct contact information should be available in some form.
Essential PHP Tools: Modules, Extensions, and Accelerators
David Sklar. Apress (www.apress.com) ISBN: 1-59059-280-8.
This book is the essential guide to some of the best free add-ons to PHP. Topics covered in this text include Auth and HTML_QuickForm (two PEAR modules), Xdebug, Smarty Templating, Code Caches, and developing robust SOAP Services.
PayPal Hacks: 100 Industrial-Strength Tips & Tools
Shannon Sofield, Dave Nielsen & Dave Burchell. O'Reilly (hacks.oreilly.com) ISBN: 1-596-00751-5.
Learn to use PayPal as a transaction provider for your e-commerce. PayPal's Shopping Cart system can be integrated into you own web site.
eBayHacks : 100 Industrial-Strength Tips & Tools
David A Karp. O'Reilly (hacks.oreilly.com) ISBN: 1-596-00564-4.
Learn to use the vast eBay online community as more than just an auction web site. This book will help you understand the complexities of eBay's advanced tools to streamline buying, selling, communications, checkout, and ultimately, your profitability.
Amazon Hacks : 100 Industrial-Strength Tips & Tools
Paul Bausch. O'Reilly (hacks.oreilly.com) ISBN: 1-596-00751-5.
Get the most out of Amazon, a sophisticated recommendation system, a rich community of buyers and sellers, and a syndicated e-commerce engine. Become an Amazon Affiliate, develop your own online storefront using Amazon's billing, inventory, and marketing infrastructure.
Creating Stores on the Web: 2nd Edition
Ben Sawyer, Dave Greely, Joe Cataudella. Peachpit Press (http://www.peachpit.com/) ISBN: 0-201-70005-0.
All the basics of setting a successful web site store including how to process payments, market and promote your site, manage inventory, and more.
Internet Site Statistics & Research (www.idc.com) (www.jup.com) (www.statmarket.com)
Getting Found (www.google.com) (www.hotbot.com) (www.submit-it.com) (www.altavista.com) (www.askjeeves.com) (www.excite.com) (www.goto.com) (www.go.com) (www.lycos.com) (www.webcrawler.com) (www.yahoo.com)
Link & Banners Exchanges (www.linkexchange.com)
Online Malls (www.aol.com) (www.amazon.com) (www.ebay.com) (www.imall.com)
Payment Acceptance (www.visa.com) (www.mastercard.com) (www.americanexpress.com) (www.discover.com) (www.cybercash.com) (www.authorizenet.com) (www.cybersource.com) (www.clearcommerce.com) (www.icoms.com) (www.globeset.com)
Shipping (www.fedex.com) (www.airborne-express.com) (www.dhl.com) (www.usps.gov) (www.ups.com)
Catalog Building (www.amazon.com) (www.econgo.com) (www.freemerchant.com) (www.bigstep.com) (www.excite.com/storebuilder/) (www.merchantplanet.com)
Php & MySQL opensource & Zend Studio (www.zend.com)
Smarty (http://smarty.php.net/) - A Php Template Engine
Forms To Go 2.5.8 - Create custom PHP, ASP or Perl for your HTML forms and send the field values thru email.
Secure Sockets Layer (SSL) & Secure Electronic Transactions (SET)
Electronic Software Distribution (ESD)
Related Information Available as Downloadable PDFs:
Be sure to download our
MCS Web Packet (Acrobat PDF)
In-depth Web Design Technologies and Implementation
Our Full-Color General Services Brochure (Acrobat PDF)