This is the first in a series of posts on how you can program the product catalog system. The product catalog system that shipped in Commerce Server 2002 provided three programming models:

1. The Catalog Com objects :  These are a set of objects which allow you to perform management and runtime operations on the catalog system. These were implemented using COM and they communicate directly with the SQL server. Methods on this object were intended to be called from VB scripts, ASP, ASP.Net, C++ etc (COM aware) clients.

2. The Catalog PIA : These are a set of objects in the Microsoft.CommerceServe.Interop.Catalog namespace which wrap the Catalog com objects and can be used to program the product catalog system from managed clients. To know more about PIA's see this link. Methods on these objects were intended to be called from managed clients.

 3. The Runtime BCL: These are a set of objects which were provided to  program the catalog system from your web sites. These types reside in the Microsoft.CommerceServer.Runtime.Catalog namespace and  provides methods to access the run time functionality (readonly operations) of the catalog system. Internally though these objects call methods on the PIA but expose a consistent, flexible and easy to use programming model from your runtime commerce server sites.

4. Web services model : The Commerce Server 2002 feature pack further extended the programming model by allowing the product catalog system to be managed by a catalog web service.

   As had been a consistent request and user feedback, I will be adding sample code in future posts for each of the above models.