Microsoft Commerce Server provides an infrastructure for building e-commerce Web sites. Underlying this infrastructure, a set of inter-related SQL Server database tables have been defined using a schema that captures the needs of an e-commerce Web site. For example, there are database tables that store product information, and others that store information about the transactions that have been conducted. Other tables store information about online advertising campaigns and product specials that are currently being offered to draw additional business. Additionally, another set of database tables, known as the Data Warehouse, makes it easy to archive and analyze historical data.
Accessing and updating database tables directly, using SQL Server user interfaces or programming interfaces is possible, but unwieldy. The problem with using such interfaces directly is that the data exists as isolated bits and pieces, rather than a representation of information that is conceptually familiar to the business people who are working with it. Commerce Server solves this problem with its other fundamental characteristic: a set of user interfaces and programming interfaces designed specifically to access and manipulate the underlying data in terms that correspond to the concepts and processes of the business, not just e-commerce, but commerce in general.
The set of Commerce Server programming objects represents the first layer of functionality above the raw data. These objects provide access to the data in a controlled fashion that presents logical groups of data together, regardless of how they are stored in the database tables. These programming objects also serve to protect the data, ensuring that the data remains internally consistent when updated by users. A small set of catalog objects store information about the set of products or services that the Web site will offer for sale. There are objects used for storing information about users, called the profile objects. In total, there are several dozen objects that are used to represent the various types of information involved with selling products to customers. The latest version of Commerce Server, Commerce Server 2002, also includes versions of the Commerce Server objects that have been enhanced to work properly in the Microsoft.NET environment.
The Commerce Server objects are used by two different types of clients. One type of client is provided ready-to-use and consists of several different user applications that Commerce Server provides. These user applications extend the Commerce Server objects to convey the needs of the business user into the underlying data. The Commerce Server user applications include Commerce Server Business Desk, Commerce Server Manager, and the Site Packager. The other type of client used by Commerce Server objects consists of the retail Web sites that Commerce Server makes possible.
Commerce Server provides several sophisticated sample Web sites that serve as a reasonable starting point for the development of many Web sites. Other sites might have requirements better served by a different design that must be written from scratch. All of these Web sites use Commerce Server objects to retrieve the data that, when formatted and displayed, constitutes much of the Web site content. Commerc Server's design recognizes that different Web sites need to use different sets of Commerce Server objects, each according to its needs.