Commerce Server 2009

Getting Started with Commerce Server 2009

Alan Maddison

 

At a Glance:

  • New features and functionality
  • Installation requirements
  • Integrating with SharePoint
  • Deploying the Default Site

Contents

Features and Functionality
Installation Prerequisites
Getting Started

With the recent release of Commerce Server 2009 (CS 2009), Microsoft has made some significant improvements to an already capable product. These improvements include something for everyone.

For developers, there's a simplified method of accessing Commerce Server functionality, while the new multi-channel support (Web, mobile, Live Services) can help broaden your target market and keep your management happy. CS 2009 also offers new functionality—for example, there's the Microsoft Office SharePoint Server (MOSS) 2007 integration, which includes an out-of-the-box commerce site based on SharePoint, and 31 Web parts to provide maximum customizability and ease of use. It all adds up a great new release.

In this article, we'll discuss some of Commerce Server 2009's most significant new features and functionality and take a step-by-step look at installation and configuration. CS 2009 supports highly distributed and scalable deployments, but we'll focus here on a small implementation that will highlight all the key installation and configuration requirements you'll encounter regardless of your production infrastructure.

Features and Functionality

One of the Commerce Server development team's core goals was to provide an e-commerce solution that would address the key pain points many organizations feel when deploying e-commerce solutions. If you've ever deployed and supported CS 2007, you're familiar with issues such as core-development complexity, time to deployment, difficulty in extending or customizing a solution, and targeting multiple end-user devices (for example, Web and mobile devices). With the release of CS 2009, Microsoft has simplified and enhanced the core capabilities of earlier versions.

The CS 2009 architecture retains the core subsystems (Catalog, Inventory, Marketing, Orders and Profile) of CS 2007, but with many enhancements.

Developer access to these core subsystems has been improved with the Commerce Foundation API, which presents a unified interface to all the subsystems. To anyone familiar with CS 2007, this improvement is most welcome; it should help reduce both the learning curve for those new to the product and the time to market. This new API also improves the ability to extend Commerce Server's functionality through the introduction of extensibility points: Commerce Entities, Operations and Providers.

In addition, the presentation and business-logic layers have been separated to allow for multi-channel support. By separating these layers, Commerce Server provides you with the ability to maintain common business logic regardless of how users access your Web site. Sales made via the Web will follow the same workflow process as sales made via mobile devices.

CS 2009 also delivers a rich user experience through its integration with SharePoint. That integration extends to the inclusion of 31 Web parts designed to offer access to functionality such as marketing, payment, shopping and profile management. In addition, your e-commerce sites can also use SharePoint functionality, such as searching, social networking, document lists, workflow and styling.

Finally, from the IT administrator's perspective, Commerce Server 2009 supports x64 hardware in a highly distributed and scalable architecture, integrates with System Center Operations Manager 2007 for monitoring and runs on either Windows 2003 or Windows 2008.

Installation Prerequisites

Before beginning a Commerce Server 2009 installation, you should note some important points. First, some key components of CS 2009 are actually the core components of CS 2007, so in a fresh install of CS 2009, you'll begin by installing CS 2007. (The install media should consist of two CDs—one for CS 2007 and the second for CS 2009). If you're upgrading to CS 2009, you must already be using CS 2007; upgrades from earlier versions such as Commerce Server 2002 aren't supported. CS 2007 requires Microsoft .NET 2.0, while CS 2009 requires the .NET 3.5 SP1 framework, which you need to download and install. In addition, CS 2007 requires the installation of Document Explorer 2005, regardless of which version of Windows Server you use. The required CAB file can be downloaded from the following locations:

You should extract DExplore.exe and launch the installer. If you don't install these files, the CS 2007 installer will generate a warning after you launch Setup and the prerequisites checker has run.

While it's possible to install CS 2009 without installing MOSS 2007 or Windows SharePoint Services (WSS) 3.0, some of CS 2009's key enhancements are built around SharePoint functionality. As such, the CS 2009 SharePoint Commerce Services component requires either WSS 3.0 or MOSS 2007. It's highly recommended that you also install Service Pack 2 for these products. (You can review the changes in SP2 as well as links to download the media for MOSS 2007 at support.microsoft.com/kb/953334/ and for WSS 3.0 at support.microsoft.com/kb/953338/.)

However, if you intend to use an existing installation of either WSS 3.0 or MOSS 2007 that's running SP1 and you don't intend to apply SP2 before the install of CS 2009, you need to download and install two cumulative updates. (The Windows SharePoint Services 3.0 update is available at support.microsoft.com/kb/961755/. The Microsoft Office SharePoint Server 2007 is available at support.microsoft.com/kb/961756/.) You must apply both update packages and run the SharePoint Products and Technologies Configuration wizard after each package has been installed.

If you intend to use WSS 3.0, you must perform a custom installation and create the databases in either SQL Server 2005 SP2 or SQL Server 2008 (Standard or Enterprise editions). That's because CS 2009 doesn't support SQL Server Express edition. In addition, the Commerce Server data warehouse functionality doesn't support installation of SQL Server Report Services and SQL Server Analysis Services in a named instance. In addition, if SQL Server is configured to use case-sensitive collations, you must pre-create the Commerce Server databases to modify them to support a non-case-sensitive collation before running Setup.

Commerce Server 2009 supports IIS 6.0 and IIS 7.0, but when installing the Web-server role (IIS 7.0) in Windows Server 2008, you must add supplementary role services. In Windows Server 2008, use the Add Roles Wizard, located in Server Manager Administration tool, to add IIS and associated services. All the required services are shown in Figure 1.

Figure 1 The required role services that must be added in Web server role (IIS 7.0) in Windows Server 2008.
Rose Service Category Services
Common HTTP Features Static Content
Default Document
Directory Browsing
Http Errors
Application Development ASP
ASP.NET
.NET Extensibility
ISAPI Extensions
ISAPI Filters
Health and Diagnostics HTTP Logging
Request Monitor
Security Basic Authentication
Windows Authentication
Digest Authentication
Request Filtering
Performance Static Content Compression
Management Tools IIS Management Console
IIS Management Scripts and Tools
Management Services
IIS6 Management Compatibility

In Windows Server 2003, you add IIS server by selecting the Application Server option in the Windows Component Wizard, which is accessed through the Add or Remove Programs control panel. After selecting Application Server, click on Details; be sure to select the additional options of ASP.NET and Enable Network DTC (Distributed Transaction Coordinator) Access. Next, select IIS and click the Details button, then select World Wide Web Service and click the Details button. Once the screen loads, click Active Server Pages and WebDAV Publishing. Click OK three times, then click Next, followed by Finish to complete the process.

Commerce Server requires several different service (user) accounts for the various components. You should create these accounts before beginning installation. While it's possible to use a single account for all components, that's not the best practice for a production deployment. Using unique accounts for each Commerce Server component provides additional security through isolation of service credentials. Using a single account is acceptable in a development environment and, in fact, will simplify the configuration process—but you shouldn't take shortcuts in your production environment.

Figure 2 lists the types of user accounts you may need. The names used are only examples; use your own naming conventions. Giving the accounts meaningful names will make things easier for both administration and troubleshooting. Once you've created these accounts, you must add them as SQL Server logins, using SQL Server Management Studio.

Figure 2 Sample User-Account Names for Commerce Server 2009
Account name >Service
svc_cscatalog Catalog Web service
svc_csdirectmailer Direct Mailer service
svc_csstaging Staging service
svc_csmarketing Marketing Web service
svc_csorders Orders Web service
svc_csprofiles Profiles Web service
svc_csiis IIS account for accessing a Commerce Server site or application
svc_cshealthmonitor Health Monitoring service (optional)
svc_biztalkadapers BizTalk adapters (optional)

Finally, while development of applications and use of the BizTalk adapters are beyond the scope of this article, note that development requires Visual Studio 2008 and the BizTalk adapters require BizTalk 2006.

