Geeks With Blogs
A Point To Share A journey through Microsoft Commerce Server and other .NET platforms

If you are the minority who have been following my blog from the beginning you would know I am an avid practitioner and developer that centre on Microsoft SharePoint, and associated technologies. So some people may be thinking why write about Commerce Server? Is there any association between this and Microsoft Office SharePoint server (MOSS)? Well the answer is yes and no. In my earlier blog I briefly introduced Commerce Server, and this is hopefully the start of my series of articles introducing the platform and discussing it various integration points with other Microsoft server platforms.

In this article I want to briefly introduce the Commerce Server product, and set up the business case in which I will try and base the rest of my articles. So let's start at the beginning...

Who or What is a Commerce Server?

Commerce Server came to life as a Microsoft SKU back in the .COM days of 2000. It superseded the original Site Server platform (the original versions of SharePoint) which was also released in an e-Commerce flavour. With its release Commerce Server stripped out the unnecessary carry over's of Site Server which included the document management functionality and focussed purely on the delivery of a Microsoft platform designed around e-Commerce.

Between then and now 4 main versions of the product have been released, with the largest being Commerce Server 2002 ( which introduced .NET 1.1 into the platform) of which there where annual service packs released up until its successor was released in 2007.

The platform available today, and the one these articles are concerning is Microsoft Commerce Server 2009.

So what does it do?

I have worked with Commerce Server (in its 2007 version) through various proof of concepts for clients in the past, and the biggest question is always – so what is it. The product sounds self explanatory, however in fact the product itself unfortunately does not offer an OOTB solution for an e-Commerce portal. The recent version is putting us closer to that, however it would be in-practicable and ill-advised for anyone to purchase the product with the expectation of deploying a live site without budgeted for any custom development work.

The product itself offers more of a framework solution to allow developers to implement the product on behalf of the business. I use the word implement, as opposed to build, develop or any other adjective that suggests a length construction task for a reason; this is because although CS2009 can't be used out of the box, it has been designed in such as way that the only real factor to get you up and running is some customisation of meta data and the styling and construction of some web pages will be enough plumbing to get you a barebones Commerce Site.

This however is not where the strengths of the product lay. The platform itself is actually a fully Service Orientated (SOA) enabled platform, with pre-built BizTalk adapters to enable easy configuration and orchestration of other platforms (internal or external to the company). All though this sounds pretty to a technical person, the underlying business argument is pretty sound too – in layman's terms this essentially means you can plug existing ERP infrastructure, and connections into suppliers and other third parties such as payment gateways, easily and with little overheads. The scalability of the product is so immense it can cater for an array of different business scenarios, such as:

  • Business-to-consumer (B2C) sales of tangible or digital goods or online service delivery.
  • Business-to-business (B2B) scenarios, such as e-procurement and trading communities.
  • B2X scenarios, combining Business to Consumer (B2C) and Business to Business (B2B).
  • Self service portals using catalogs, profiles, or content targeting for personalized information delivery.

So if you have been following closely, at this point you now have a bare-bones e-Commerce site, which is connected to your existing corporate infrastructure to allow information to flow quickly and easily. So far we have a good business proposition, but you want more?

We are now in the 21st century, so who really cares about web-based retail anymore? As I recently blogged, the future is in "ambient computing" and the ability to access information anywhere and everywhere. Well CS2009 caters for this in a recent addition called Commerce Foundation (CF). This new abstraction layer enhanced allows for business logic to be architected in such that in can be deployed with multiple interfaces – or 'selling channels' which are not necessarily browser based. A good example of this is when the product was demonstrated at MIX 09 (see video here). The original products team opted away from building a Windows mobile application to demonstrate multi-channel commerce using the CF and instead used an IPhone application that allowed you to purchase, and reserve items on the move and also generated barcode vouchers on the phone as an incentive for people to actually visit the stores. This was all made easier in the latest release of Commerce Server due to the foundation technology that has been applied.

How Does It Do It?

So far we have summarised at a very high level what Commerce Server is, and what it can do. We have also talked about scalability and some of the features the product offers, so hopefully if you have read to this point you may be a little more interested.

Commerce Server is a mixture of .NET web services (which are currently ASMX based) (and associated business logic); an abstracted .NET business layer known as Commerce Server Foundation to allow for interaction with out of the use of services; SQL server databases (one for each service), pre-configured SQL DTS jobs for data scrapping log files, and SQL server reports and lastly COM based pipelines that power the underlying workflow and transactions engine. There are also additional tools to support IT Managers, and business users such as a Microsoft Operations Manager (MOM) add-on, MMC plug-ins and some pre-built admin tools.

The platform however has developers at its core and provides several SDKs (2007 and 2009 seem to overlap slightly), with even the existing admin tools source code being released allowing for branding and customisation of the smart-client based tools. The other major advantage (as I already have mentioned is the availability of BizTalk adapter for easy third party integration of ERP systems).

The web services are broken down into 5 modules and provide

  • Catalog: manages the core product range and pricing of items to be sold. Catalog also controls stock keeping and provides functionality, such as being able to handle back-orders, pre-orders and ensure stock availability is distributed in real time to the store.
  • Marketing: handles targeted content to aid point of sale. The underlying logic is responsible for associated promotions to targeted users and ensuring ads, discount codes, etc. Are directed at the correct users. Marketing also assist in Direct Mailing
  • Profile: the profile service is based on the ASP.NET membership model and manages the tracking of metadata (profiles) associated to registered members of the site.
  • Orders: handles check-out and basket processes, but is extensible to any type of interaction between product and purchases (wish-lists etc.).

So how do we use it?

So we are 1200 words in to one of my longest blog posts; and either it is wetting your appetite or I have confused you more than you where at the first line. Either way I one lesson I have learnt with my experiences of Commerce Server is the product is huge, and it takes a while to comprehend; and like most things in the world of technology – the best way to learn it is to use it.

So over the next few weeks I am going to be detailing how to set-up, customise and deploy a Commerce Server using CS 2009, a Microsoft SharePoint front end, and possibly also a second ASP.NET MVC front end, and a mobile based Windows Mobile 6.5 interface too. We'll look at BizTalk and the possibilities of integrating into ERP systems, and more specifically how CS 2009 will talk to Microsoft Dynamics RMS. I'll also take a look at reporting, and tying in not only SQL server reports, but also analytics too. Lastly if I have time we'll play with Silverlight or WPF and look at how easy an in store "kiosk" type system is to build.

So what is our scenario? How about Music Works? A music vendor traditionally distributing CDs, but wishes to move into the world of electronic distribution through in-store kiosks, web, and mobile devices. Currently they have a legacy POS system running through there store network, and with the investment into digital distribution they will have to upgrade their store IT too.

This may be a lengthy journey as it covers a whole breadth of technology, and it may take me some time to get their – so I thank in you in advance for your patience , and if you have questions before I reach a subject please feel free to e-mail them across.

So stay tuned, I'm hoping to get my first step posted this week....

N.B: For anyone official reading my blog, please feel free to get in touch with any factually incorrect elements and I'll be happy to change the post.


Posted on Sunday, June 21, 2009 6:08 PM Commerce Server , CodeProject | Back to top

Comments on this post: The What, Why, Where and, How of Commerce Server 2009

# re: The What, Why, Where and, How of Commerce Server 2009
Requesting Gravatar...

I am interested to know more on this exact topic..any lead point..
Anywhere I can get the tutorial you mentioned?

Thanks in advance

Left by Gokul on Jul 02, 2010 11:25 PM

Your comment:
 (will show your gravatar)

Copyright © Lewis Benge | Powered by: