The Commerce Server Product Catalog System has six different objects, with a combined total of more than 150 properties and methods. These objects provide a structured way to access and extend the underlying database tables used to store the catalog data. The following table lists these objects and describes their main purpose.
|CatalogManager||This object is used to work with the entire Product Catalog System. The methods and properties of this object affect all catalogs contained in the Product Catalog System.|
|CatalogSets||This object is used to work with catalog sets in the Product Catalog System. Catalog sets allow you to present different collections of catalogs to different users and organizations.|
|CatalogToVendorAssociation||This object is used in business-to-business scenarios for associating catalogs with their corresponding vendors.|
|Category||This object is used to work with relationships between categories and products. It can also be used to manipulate parent/child relationships for a category.|
|Product||This object is used to work with products and variants in a catalog.|
|ProductCatalog||This object is used to alter catalogs and to modify catalog contents. It is the primary object for working with catalogs in the Product Catalog System.|
Several of the catalog objects provided by Commerce Server offer a variety of methods and properties that support searching catalogs and product categories. These methods and properties can be identified by either of the strings "search" or "query" as part of their names.
The ProductCatalog object contains a variety of methods related to what Commerce Server calls a "specification search." A specification search is also sometimes called a "step search," and is a search method in which you can perform a progressive drill-down search of products by specifying parameter constraints, such as a category, product, or property. To perform a specification search, you search for properties by progressively reducing the number of products that match your search criteria.
Another type of drill-down search that retail Web sites often provide relies on products being organized into categories and sub-categories. Assuming such an organization, there is support within the Commerce Server catalog objects for creating pages that allow navigation up and down such a hierarchy. The strings that contain "parent," "child," "ancestor," or "descendant" as part of their name can identify the methods and properties that support this functionality.
The Commerce Server Product Catalog System also supports the notion of categories and products that are related to each other in a non-hierarchical manner. A common way for taking advantage of this feature is to provide links on a product page to other related products. The methods and properties that support this functionality can be identified by the strings "relationship" and "related" as part of their name.
The Commerce Server catalog objects possess many more methods and properties than those mentioned here. Refer to the Commerce Server online Help, and specifically to the reference pages for the CatalogManager, CatalogSets, CatalogToVendorAssociation, Category, Product, and ProductCatalog objects for a complete listing.
In Commerce Server 2002, the product catalog 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 catalog classes have been re-factored a bit to make them easier to use, and are accessed using the namespace Microsoft.CommerceServer.Runtime.Catalog. In the PIA, the catalog classes are straightforward wrappers of the classic COM catalog objects, and are accessed using the namespace Microsoft.CommerceServer.Interop.Catalog.