Getting Started

After launching Setup, you'll see the Commerce Server 2007 welcome screen. Enter your user and license-key information and accept the software license agreement to reach the component-selection screen. By default, the only selected component is Commerce Server 2007, which includes the core components, including the subsystems, documentation and management console. You may also select from up to five optional components, including Project Creation Wizard, Health Monitoring, Staging, Direct Mail and Volume Shadow Copy Writer Service.

The Project Creation Wizard may be grayed out because it requires Visual Studio (2005 for CS 2007; 2008 for CS 2009) to be installed. As a result, you shouldn't install that wizard on a production server; instead, install it on your developers' machines. The Health Monitoring Service, in conjunction with the Management Pack, allows you to monitor Commerce Server using System Center Operations Manager. The Staging Component, which is available only in Commerce Server's Enterprise version, allows you to publish or stage new content into production once the content has been reviewed and approved. Direct Mail is a bulk-mailer component that allows you to send personalized e-mail to your customers. The Volume Shadow Copy Service Writer component is self-explanatory; I recommend that you always install this component. Whether you choose to install the others depends on your organization's requirements. In this walk-through, however, we won't install any optional components.

After installation is complete; leave the check box selected and launch the Configuration Wizard. Once the wizard loads, click Next to move past the welcome screen to the Administration Database configuration screen. The SQL Server name will default to the local server name, so you should enter the correct name if SQL Server isn't installed locally. I recommend leaving the Database name at the default value (MSCS_Admin) unless there's a reason you need to change it. Immediately below the SQL Server and Database name, you can test your SQL credentials to confirm that you can connect to the SQL server. Microsoft recommends using Windows Authentication rather than SQL Authentication. After clicking the Test button and confirming a successful connection, click Next.

The next screen will depend on the options you chose to install. For example, if you selected to install the Staging and Direct Mailer options, you'll be asked to configure the SQL Server and Database name as well as the service account to use. Again, you'll need to modify the SQL Server name if you don't have a local installation; you should use the service or user account that you created earlier (see Figure 2).

After completing the database configuration options for your selected components, you'll come to the Summary screen where you have the option to save an XML file of the configuration. Click the Save button; this will save an XML file for later use. Click Next to begin the configuration process. When it's done, review the log file before clicking Finish to complete the process.

After running the configuration wizard, re-launch Setup and install the Business Management Applications. Accept all the defaults; you'll need all the applications installed. In a production environment, you should consider deploying a Business Management Server to host these tools. Once the tools are installed, you'll need to unpack and configure a Commerce Server site to install the Web services that the tools use. The site also includes the framework needed by developers looking to create applications. Because you're upgrading immediately to CS 2009, you can do this after you've installed and configured CS 2007. After launching Setup, click Next; accept the license agreement and click Next again. This immediately launches the installation process.

Once installation is complete, the Server Configuration Wizard should launch automatically. At that point, you can use the previously saved XML file to pre-populate the configuration fields. You'll need to re-enter the service-account passwords manually.

Click Next to move past the welcome screen. Because you used that XML file, you should see the correct information on the administration database screen. However, you'll need to re-enter the password. Click the Test button to confirm a successful connection to SQL Server. If the connection is successful, click Next to configure the optional components that you installed with CS 2007. After completing the configuration, you'll come to the Summary screen, where you'll be able to review the components to be configured. Click Next to start the configuration process. Once it's completed, you'll have a chance to review the log file. Click Finish.

The next step, which will launch automatically, is the Upgrade Wizard. Again, click Next to move past the welcome screen. At that point, you'll be asked to specify the log file path; the default path is acceptable. Because you haven't configured any sites, this process should go quickly. If you're performing an upgrade on a CS 2007 production system, however, the process will take longer to complete. Once the upgrade process is complete, click Finish.

At that point, you're ready to begin deploying Commerce Server sites. There are two sites included with CS 2009: the new Default Site, which is based on SharePoint, and the CSharp site. We'll focus on the Default Site.

