The original release of Commerce Server 2009 was tightly integrated with Sharepoint 2007 as many companies had been requesting this type of integration. This was a big shift from pure ASP.NET development leveraging the StarterSite in Commerce Server 2007. Sharepoint was hot, companies wanted rich Content Management and this provided good options for some clients. Microsoft provided an extensibility kit to allow developers to modify the default Sharepoint site and integration with the new Multi-Channel Commerce Foundation. Sharepoint 2010 has since been released and a new version of the extensibility kit became available. The extensibility kit is a solid kit to build on with a solid performance guide that demonstrates the readiness for production that the kit is capable of.
In my experience in Sharepoint 2007, 2010 and pure ASP.NET Commerce based implementations, there are many good options above. Interestingly enough, many clients still want more control and flexibility that they cannot easily achieve with Sharepoint. What are they to do? Some of their considerations are also due to the internal staff they have to develop and extend the solution.
Implementation's I've been involved in recently:
- Pure ASP.NET forms based implementations using the Multi-Channel Commerce foundation. Leverage of the extensibility kit Common project and UI presenters. Some use other third parties for Content Management while some sites have the developers make the infrequent site content changes. Many of the content changes are dynamic in nature based upon the Commerce Catalog and Marketing data.
- Sharepoint 2010 global multilingual implementations with extensive site, webpart, catalog modifications where Extensibility Kit was used only as a reference. Two tier and Three tier implentations using the Mulit-Channel Commerce foundation.
There are so many variables in each of these types of implementations. UX layer, mobile support, Content Management, Search Provider, Product Review Provider, Tax providers, Payment providers, Shipment providers, ERP integration. Each implementation is truly custom with Commerce Server being the strong foundation that makes it all possible.
We've been recently excited about a new quieter release from the Commerce Server product team, CSMetal which contains alot of great ideas that eager developers can build great sites upon. Use MVC 3 for the Web layer, generated Commerce contracts from configuration files. It isn't as rich in testing as the existing extensibility kit, yet most client's final implementation is fully customized anyway.
We are working hard on a site to be launched in May that is based upon CSMetal!
Therefore, you can see that there are many options to consider when developing a Commerce Server based solution. Even more options to be considered as you look at N-Tier solutions and Commerce Server 2009 R2.