Ecommerce Subsystem (explained for MBAs)

of the Ecommerce Module documentation (this small part of which was written by Philip Greenspun)
The big decision:
  1. you are the retailer
  2. you send all orders to one retailer
  3. you offer products and send orders to multiple retailers
  4. you let an arbitrary number of retailers come to your site and build shops (Yahoo! Store; Amazon Z Shops)
ACS supports the first three ways of doing business and will eventually support the last one (clone of Yahoo! Store).

High-level features

If your imagination is limited, you can think of this as " in a box". Is is it impressive to do everything that Amazon does? Not really. Ecommerce is a fast-moving field. Packaged software always embodies last year's business ideas. The interesting thing is how quickly one can extend an open-source software system to accomodate the latest business ideas.

Feature List

in MBA-speak translation for programmers
catalog engine Oracle table (ec_products) plus extra tables for mapping to categories, subcategories, and subsubcategories; bulk upload from structured data
e-recommendation engine Oracle table (ec_product_recommendations) mapping products to categories, subcategories, for everyone or only a particular class of user
e-review technology Oracle tables for professional reviews and customer-contributed reviews
shopping cart Oracle tables (ec_user_sessions, ec_orders, ec_items)
real-time credit card billing CyberCash and CyberSource interfaces
user tracking log every page view and search
integrated customer service (telephone, fax, email, and Web) all interactions logged into same Oracle table; inbound email handler (Perl script); call center staff sit at Web browsers and use the /admin/ecommerce/ pages
CRM write custom rules for standard ACS CRM module
intelligent agent Oracle query for "users who bought X also bought Y"
content management with visual interface Web forms plus auditing of all changes
discounts for different classes of user Example: MIT Press wants to sell journals at different rates for individual, institutional, and student subscriptions
cross-sales platform Oracle table of "if you're interested in X, you probably also should buy Y"; links are unidirectional
object-oriented design per-publisher custom fields table to add arbitrary attributes to products
intelligent parametric and free-text search engine pseudo_contains if you want to have an easy Oracle dbadmin life; Contains (Intermedia text) if you don't; limit to category at user's option
gift certificates auditing and mandatory expiration
enterprise-scale e-business solution add more processors to your Oracle server
highly scalable transaction engine orders are inserted into Oracle table
XML-enabled download free Java XML libraries from Oracle

Bottom line

If a closed-source ecommerce package doesn't do exactly what you want, you're out of business. If the company behind a closed-source ecommerce package goes out of business, so will you. If the company behind a closed-source ecommerce adopts a different "business model", you're screwed.

If you're even tempted to adopt a commercial ecommerce system from a company other than IBM, Oracle or SAP (three enterprise software vendors that seem likely to be around for awhile), read the iCat story towards the end of