When putting together a large commercial site, the cut-throat business climate doesn't allow much time for experimentation and invention. The smartest way to implement e-commerce best practices isn't to derive them, but to buy them.
Commerce Server 2002, like Commerce Server 2000, integrates Web commerce catalogue, user management, customer intelligence, personalisation, and business workflow functions into a single product. Major enhancements include .Net and BizTalk Server integration, internationalisation, tuned analytics, and security improvements.
However, Commerce Server 2002 is disappointingly weak in .Net integration and documentation. Internationalisation is the only must-have new feature; current Commerce Server customers selling strictly to domestic customers can probably wait until the next major release.
Installing Commerce Server 2002 on a clean system took about half a day. Commerce Server 2002 leverages (but does not include) SQL Server 2000, Windows 2000, and Visual Studio .Net. Simple catalogue-based sites can be brought up with little effort using prepackaged Solution Sites and modular Sitelets; when the job calls for custom code, designers and developers can tap Commerce Server's extensions to the Visual Studio .Net IDE (integrated development environment).
Installation of the .Net Framework is optional, but advisable to take advantage of the new APIs. Commerce Server 2002 still works with pre-.Net facilities such as ASP and COM (Component Object Model). And sites created for Commerce Server 2000 should run without modification, giving companies time to migrate custom COM objects to .Net classes if they so choose.
Installing Commerce Server 2002 on a machine running Visual Studio .Net injects some simple extensions into the VS .Net IDE. A new project category, Commerce Projects, is part of the interface; wizards and project skeletons (in C# or Visual Basic) guide developers in creating new Commerce Server applications and adding customisation to existing sites. But Commerce Server 2002's documentation is not yet integrated into VS .Net's help system.
When you create a new project, VS .Net takes care of everything from building the database tables to outfitting the project with references to Commerce Server's .Net wrappers. Once the new commerce site is up, the Business Desk interface gives non-technical users access to oft-changing parameters (such as currency conversion rates), catalogues, and analytics.
As was the case with BizTalk Server, the vaunted .Net capabilities of Commerce Server 2002 are exaggerated. Commerce Server's .Net API is not native, but rather a set of run-time-callable wrappers around a set of COM objects. While the wrappers add a degree of convenience for .Net developers, Microsoft should set customers' expectations more realistically.
The ASP .Net international retail Solutions Site, the likely starting place for .Net commerce projects, demonstrates the .Net API and new internationalisation features. But it lags behind the older ASP-based retail Solutions Site in code quality and implemented features, and Commerce Server 2002's analytics won't work at all with the new Solutions Site.
New internationalisation support does do a good job of localising catalogues, customer profiles, and tracking data for different languages and currencies. The ASP .Net Catalog Sitelet module demonstrates multi-language (English, German, French, and Japanese) catalogue browsing and searching. Commerce Server doesn't localise ads or direct mail campaigns, and only one currency per order is allowed. If you let Commerce Server handle currency conversion of catalogue item prices, the item's price floats with the exchange rate - the customer might order at one price and be billed another.
It's unfortunate that we're limited to one score for this product. It has considerable value as a new purchase, but not much to offer as an upgrade. Certain elements - the documentation, .Net samples, and VS .Net integration - feel incomplete, creating the overall sense that the 2002 update was rushed to market. It may be that Microsoft wants to replace the "2000" branding on as many enterprise servers as it can in time for the launch of the .Net server OS.
Microsoft could have done a better job of VS .Net integration: some of the generated ASP .Net code fails to use Microsoft's code-behind technique, disabling highlighting and the helpful (in .Net's case, essential) IntelliSense statement completion feature.
Planting one foot in COM/ASP and another in .Net looks good in a white paper, but it's confusing in practice. Microsoft could have made a more convincing case for .Net migration by forking its enterprise product line: 2000 series servers for COM/ASP and 2002 series servers for .Net. We'd rather see .Net server software with COM API wrappers than the reverse. The current implementation virtually forces developers to mix ASP and .Net code, creating performance and resource utilisation problems.
Commerce Server 2002 is a fine, feature-rich e-commerce platform worth investing in if you are a new buyer. But if you're already running Commerce Server 2000, wait for a major upgrade.