Commerce Server 2007 Developer Boot Camp – Day 1
Module 1 – Microsoft Commerce Server Overview
Max recommended taking a look at the “Technical architectural overview of the CS2007” slides done by David Messner on Microsoft TechEd 2007
can be found on Commerce Server 2007 Architecture Slides (pdf)
There’s a diagram illustrating IT roles with interest areas
There are six main roles that will interact with the different activities that take part in Commerce Server 2007.
Commerce Server 2007 provides a highly scalable, high-performance e-commerce platform that gives customers a complete, personalized online shopping experience through any medium that can be delivered using Web client technologies.
Commerce Server 2007 provides four Microsoft Windows Smart Client Web Services–enabled applications to provide business managers with the tools for managing the daily operations that are associated with catalogs, marketing campaigns, direct mail campaigns, and more.
Commerce Server 2007 extends the Microsoft .NET Framework 2.0 and Visual Studio development platforms to make easier the rapid development of e-commerce and related applications. Commerce Server provides the tools for customizing each integrated system:
· Catalog and Inventory System
· Profiles System
· Customer and Orders System
· Marketing System
· Business Processing Pipeline System
Commerce Server 2007 provides several tools for systems administrators and operations personnel to quickly deploy, administer, manage, and monitor the health of the enterprise network. Additionally, with site staging and replication, you can automate the distribution and movement of data and sites across multiple environments.
Commerce Server 2007 provides complete business analysis and reporting capabilities in an integrated, end-to-end view encapsulating both the Web click stream and e-commerce business data—such as catalogs, customers, and orders—through its integration with Microsoft SQL Server™ 2000 Reporting Services and inclusion of pre-packaged reports.
LOB and trading partner integration
Commerce Server 2007 enables seamless connection to internal and partner applications and systems such as Microsoft Dynamics™, SAP, JD Edwards, and other companies through BizTalk Server adapters. In addition, with the new BizTalk Server adapters for the Profiles, Customer and Orders, and Catalog and Inventory Systems, Commerce Server 2007 helps accelerate and automate the delivery of products and services.
Some interesting performance related data
Commerce Server 2007 Performance Guide Document defines results received by Commerce Server team doing the performance testing against the Starter Site. Some of the data presented to us which are not in that document (check that) which also illustrates the impressive performance of Commerce Server 2007 are:
· Top-10 retail-oriented catalog scenarios
· 15+ catalog/virtual catalog mix on live site
· 2,500+ categories/catalog for 37.5 K+ categories live
· 250 K+ products/catalog for 3.75 M+ products live
· 250+ variants/product for 937 M SKUs live
· 600–1,200 campaigns w/2 M coupons active
· 60 M user profiles
· 10 GB/hour Data Warehouse import
· 100,000 orders/day (11-hour peak) with 500 concurrent users on 2 clients with MS SQL 2005 32 bit
· 700,000 orders/day (11-hour peak) with 500 concurrent users on 2 clients with MS SQL 2005 64 bit
On 5-10 client machines with 500 concurrent users results with Imports on every 20 minutes of 1000 SKU
– 4 order/sec peak (SQL Server 2005 32 bit)
– 11 order/sec peak (SQL Server 2005 64 bit)
There are 3 main Commerce server 2007 editions: developer, standard and enterprise.
Developer edition is basically enterprise edition but limited to 10 connections, free for development and download
Not supported functionality
Commerce Server 2007 removes the following functionality:
· Predictor and segment viewer (only a few customers in whole world used that and SQL Server 2005 Business logic now contain that)
· Catalog Element–centric import and export Extensible Markup Language (XML) of Commerce Server 2000 XML schemas
· Catalog XML-Data Reduced (XDR) support
· Microsoft Site Server 3.0 Pipeline components and migration objects
Additionally, Commerce Server 2007 no longer supports Active Server Pages (ASP) development or any versions of the Microsoft .NET Framework earlier than version 2.0. You can build Commerce Server 2007 applications only on Microsoft .NET Framework 2.0.
Different Types of Commerce Server 2007 APIs
There are basically two main types of accessing the CS API: WebServices (asmx) vs Agent APIs
Web Services: not WS* compliant. Inheriting and overriding web service method implementations allows extensibility of web services, Fiddler – HTTP spy could be used for WS XML message debugging and spying
Standard install document recommends installing SelfSSL certificate from IIS6 Admin Pack, but according to Max there are two issues with that:
- When a certificate is not been accepted as trusted
- When a CS Admin Db is installed on SqlExpress
He recommended using temporary VeriSign SSL certificate which is usable for CS 2007 developing purposes even after its trial period of two weeks would expire
Module 2 – Deploying Commerce Server
Minimal hardware requirements are pretty modest an they include:
- A 1 gigahertz (GHz) or faster processor
- 1024 MB of RAM
- 9 GB of storage space
- CD or DVD drive
- One 10 Mbps or faster NIC
Windows 2003 Standard and Enterprise edition (including the x64 versions fully supported)
Windows 2003 Web Edition – supports all features except data warehouse and requires separate box for SQL Server
Windows XP SP2 – Can be used for development too (look at Max post: PUT_HERE_POST_LINK)
You have to have administrator privileges on computer where you want to install Commerce Server 2007 and the Commerce Server 2007 Business Management applications. Log on to the operating system under a user account that has local administrator permissions.
To differ the user privileges you can assign the user to some specific role such as CatalogPropertyEditor or you can add the user account to business administrator groups: MarketingAdministrator or OrderAdministrator to give them access to all the parts
Commerce Server 2007 relies on roles based access control which management tool is Authorization Manager (Start>Run>azman.msc)
Besides AzMan, Commerce server support ASP NET 2.0 Membership provider which is recommended way of supporting customer authentication
The rest of the module were dedicated to the procedure of how to install Commerce Server 2007 which I plan to cover in a separate post so I won’t waste time here.
Installation from command prompt
The following are some examples of running Setup.exe command-line options.
· To install Commerce Server, run:
setup.exe /l %systemdrive%install.log /ADDLOCAL ALL /PRODUCT CommerceServer /passive /norestart
· To install Commerce Server Business Management applications, run:
setup.exe /l %systemdrive%install.log /ADDLOCAL ALL /PRODUCT CSUI /passive /norestart
· To install Commerce Server 2007 adapters for BizTalk Server 2006, run:
setup.exe /l %systemdrive%install.log /ADDLOCAL ALL /PRODUCT CSBTSAdapters /passive /norestart
Very useful installation scripts
Wade Wegner published on his blog 3 very useful posts about how to automate processes which usually are taking most of the time during installation. We were using some of those scripts in our labs and they are precious
This script assigns the write permissions to the Catalog Web service, the Temporary ASP.NET folder, and the Windows Temporary folder. These permission allow you to run the Business User applications through the Business Management Web services.
if you need to do choose during the install manual
Here’s another little script that helps with the installation of Commerce Server 2007 (perhaps when I’m all done, I’ll consolidate them all into an uber-script). This script creates the Business Management Administrator Windows groups, which are used to control authorization roles within the Authorization Manager.
This script creates four Windows groups (CatalogAdminGroup, MarketingAdminGroup, ProfilesAdminGroup, and OrdersAdminGroup) and then assigns users to those groups.
One of the more manually intense steps in the installation of Commerce Server is setting up the appropriate SQL logins and Database Role User Mapping. This task can easily take 30 – 60 minutes to complete if done manually. Furthermore, it’s likely that this is the easiest step to make a mistake, which will cause problems for you down the road.
So, to make this process quicker and less prone to errors, I’ve created an SQL script that you can run against your database. This script performs two tasks:
- Creates the SQL login accounts (e.g. COMPUTERNAMECatalogWebSvc).
- Associates the SQL login accounts to database roles.
Secure Commerce Server 2007 Tool
To secure Commerce Server sites on the fastest way you can use Secure Commerce Server 2007 Tool written by Max Akbar which would on the fastest way set up all the security related settings required for Commerce Server 2007 to work
Another interesting tool which should be used in case we would like to see content of some site package file (pup) is PUP Viewer for Commerce Server 2007
Module 3 – Managing and Monitoring Commerce Server 2007
There are couple of tools built to enable management and monitoring of the Commerce Server:
Commerce Server Manager.
Use Commerce Server Manager to manage and configure Commerce Server resources, sites, applications, and Web servers. This tool provides a common framework for managing Web sites in a single, integrated interface. MMC hosts Commerce Server Manager.
Commerce Server Staging.
A new system for Commerce Server 2007, CSS provides a complete end-to-end solution for configuration, content, and business data staging. By using CSS, you can deploy or stage your business data and Web site content from your development environment to your production environment.
Profiles Schema Manager.
Use to collect, track, and store data from and about customers by creating data sources, profile definitions, and site terms. Create profile definitions and properties to collect customer and business data, such as organizations, customer accounts, purchase orders, requisitions, and product properties from your Commerce Server Web site.
Commerce Server Health Monitoring Service.
A new Windows service in Commerce Server 2007, Health Monitoring Service monitors the state of your Commerce Server Web services and applications. It works with Microsoft Operations Manager (MOM) 2005 and the Commerce Server 2007 MOM Pack.
VSS Writer service.
A new Windows service in Commerce Server 2007, VSS Writer provides extra functionality for backup and restore of Commerce Server through the Windows Volume Shadow Copy Service framework.
Commerce Server Best Practices Analyzer.
A new tool that supports Commerce Server deployments, the Best Practices Analyzer performs configuration-level verification by gathering data from Windows Management Instrumentation (WMI) classes, SQL Server databases, registry entries, and other parts of your deployment. The Best Practices Analyzer uses the gathered data to determine whether best practices are being followed and generates several reports.
Performance measurement – best practices:
- Monitor interval should be 3-5 seconds.
- Turn off screen saver.
- Turn of not needed services
- Run System Monitor from remote computer
- Monitor only the counters really needed (don’t monitor too much of them)
For the certain pipeline counters you have to run pipeline first before defining counters you could pick the right instance to monitor. Others counters are specific per app domain.
Several unique resources exist for Commerce Server 2007.
The Microsoft Developer Network (MSDN) contains information about Commerce Server and other .NET Enterprise Servers. You may find it helpful to visit this site regularly. Search MSDN for Commerce Server to find related documents and white papers. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/commerceserver.asp
Commerce Server Partner SDK
The Partner SDK contains technical information for developers who create programs or intelligent Web pag
es that must integrate with the Commerce Server API. The Partner SDK contains a guide for programmers and references to various Commerce Server and commerce technologies. It also includes examples and header files that you can use to create your own programs. http://www.microsoft.com/downloads/details.aspx?FamilyID=CCBDAD9A-AB38-46C3-9667-9BFCEEDBBE88&displaylang=en
TechNet contains technical information and tools that are designed to help you plan, develop, deploy, and manage your e-commerce Web sites. For information about Commerce Server, select TechCenters on the top of the screen and then select Commerce Server. http://www.microsoft.com/technet/prodtechnol/comm/default.mspx
Peer-to-peer Forum gives you a chance to talk about Commerce Server with other administrators, developers, and Microsoft Most Valuable Professionals (MVPs). Microsoft does not monitor or support the content of these newsgroups or sites. http://forums.microsoft.com/msdn/default.aspx?forumgroupid=294&SiteID=1
Commerce Server Support lists support options available for Commerce Server. http://www.microsoft.com/commerceserver/support/default.mspx.
According to Max Akbar words PSS support cost ~$125 per hour and in case you are reporting the real bug, calls are for free
Catalog System Roles
CatalogAdministrator, Members can manage the Catalog System.
CatalogViewer, Members have read access to the Catalog System.
CatalogManager, Members can manage all the catalogs in the Catalog System.
SchemaManager, Members can manage the Catalog and Inventory Schema. This includes property, category, and product definitions.
CatalogSetsAdministrator, Members can manage all the catalog sets.
CatalogSetsViewer, Members can view all the catalog sets in the Catalog System.
InventoryAdministrator, Members can manage the Inventory System.
InventoryViewer, Members can view all the catalogs in the Inventory System.
InventorySynchronizationManager, Members can synchronize the run-time Inventory System with the management system.
Administrator, Members can manage the Catalog and Inventory Systems.
Order System Roles
OrdersAdministrator, Members can manage data integrity and cleanup issues.
OrdersConfigurationEditor, Members can manage order configuration data for the site.
OrdersViewer, embers have read access to view orders.
OrdersAdapter, Members can search orders for order processing and updates.
Profile System Roles
ProfileAdministrator, Members have complete access to the Profiles System.
ProfileWriter_BusinessManager, Members of this scope-level role have access to the profile that is in the scope.
ProfileWriter_CSR, Members of this scope-level role have access to the profile that is in the scope.
ProfileWriter_Adapter, Members of this scope-level role have access to the profile that is in the scope.
Transaction Cost Analyst (TCA) for CS 2007.
Capacity planning for CS2007 – we should measure TCA the 1000 users/site and then recommend based upon that that hardware to get 3x output. Calculations are based on a pre measured results of a starter site
Commerce Server Capacity Planning Tool
The Commerce Server Capacity Planning Tool helps to determine and rate your server performance, scalability, and flexibility in order to optimize your environment.
Module 4 – Staging Content in Commerce Server
Max said that this diagram is not correct because the Testing phase should be between the Development and Staging
I’ve made a separate blog on material related to staging presented on boot camp and posted it on Commerce Server 2007 Staging – How To
First day of the boot camp was very use full for people not too much familiar with Commerce Server 2007 product to get a general understanding on how this eCommerce platform is great. We have been presented some really decision making useful facts and we learned how to install and set up commerce server environment