Business Processing Pipeline System

The Commerce Server 2009 Core Business Processing Pipeline System lets you customize your order, marketing, and merchandising processes. By using pipelines, you can define and link the many stages of a business process. The Business Processing Pipeline System features provide for flexible order handling, easy shipping method maintenance and multiple shipment handling, flexible discount handling, high-precision currency handling, and efficient pipeline loading and running.

A pipeline is an extensible software framework that defines and links one or more stages of a business process, running them in sequence to complete a specific task. Pipelines base their functionality on pipeline components, pipeline configuration files, and pipeline framework objects.

You can develop pipelines as COM components or as .NET components that implement the required pipeline COM interfaces. In addition, there are many pre-packaged third party components available; see https://go.microsoft.com/fwlink/?LinkId=65726 for details.

The Business Processing Pipeline System provides support for the following:

  • Order processing. Process either business-to-consumer (retail) orders or business-to-business (supplier) orders. For correct processing, make sure that an order goes through all the necessary stages. For example, the stages are retrieving the product description from the catalog, retrieving the shipping address for the user, computing the amount of tax, and computing the total price.

  • Content selection. Select content that you want to display to users based on the targeting expressions you created by using the Marketing Manager, how many advertisements you want to deliver, and other factors.

  • Event processing. Record events related to the displayed content, for example, a user clicking an ad, and store them in the Commerce Server 2009 databases. You then use the stored information for reporting, for example, how many users clicked on an ad.

  • Direct mail. Construct and deliver personalized e-mail or static content messages for direct mail campaigns.

Features Overview

The following table describes the Business Processing Pipeline System features.

Business process

Features

Content selection

  • Initialize values that the Content Selection pipeline uses.

  • Content targeting:

    • Target particular groups for advertising, content selection, and discounts. This component evaluates a list of expressions for each item in a list and adjusts item selection scores.

    • Apply penalties to content items based on how recently they were selected.

    • Apply filters to a content list in a Content Selection pipeline.

    • Verify that customers select advertisements frequently enough to meet business commitments.

    • Retrieve a history string from a user profile, an item in the ASP.NET session collection, or a cookie.

    • Merge data from selected items and their associated templates to form formatted strings. These are typically HTML strings ready for display on the page.

    • Load advertising data for the Content Selection Framework (CSF).

  • Discount targeting:

    • Adjust scores of discount items to promote discounts most relevant to the current user.

    • Select items based on their final scores in the Content Selection pipeline.

    • Load discount data for the CSF.

  • Log CSF events.

Direct mail

  • Add attachments to a direct mail message.

  • Create the body of a direct mail message.

  • Collect cookie data to pass to an ASP.NET page, creating a personalized direct mail message.

  • Send a direct mail message composed in earlier stages in the pipeline.

  • Send an e-mail message to a specified recipient.

  • Check the data about the recipient of a direct mail message.

  • Control the speed with which direct mail messages are processed.

  • Check the body of a direct mail message according to the user flags.

Events

  • Record information about content selection results that are shown in the Internet Information Services (IIS) log file.

  • Record event delta counts for the selected content items (the winners) in the Performance dictionary.

  • Record the identifiers of the winning content items in the history list string.

  • Record the history string in one of three locations: the User Profile object, the ASP.NET session collection, or the HTTP cookie.

Inventory

  • Check inventory.

  • Update inventory.

Orders

  • Order initialization:

    • Set the total handling cost for the order to zero (0).

    • Set the total shipping cost for the order to zero (0).

    • Set the tax field for an order to zero (0).

    • Set the payment authorization code, order ID, totals, and subtotals in the order form.

  • Order management:

    • Set the regular price of an item to the list price stored in the catalog.

    • Retrieve catalog information for every item in the order form.

    • Delete items in an order flagged for deletion

  • Discount and coupon handling:

    • Record the promotion codes that have been applied to the order, and to add promotional discounts to the list of discounts for the order form.

    • Validate and reserve promotion codes.

    • Apply discounts to the shopping basket.

    • Apply order level subtotal discounts.

    • Validate promotion codes and mark them as redeemed.

  • Order calculation:

    • Adjust the total cost of each item in the order after discounts are applied.

    • Calculate the subtotal for an order.

    • Calculate the order total from the subtotals.

  • Order verification:

    • Verify that the order form contains at least one item.

    • Verify that each item in the order form has a regular price assigned.

    • Verify that the current price for each item in the order is set and that the price has not changed since the last time a customer viewed the basket.

    • Verify that the handling total is present in the order.

    • Verify that the shipping total is set.

    • Verify that the total tax and tax included appear in the order form.

    • Verify that a subtotal exists on the order form.

    • Verify that no one tampered with or reset the values on a page.

    • Verify that the payment authorization code is in the order form.

Payments

  • Assign a default value to the payment authorization code.

  • Process payments.

  • Send a purchase order or other textual data to a file.

  • Check the expiration date of a credit card and perform a checksum test on the number.

Shipping

  • Apply shipping discounts to the order.

  • Look up and calculate shipping costs for individual shipments, and then calculate the shipping total for the whole order.

  • Divide an order into groups based on a list of item keys. You use this frequently to divide the order into multiple shipments.

  • Calculate shipping costs for shipments in the multiple-shipment shipping architecture.

Special handling

  • Run a script in a Microsoft Active Scripting language.

  • Output the contents of an order form object to a log file during any stage of pipeline execution.

Applications

  • Pipeline Editor. Graphical user interface to create and edit pipelines.

  • Pipeline Component Registration Wizard. Graphical user interface to register a custom defined pipeline component.

Supportability

  • Enable and disable storage of pipeline log files for the purposes of debugging.

See Also

Other Resources

Orders System

Marketing System