Pipeline Basics

A pipeline is a software infrastructure that defines and links one or more stages of a business process, running them in sequence to complete a specific task. Pipelines divide processing into stages, abstractions that describe a category of work. They also determine the sequence in which each category of work is performed.

Each stage of a pipeline contains one or more pipeline components (COM objects) that can be configured to work with the unique requirements of the site. For example, a typical Order Processing pipeline may include a Shopper Information stage, a Payment stage, and a Shipping stage.

Pipeline configuration files (.pcf) define pipelines. The pipeline specified by the file is created and run by a pipeline object. Commerce Server 2000 provides six objects to execute pipelines: MtsPipeline, MtsTxPipeline, PooledPipeline, PooledTxPipeline, OrderGroup, and OrderPipeline. The MtsPipeline and PooledPipeline objects do not support transactions. The MtsTxPipeline and PooledTxPipeline objects do support transactions.

Ee796837.note(en-US,CS.10).gifNote

  • In Commerce Server 2000, pipelines are often called indirectly through the RunPipe method of the OrderGroup object.

Pipeline configuration files (.pcf files) are usually marked in one of three ways:

  • Any pipeline. May be loaded into any pipeline.

  • Requires transacted pipeline. Must be loaded into an MtsTxPipeline or PooledTxPipeline pipeline.

  • Requires a non-transacted pipeline. Must be loaded into an MtsPipeline, PooledPipeline, or OrderPipeline pipeline.

The pooled pipelines take advantage of COM+ object pooling to speed up pipeline loading and execution. For more information, see Pooled Pipelines.

Ee796837.note(en-US,CS.10).gifNotes

  • Microsoft Application Center 2000 Component Load Balancing (CLB) can be used with Commerce Server pooled pipelines. Setup registers the Commerce Server pipeline as a COM+ package. In order to use it with CLB, you must go into the Component Services Microsoft Management Console (MMC) and change the Activation type of the package from "Library application" to "Server application." The pipeline object itself will be pooled by CLB, but pipeline components are not load balanced. This means that you cannot register any component that runs inside of a pooled pipeline as a COM+ application.

  • Setup also registers the Commerce Predictor Build Watcher component and the Commerce Event Logging component in COM+ packages. However, neither package should be used with CLB. These packages are created so that they can be used for administrative alert monitoring with distributed COM (DCOM), but there is no benefit to using them with CLB.

Designing Pipelines for Your Site

As the designer of the pipelines for your site, you take measures to ensure that the pipelines function correctly. First, you should ensure that no pipeline component is configured to overwrite the work done by another component.

Second, you define the circumstances under which the pipeline is to stop processing. As each component in the pipeline executes, it returns a status that indicates success, a warning, or failure. If you configure a stage to tolerate warnings, the pipeline continues to operate despite a warning generated by that component. If you configure a stage to tolerate only success, and the component returns a warning, the pipeline stops processing, and returns an error.


All rights reserved.