What’s New (that matters) in Commerce Server 2009 R2

Microsoft Commerce Server 2009 R2 (CS2009 R2) was released quietly in Fall of last year, but there were no announcements or marketing of any kind given the pending transition to Ascentium. This summer, we have re-released this product from our organization.

With this post wanted to capture the salient points that matter to help our existing customers make their long term plans by highlighting the elements that matter for the long-term. Hence, everything discussed here will also apply equally going forward in subsequent products as well.

Native 64-bit Platform

Although Commerce Server 2007 and 2009 added 64-bit support, a number of components still ran in 32-bit mode. This caused both 64-bit/32-bit process switching as well as limited the amount of memory that could be consumed by certain facets of Commerce Server. Beginning with CS2009 R2, Commerce Server is native 64-bit – and will be going forward. This adds a significant degree of performance optimization in CS2009 R2 over previous platforms. Most customers if upgrading from prior releases and using Windows Server 2008 R2 will see definite improvements in throughput.

A More Stable Platform

A considerable amount of time was spent mining the support logs and fixing issues reported by various customers around the world. It is safe to say that CS2009 R2 is by far the most well-tested and stable release of Commerce Server, ever. In fact, there are over ~60 improvements since Commerce Server 2009 and another ~10 or so improvements since Commerce Server 2007 SP2.

Multi-Channel Commerce Foundation (and improvements in CS2009 R2)

Commerce Server 2009 debuted the Multi-Channel Commerce Foundation (MCF), which added several key capabilities including:

  • A uniform programming model across the entire runtime of Commerce Server
  • An extensibility mechanism whereupon Commerce Server operations could be unplugged and replaced with custom logic, or otherwise augmented with custom logic
  • Call bundling to reduce calls to the database
  • Multi-channel entities to allow for handling of logic across notions such as brand, country, or presentation

In CS2009 R2, we further improved MCF by:

  • Making the entire runtime a WCF service – allowing n-Tier deployments where Commerce Server can run as an application server with separate Web front ends
  • Allowing for multiple instances of Commerce Server to run on the same physical box, enabling multi-tenancy scenarios
  • Claims-based authorization was added, in order to secure calls to Commerce Server when being run as application server
  • End-to-end cache refresh manageability
  • Multiple Order forms to support B2B scenarios
  • The ability to define custom parameters, to further extensibility
  • Addition of a WCF end-point, which allows Commerce Server to be securely exposed in any protocol WCF supports over the Internet (such as JSON, ODATA, SOAP) – this has of course been fully hardened including against CSRF-type threats

N-Tier Deployments

As noted above, we now support N-Tier deployments in CS2009 R2 per the following example topology:


This enables a couple of scenarios never previously possible:

  • Running multiple instances of Commerce Server on the same box – which is very key for hosting providers or multi-brand/country organizations where truly separate instances are needed
  • Separating the Web front end servers and having Commerce Server run as an application server, which is desired for security compliance purposes in many organizations
  • Allowing native applications to call Commerce Server securely over the Internet – allowing the creation of such things as:
    • Flash, Silverlight, or other RIAs
    • Native mobile such as iOS, Android, or Windows Phone
    • Native HTML5
    • Windows 8 native applications built using either XAML or HTML5
    • Social applications, such as a Facebook commerce site

A Great Upgrade Story

Customers coming from Commerce Server 2007 are in for a super-easy upgrade scenario, as there are NO breaking changes at all against the APIs used by CS2007. CS2007 customers can easily get onto a more modern base platform, leverage the stability and performance improvements in CS2009 R2, and then leverage new capabilities side-by-side. CS2009 customers will reap the same benefits, but will see some minor breaking changes if the MCF APIs were utilized given the changes needed to support n-tier.

Hope this helps!