What Interfaces Do Pipeline Components Support?

Commerce Server Core Systems 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 Core Systems 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 Core Systems architecture.

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

Pipeline Interface

Description

Required/Optional

IPipelineComponent Interface

Executes the component.

Required

IPipelineComponentAdmin Interface

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

Optional

IPipelineComponentDescription Interface

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

Optional

IPipelineComponentUI Interface

Displays a dialog box for configuring a pipeline component.

Optional

ISpecifyPipelineComponentUI Interface

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

Optional

ISpecifyPropertyPages Interface

Indicates that the object supports property pages. This a standard OLE interface.

Optional

IPersistStreamInit Interface

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.

Optional

IPersistDictionary Interface

Persists the data associated with an object to a Dictionary object. This is a generic persistence interface defined by Commerce Server.

Optional

See Also

Other Resources

Building Pipeline Components

Pipeline Component Interfaces