calsoft enterprise solutions

White Papers

The Shopping Process And Microsoft Commerce Server

Introduction

The Microsoft Commerce Server has a very sound framework for incorporating business rules into an Internet shopping process. This framework is captured by the concept of the pipeline.

A pipeline is a number of components that execute in sequence. Each component performs a small specific task - like calculating the tax or checking the credit card number. The result of this action is written to a particular location - which is also provided by the commerce server.

In the specific case of a business to consumer application, the order processing pipeline is very relevant. The server-side processing involved when a customer purchases on the Internet would typically go through at least the following three stages

  • Capturing product level details like price and discounts for the product.
  • Setting details like handling charges, tax and totals for the entire order and
  • Validating the credit card number, accepting the purchase and initiating post purchase processing (like initiating shipping and providing a order tracking mechanism to the customer)

These three stages map to the Product, Plan and Purchase stages respectively in the order processing pipeline.

This sequence of steps maps perfectly to the order processing pipeline. Individual components supplied with Commerce Server map to each of the stages mentioned above. Developers can also replace any of these components with their own implementations. The output of most of these components is directed to a commerce server object called the order form.

Cases where the business rules cannot be captured by the above three stages can also be accounted for. Microsoft Commerce Server allows the developer to customize the pipeline or even develop a new pipeline where your business rules can be mapped to custom components and custom stages. With a bit of experience and ingenuity, the designer can create a sequence that would minimize development costs - by mixing available components with custom built components.