To start deployment, launch the SharePoint Commerce Services Configuration Wizard. (If you're using Windows Server 2008, ensure that User Account Control is turned off before taking this step.) After launching, the wizard will complete a dependency check. Click Next, then decide whether to install the Commerce Web Parts or the SharePoint Default Web site and Web Parts. In this article, we'll install the Default Web site and Web Parts. Click Next to move on to the SharePoint application and site collection configuration screen. Then click the ellipsis to the right of the drop-down box; the wizard will walk you through creating a SharePoint Web application.

After you've selected the Web application to use, you should modify the Site Collection Title to something more meaningful than the default value of "Home." The next choice is identifying the Site Collection Administrator; by default, this will be the user you're currently logged on as. Then you should decide whether to change the Commerce Server site name and whether you want just the site or the site with sample data. If you're evaluating CS 2009, I suggest you use the sample data; otherwise, just unpack the site. Then change the database server name if you are not running SQL Server locally. After clicking Next, you will have a chance to review a summary of the configuration information.

Once you have read the Summary, click Next to begin the configuration of SharePoint. In most environments, this process should take only a few minutes. When that process is complete, you should see a results screen. Review the results to confirm that there are no errors, then click Finish. Note: If you click the View Site button, your new Commerce Server SharePoint site won't launch because there's more configuration to perform.

The first step is unpacking the Web services into the new site you just created. Navigate to <commerce server install directory>\Microsoft Commerce Server 2009\Site and find the site package called MicrosoftCommerceDefaultSiteWithSampleData.pup. Double-click to launch the Commerce Server Site Packager, which contains a sample catalog from Adventure Works. Once CS Site Packager has launched, choose Custom Unpack. Next choose Add an Application in the Package to an Existing Site, then click Next. Select DefaultSite and click Next. Leave all applications checked and click Next again. When the IIS Computers, Web Sites and Paths screen loads, select the Web site to use. The application names and associated virtual directory paths can be left at their default values.

As a general recommendation, don't use the SharePoint Web site that you just created as a target. Selecting the IIS Default Web Site is a good alternative in a testing situation. Click Next to begin the unpacking process; click Finish once complete.

To complete the process, you'll need to configure a series of permissions both on the Commerce Server and on the SQL Server. First, apply the NTFS permissions on the Commerce Server (see Figure 3).

Figure 3 NTFS Permissions on Commerce Server
Folder/File Name Service Account to Add Permission to Add
\Windows\Microsoft.NET\Framework(64)\v2.0.xxxxx\ Temporary ASP.NET svc_cscatalog; svc_csmarketing; svc_csorders; svc_csprofiles; svc_csiis Write
\Windows\Temp svc_cscatalog; svc_csmarketing; svc_csorders; svc_csprofiles; svc_csiis Write
CatalogAuthorizationStore.xml svc_cscatalog Write

Now create security groups to assign Administration roles within Commerce Server. CS 2009 uses Authorization Manager to assign these roles; you'll add all Administration users to these groups and then assign the Authorization Manager roles to the groups. These groups will allow full administration of CS 2009.

In production, you should assign more granular roles that more closely match user responsibilities to Commerce Server functionality. For example, the four Administration Groups and their relationship with Authorization Manager are shown in Figure 4.

Figure 4 Commerce Server Administration Groups, Authorization Stores and Roles
Group Name Authorization Manager Store Role
CS Catalog Admin CatalogAuthorizationStore Administrator
CS Marketing Admin MarketingAuthorizationStore Marketing Administrator
CS Orders Admin OrdersAuthorizationStore Orders Administrator
CS Profiles Admin ProfilesAuthorizationStore Profile Administrator

To launch Authorization Manager, you must launch the Microsoft Management Console (azman.msc) from Windows. Click Start, then Run. Once Authorization Manager launches, you'll need to add the Commerce Server Authorization stores. Right-click on Authorization Manager and select Open Authorization Store, making sure the selected store type is XML, then browse to the directory that holds the Web files for Commerce Server. For example, if you installed the catalog Web Services to the default Web site in a default install of IIS, the path would be c:\inetpub\wwwroot\defaultsite_catalogwebservice\CatalogAuthorizationStore.xml. As shown in Figure 4, you need to do this for all four Web services.

The next step is to grant database access to the Web service accounts (see Figure 5). These accounts were added as SQL logins when they were created. You'll need to add SQL permissions to all Commerce Server sites. In our example, this means the Default Site databases.

Figure 5 Grant database access to Web service accounts (which were added as SQL logins when they were created).
Database Account Database SQL Server Roles
svc_cscatalog MSCS_Admin admin_reader_role
  MSCS_CatalogScratch db_datareader, db_datawriter, db_ddladmin
  DefaultSite_ProductCatalog ctlg_CatalogWriterRole, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, Inventory_ReaderRole, Inventory_WriterRole
svc_csmarketing MSCS_Admin admin_reader_role
  DefaultSite _Marketing mktg_MarketingService_role, mktg_promoCodeGenerator_role
  DefaultSite _MarketingLists db_owner
  DefaultSite _ProductCatalog ctlg_catalogReaderRole
  DefaultSite _Profiles Profile_Reader, Profile_Schema_Reader
svc_csorders MSCS_Admin admin_reader_role
  MSCS_CatalogScratch db_datareader, db_datawriter, db_ddladmin
  DefaultSite _Marketing db_ddladmin, mktg_runtime_role
  DefaultSite _ProductCatalog ctlg_catalogReaderRole, Inventory_ReaderRole
  DefaultSite _Profiles Profile_Reader, Profile_Schema_Reader
  DefaultSite _TransactionConfig Orders_Management
  DefaultSite _Transactions Orders_Management, Orders_Runtime
svc_csprofiles MSCS_Admin admin_reader_role
  DefaultSite _Profiles Profile_Schema_Manager, Profile_Runtime
svc_csiis MSCS_Admin admin_reader_role
  MSCS_CatalogScratch db_datareader, db_datawriter, db_ddladmin
  DefaultSite _Marketing db_ddladmin, mktg_runtime_role
  DefaultSite _MarketingLists db_datareader
  DefaultSite _ProductCatalog ctlg_catalogReaderRole, Inventory_RuntimeRole
  DefaultSite _Profiles Profile_Schema_Reader, Profile_Runtime
  DefaultSite _TransactionConfig Orders_Runtime
  DefaultSite _Transactions Orders_Runtime

Now create application pools for the Commerce Server Web services, using IIS Manager. These pools will use the services accounts you created earlier and represent the final step in tying all the existing pieces together. You'll need to create four application pools, one for each Commerce Server Web service (Catalog, Marketing, Orders and Profiles). When you create the application pools, accept all the default values. After completing this step, you'll need to modify the identity of the user account used by the application pool. Each pool should be associated with the corresponding service account you created earlier.

Next, you need to add the service accounts you created to the IIS Worker process groups. In Windows 2008, this is a local group called IIS_IUSRS; in Windows 2003, the group is called IIS_WPG. Now you can assign the Commerce Server applications to the application pools you created using IIS Manager. In Windows 2008, this setting is modified under the Advanced Settings command in the Action Pane; in Windows 2003, you access the setting under the properties of the application or site. After you finish this step, restart IIS.

One final step remains: configuring the default Channel for your SharePoint commerce site. To do this, first launch the SharePoint site in your browser. Click Site Actions in the top left corner, then Site Settings, then List Templates in the Galleries Column. Now click Change Configuration under Lists in the Quick Launch section on the left of the page. Next, click Channel, then Edit Item. In the value box, type "Default," then click OK. Now click Default Catalog, then Edit Item. In the value box, type "Adventure Works." At this point, you've finished the configuration and you're ready to begin exploring Commerce Server 2009.

Alan Maddison is a Senior Consultant specializing in Microsoft technologies with Strategic Business Systems, a division of Brocade.