A Detailed Look at What’s New in Commerce Server 10

Now that the Commerce Server 10 Release Preview (CS10) has been available for a few weeks, we wanted to summarize all of the great new features now available to customers, as well as celebrate the fact that this is the first version of Commerce Server delivered in months versus years!


A New Approach to Building Commerce Server Web Sites

One of the largest pain points we have observed when talking to over a hundred Commerce Server customers and partners over the last year, was the amount of effort that goes into building and maintaining Web sites. We were reminded over and over again that a .NET Commerce Server-literate developer was needed for even basic “look-and-feel” changes and there were many circumstances where full codebase recompilations and redeployments were needed (with, of course, a lot of testing).

We knew that there had to be a better way, so we went back to the drawing board and reworked our development experience to ensure that “look-and-feel” creation and updates could be done by a HTML/JavaScript/CSS-developer without the need for code recompilations or that .NET/Commerce Server skill-set. We think this will greatly reduce both the up-front and ongoing investment required to build compelling Web experiences with Commerce Server.

We have implemented this in a couple of different ways to accommodate several development paradigms, which brings us to our next topic…


Support for the Latest Programming Models and CMS-agnostic

When Commerce Server was a Microsoft product, there was only one CMS, namely SharePoint. Now, we truly love SharePoint and it works very well for some customers, but it certainly does not meet the needs of the broader ecosystem by itself.

So we also went back to the drawing board to ensure that Commerce Server has a great story for:

  • ASP.NET Web Parts and Web Forms
  • SharePoint 2010 (with SharePoint 2013 coming soon in the new year)

And, as such, we can now run standalone with just ASP.NET – or seamlessly integrate with the most popular content management systems many of our customers use such as Sitecore, Ektron, Umbraco, Kentico, Orchard, or any other MVC-, Web Form-, or Web-Part-compatible CMS.


Community-driven Out-of-Box Site Templates

One of the other historical challenges when Commerce Server was a Microsoft product. was that the out-of-box site templates and many other useful product attributes were tied to the main server release. Because the main server core is not something that is shipped all that often, nor something that you want to ship that often, innovation around the periphery of the product was stifled. And there was no way for the broader Commerce Server ecosystem to contribute.

We’ve remedied all of this with CS10. All of the new site templates are hosted on Codeplex so that we can rapidly update these outside of the server core. In addition, ANYONE can contribute (and we highly encourage this). And, the product team will still curate everything to assure quality. This sets us up for far more rapid innovation in the future.

We’ve also leveraged industry-standard tools and frameworks such as Enterprise Library, Twitter Bootstrap, and jQuery to provide best-in-class Responsive Design experiences, versus something that would have to be significantly re-factored to be used in the real-world.

For details, see http://cstemplates.codeplex.com/. We hope to see you there contributing!


Enhancements for Developers and IT Professionals

We also wanted to make the lives of Developers easier. So we have added code generation for the Multi-Channel Foundation APIs. This will provide numerous productivity benefits, including:

  • Simply less code to write
  • Compile-time safety to prevent pesky, hard-to-debug errors
  • Synchronicity between API calls and underlying metadata and schemas

We have also made this community source as well – you can get it at http://cscodegen.codeplex.com/.

For the IT Professional, we have made Nuget packages to get up and running quickly. It’s fair to say you can now be up-and-running with a fully functioning site in 15 minutes – something that was never possible before. Get these at http://nuget.org/profiles/csteam/.

Likewise, we also resurrected all of the old IT Pro tools and have made these available on Codeplex as well. Get them at http://cstools.codeplex.com/.


Enhancements for SharePoint Customers

We also wanted to address a number of the pain points as was evident from post-mortems on the SharePoint support in CS2009 and R2. We have re-implemented our SharePoint integration leveraging the new frameworks built for ASP.NET – and as a result there are number of key benefits to SharePoint customers including:

  • 2 web parts instead of ~50
  • A significantly reduced set of SharePoint Features requiring activation and management
  • Far fewer scenarios where recompilation and redeployment is necessary
  • 2-4 times greater performance throughput on the same hardware


A Streamlined Foundation for the Future

One of the biggest challenges in evolving Commerce Server is the sheer size of the code-base. We also had the task of removing all of the Microsoft branding from the product. So, there are a number of core changes, including:

  • All references to the “Microsoft” brand have been removed and the .NET namespace hierarchies have been reorganized and consolidated to make more logical sense
  • Obsolete and infrequently-used features have been removed:
    • Data Warehouse
    • Direct Mailer (though List Management for direct mail system integration remains)
    • Solution Storefronts (replaced with the new Site Templates)
    • Silverlight-based business tools (given lack of Silverlight roadmap)
    • MUI Tool
    • Best Practices Analyzer
    • Security Configuration Wizard
    • Site Migration Tool
    • Health Monitoring
    • Volume Shadow Copy Service Writer (simply backup file system, registry, and SQL databases directly)

The breaking API changes are documented in the CS10 Breaking Changes guide, downloadable from http://www.commerceserver.net/Technical%20Resources/. Although we are sorry for the inconvenience, this should be a search-and-replace exercise for most and we do feel that the new namespace hierarchies will be considerably more logical.


Improved Setup and Upgrade Stories

Data migration is supported from Commerce Server 2000 onwards, so that part of an upgrade will be very straightforward.

In addition, we have changed the way we distribute the product. The setup experience has been re-written from scratch using industry-standard technologies. As such there are now three simplified installers:

  • Server Core (which includes everything)
  • Business User Tools
  • BizTalk Adapters

In addition, we now support build-to-build upgrades. This will first and foremost allow us to distribute new capabilities significantly easier and more quickly than before. Secondly, it will allow us to distribute patches as upgrades – so the chore of having to track and manage the installation of dozens of hotfixes goes away. We’ll talk more about the broader supportability implications of this in a future post – but we think the new way of doing things will be significantly streamlined and less painful than how servicing worked in the past.


Support for the Latest Microsoft Platforms

CS10 is optimized for the latest and greatest including Windows 8 client, Windows Server 2012, SQL Server 2012 SP1, .NET Framework 4.5, and Visual Studio 2012. It supports Windows Server 2008 R2 SP1, SQL Server 2008 R2 SP2, .NET Framework 3.5, and Visual Studio 2012. BizTalk Server 2010 can be used, and BizTalk Server 2013 support will be available shortly after that product becomes available.


Closing Thoughts

We are very excited about Commerce Server 10. We think it is the most customer-friendly and best-performing version of Commerce Server, ever – and is a great next step on our plans to rapidly evolve Commerce Server into the .NET commerce platform of choice. You can also find this information contained in presentation form in our Roadmap, which is now publicly posted at http://www.commerceserver.net/Roadmap/. Hope this helps!