Object support for shopping baskets can be divided into two broad categories. The first category contains the objects that Commerce Server offers for accessing the Transactions resource (also known as the Transactions database) and for accessing the Product Catalog resource. The following table shows the main objects used for managing shopping baskets in Commerce Server:
|OrderGroupManager||This object is used to manage OrderGroup objects and their contents without the need to use SQL queries.|
|OrderGroup||This object is used to store, access, and compute basket and order information. Each OrderGroup object contains one or more OrderForm objects.|
|OrderForm||This object is used to store user and purchase information.|
|Various product catalog objects||Some of the properties and methods provided by the product catalog objects that have already been mentioned are also used in the course of adding products to the shopping basket.|
From the shopper's perspective, the products in the shopping basket are associated with the entire OrderGroup object, although the implementation can be set up so that the products are divided among different OrderForm objects within the OrderGroup object according to the vendor associated with that particular product.
The second category consists of the components from the Business Processing Pipeline System. Commerce Server pipelines are used in several different contexts in a typical retail Web site based on Commerce Server, including one that is used to check a basket for errors. In the case of the Commerce Server Retail Solution Site, the pipeline configuration file that defines the pipeline used to check for shopping basket errors is named Basket.pcf and is executed on numerous pages throughout the site.
In Commerce Server 2002, the shopping basket functionality can also be accessed using .NET-managed code using either the Commerce Server Base Class Libraries (BCL) or the Commerce Server Primary Interop Assemblies (PIA). In the BCL, the classes related to shopping baskets and orders have been re-factored a bit to make them easier to use, and are accessed using the namespaces Microsoft.CommerceServer.Runtime.Orders and Microsoft.CommerceServer.Runtime.Pipelines. In the PIA, the classes used to implement shopping baskets are straightforward wrappers of the classic COM order objects, and are accessed using the namespaces Microsoft.CommerceServer.Interop and Microsoft.CommerceServer.Interop.Orders.