Understanding the Different Types of Commerce Server APIs
The various Commerce Server APIs can be categorized in two distinct ways. First, they can be categorized according to the Commerce Server system to which they provide access. In other words, there is different API for accessing the Catalog System than there is for accessing the Orders System or the Profiles System for example.
The second way in which the Commerce Server APIs can be categorized is according the context in which they are used. What are known as the runtime APIs are intended for use within Commerce Server Web applications, and provide functionality for retrieving information about products in the catalog, for adding items to a shopping basket, and so on.
What are known as the management APIs are intended for use in writing the various types of tools that business users and IT professionals use in the course of day-to-day management of the Commerce Server Web applications. The business management applications, such as the Customer and Orders Manager and the Marketing Manager, are examples of this type of tool. For the most part, the management APIs operate in two distinct modes: agent mode and local mode. Local mode provides direct, local access to the various Commerce Server systems. In this mode, your code must be running on the same computer as the Commerce Server system(s) with which it interacting. Code running in this mode has better performance than code running in agent mode.
Agent mode provides access to the various Commerce Server systems over the Internet and HTTP using the Web services that each of those systems provides. Further, and although it is technically not considered to be a management API, you can program directly to the Web services upon which the agent mode management APIs rely. Programming directly to the Commerce Server Web services is going to be appropriate in certain integration scenarios in which using the agent APIs is not straightforward or even feasible.
You can program using either local mode or agent mode, or even directly to the Web services, in both Windows client applications and in an ASP.NET applications.
The topics in this section describe and compare the various Commerce Server APIs according to the second categorization described here: runtime APIs versus the various modes of the management APIs. Within this organization, the differences between the APIs for the various Commerce Server systems are described.