Pipeline Component Interfaces

Commerce Server 2009 defines a set of Component Object Model (COM) interfaces known as pipeline interfaces. In addition, pipeline components often implement one or more generic persistence interfaces defined by Commerce Server, as well as the standard OLE interfaces ISpecifyPropertyPages and IPersistStreamInit.

Every pipeline component must support the IPipelineComponent interface. Without this interface, a Commerce Server pipeline will not be able to execute the component. The remaining interfaces are optional. They expose various types of functionality that allow new components to fit smoothly into the Commerce Server architecture.

The following table lists the required IPipelineComponent interface and the other optional interfaces.

Interface

Description

IPipelineComponent

Executes the component.

This interface is required.

IPipelineComponentAdmin

Sets and retrieves the properties on a component using a Dictionary object.

This interface is optional.

IPipelineComponentDescription

Uses a SAFEARRAY to identify the OrderForm object and PipeContext object elements that a component reads and writes.

This interface is optional.

IPipelineComponentUI

Displays a dialog box for configuring a pipeline component.

This interface is optional.

ISpecifyPipelineComponentUI

Determines the object that will be invoked through the IPipelineComponentUI interface to display the dialog box for the component.

This interface is optional.

ISpecifyPropertyPages

Indicates that the object supports property pages.

This is a standard OLE interface. This interface is optional.

IPersistStreamInit

Persists the data associated with an object to a stream. This is the form of persistence used in the Active Template Library (ATL) Pipeline Wizard.

This is a standard OLE interface. This interface is optional.

IPersistDictionary

Persists the data associated with an object to a Dictionary object.

This is a generic persistence interface defined by Commerce Server. This interface is optional.