Vous êtes sur la page 1sur 35

Commerce Server 10.

1
Technical Overview
Published May 8, 2013
Version 1.0

www.commerceserver.net

Contents
Introducing Commerce Server 10 .................................................................................................................................................. 4
Solutions Overview ......................................................................................................................................................................... 4
System Highlights ........................................................................................................................................................................... 4
Platform Integration ....................................................................................................................................................................... 4
Platform Scaling and Performance ........................................................................................................................................... 4
Commerce Server 10 Editions .................................................................................................................................................... 5
Commerce Server Deployment Concepts and Terms ....................................................................................................... 5
Commerce Server Software Requirements ........................................................................................................................... 6
Commerce Server Architectural Overview .................................................................................................................................. 8
Multi-Channel Enabled ................................................................................................................................................................. 8
Commerce Server Business Management Applications..................................................................................................... 10
Catalog Manager .......................................................................................................................................................................... 11
Catalog Data.............................................................................................................................................................................. 11
Catalog and Inventory Schema Manager ...................................................................................................................... 12
Catalog and Inventory Schema Data ............................................................................................................................... 12
Marketing Manager ..................................................................................................................................................................... 13
Marketing Data ........................................................................................................................................................................ 14
Customer and Orders Manager .............................................................................................................................................. 15
Customers and Orders Data ............................................................................................................................................... 15
Commerce Server Web Experiences .......................................................................................................................................... 16
Integrating with Content Management Systems............................................................................................................. 17
Integrating with Search and Analytics Systems ............................................................................................................... 17
Commerce Server Systems ............................................................................................................................................................ 17
Commerce Server Multi-Channel Foundation .................................................................................................................. 17
Commerce Server Core Systems ............................................................................................................................................ 18
Catalog System ........................................................................................................................................................................ 18
Inventory System ..................................................................................................................................................................... 20
Marketing System ................................................................................................................................................................... 20
Orders System .......................................................................................................................................................................... 22
Profiles System ......................................................................................................................................................................... 24
Commerce Server Development Platform ............................................................................................................................... 26
Commerce Server .NET API and the .NET Framework ................................................................................................... 26
Commerce Server Application Runtime .............................................................................................................................. 26
Commerce Server .NET Framework Class Library ............................................................................................................ 27
Commerce Server 10 Technical Overview

P2

Common Language Runtime Interoperability Layer ...................................................................................................... 27


Development Support for International Commerce Server Sites ............................................................................. 27
Commerce Server Adapters for BizTalk Server ...................................................................................................................... 28
Commerce Server Adapters Architectural Overview ...................................................................................................... 29
Commerce Server Setup and Deployment .............................................................................................................................. 31
Commerce Server Setup and Deployment Applications .............................................................................................. 31
Commerce Server Starter Site Packages. ............................................................................................................................ 32
Commerce Server Setup and Deployment Command Line Interface Tools ......................................................... 32
Commerce Server Deployment Environment ................................................................................................................... 32
Windows Authentication and Windows Integrated Security ................................................................................. 33
Secure Sockets Layer (SSL) .................................................................................................................................................. 33
Granular Security through Role-Based Authorization Access ............................................................................... 33
Granular Security of Application and Web Service Access to Commerce Server Databases .................... 33
User Authentication................................................................................................................................................................ 34
Commerce Server Administration and Operations .............................................................................................................. 34
Commerce Server Management and Monitoring Tools ............................................................................................... 34
System Management and Monitoring Tools..................................................................................................................... 35
Administration and Operations Automation and Command Line Tools ............................................................... 35

Commerce Server 10 Technical Overview

P3

Introducing Commerce Server 10.1


Commerce Server 10.1 lets you create multi-channel commerce applications and extend your business
securely over the Internet or Intranet/Extranets or into the Amazon Web Services or Microsoft Azure
clouds. Alternatively, you can integrate Commerce Server into an existing e-business infrastructure.

Solutions Overview
Commerce Server provides a comprehensive solution for many business scenarios, including:

Business-to-consumer (B2C) sales of tangible or digital goods or online service delivery.

Business-to-business (B2B) scenarios, such as e-procurement and trading communities.

B2X scenarios, combining business-to-consumer (B2C) and B2B.

Self-service portals using catalogs or profiles for personalized information delivery.

Hosted services where multiple site or application instances are deployed on a single set of physical
infrastructure to handle either multi-brand or hosted ISP scenarios.

System Highlights
Each aspect of developing, deploying, managing, maintaining, and monitoring e-commerce sites is
designed to help maximize security, minimize total cost of ownership, accelerate time to market, and
simplify exchange of data with existing line-of-business (LOB) systems and trading partners.
You can create Web sites and native application experiences (such as mobile applications, kiosk
applications, or Rich Interactive Applications) that can support millions of users and products off of the
same technological foundation. With out-of-the-box functionality, you can quickly start interacting with
the various systems and processes that help you to develop, manage, maintain, and help secure
Commerce Server solutions.
The Commerce Server development platform and service oriented architecture make it easy to extend and
repurpose Commerce Server functionality. Also, with multilingual and multicurrency support, supporting
globalized solutions is easier than ever.

Platform Integration
Commerce Server builds on the foundation of .NET products such as SQL Server and Visual Studio, and
open XML standards to provide a comprehensive solution for creating, managing, and maintaining ecommerce sites and Web business applications.

Platform Scaling and Performance


Commerce Server was built and tested to support large enterprises and to be deployed in 99.9%
availability customer environments. It was tested against the following criteria on commodity hardware:

1 million products, 11,000 categories

100 million profiles containing a mix of users, credit cards and addresses

400,000 orders/day (12 hour peak)

Commerce Server 10 Technical Overview

P4

Commerce Server 10.1 Editions


Commerce Server 10.1 is available in a single on-premise edition, which is the upgrade path from all
previous versions of Commerce Server. This edition can be deployed to the cloud in a Bring-Your-Own
License scenario. Alternatively, we are offering the Cloud Starter Edition (initially through the Amazon
Web Services Marketplace) to offer a value-priced single server solution in the cloud.

Commerce Server Deployment Concepts and Terms


The following are useful concepts and terms regarding Commerce Server deployments:

Commerce Server deployment. A Commerce Server deployment includes one or more physical
installations of Commerce Server directed to or sharing a single Commerce Server administration
database. All Commerce Server sites that share a common administration database make up a single
Commerce Server deployment.
Commerce Server can be supported in a number of physical deployment configurations:
o

Single Box Commerce Server Presentation, Application and Database on one physical
machine

Two-Tier Commerce Server Presentation and Application (hosted in-process to the


Presentation) on one physical machine and the Database on a second physical machine

Logical Three-Tier Commerce Server Presentation and Application on one physical


machine and the Database on a second physical machine. This differs from Two-Tier in that
the Application is hosted as a service

Physical Three-Tier Commerce Server Presentation on one physical machine, Application


(hosted as a service) on a second physical machine and Database on a third physical machine.

Commerce Server site. A Commerce Server site includes a collection of site resources and ASP.NETconnected applications that use these resources through the Commerce Server object model. With a
Commerce Server site, you can administer the applications in the site as a group. Be aware that a
Commerce Server site does not map to the concept of a Web site in Microsoft Internet Information
Services (IIS).

Commerce Server resource. A Commerce Server resource is an entity that provides functionality to
the applications in a Commerce Server site and that contains properties that you can configure
through Commerce Server Manager. Resources consist of global resources that you share across
Commerce Server sites and site resources that are site specific. The Data Warehouse is an example of
a global resource, whereas a Catalog is an example of a site resource.

Commerce Server application. A Commerce Server application is a logical representation of an


application in IIS; it appears in both the Commerce Server Manager and IIS console trees. In the IIS
console tree, an application is either at the root directory level of the Web site or at a subdirectory
level of the Web site. Web services do not count as Commerce Server applications for license
purposes.

Commerce Server Web server. In Commerce Server, a Web server is a computer on which IIS is
installed. The Web server contains the virtual directories, files, and subfolders for a Commerce Server
site. A Commerce Server deployment can have multiple Web servers that together form a Web farm.

Commerce Server Web site. A Web site is an IIS Web site that is running on a specific TCP port
number. Examples are the "Default Web Site" or "Administration" Web site. By default, you install
these sites with IIS.

Commerce Server 10 Technical Overview

P5

Commerce Server Core Base Class Library (API). The core Commerce Server Application
Programming Interface (API) used to communicate between applications and Commerce Server data.

Commerce Server Foundation (API). An abstraction of the Core Base Class Library that delivers a
unified API, multi-channel commerce, developer extensibility and enablement for 3-tier deployments.
It also allows you to build native applications (e.g. mobile) and run them securely over the Internet.

Commerce Server Request Template Framework. An API built upon the natural extension points of
Commerce Server Foundation. It removes the need for front-end developers to have an in-depth
knowledge of Commerce Server, provides a clear separation between presentation and business logic,
reduces the amount of data sent between presentation and application code, and replaces code with
configuration

Multi-Channel Commerce. The ability to tailor and serve data and content to multiple channels (web,
mobile, kiosk, etc.) without the need to rewrite business logic for each channel

Commerce Server Software Requirements


The following table summarizes the software products required to support various function in a
Commerce Server deployment.
Area

Software

Operating System

Microsoft Windows Server 2008 R2 or


Windows Server 2012 for production usage
x64 editions of Microsoft Windows 7 or
Windows 8 are supported for development
scenarios.

.NET Framework

Microsoft .NET Framework 3.5 or 4.5 with


Microsoft Visual Studio 2010 or Visual
Studio 2012

Database

Microsoft SQL Server 2008 R2 or SQL Server


2012 SP1

Integration

Microsoft BizTalk Server 2010 or BizTalk


Server 2013

Business User

Microsoft Windows XP Professional SP3 and


Windows Vista (in addition to the Operating
Systems listed earlier) with support for
both 32-bit and 64-bit platforms

SharePoint

Microsoft SharePoint 2010 or SharePoint


2013

Commerce Server 10 Technical Overview

P6

Area

Software

Cloud Support

Microsoft Azure Medium, Large, Extra Large,


A6, or A7 Instances running a supported
platform
Amazon Web Services M1 Medium and
Larger plus M3 Extra Large and Double Extra
Large Instances running a supported
platform

Commerce Server 10 Technical Overview

P7

Commerce Server Architectural Overview


Commerce Server provides the applications and tools to meet the needs of all audiences of enterpriselevel e-commerce systems:

Customers. Commerce Server provides a highly scalable, highly-performing e-commerce platform


that gives a complete, personalized online shopping experience through any medium that can be
delivered by using browser-based or Web-service technologies.

Business Users. Commerce Server provides four Windows Smart Client Web services-enabled

applications for managing the daily operations that are associated with catalogs, marketing
campaigns, direct mail campaigns, and more.
For more information, see Commerce Server Business Management Applications.

Developers. Commerce Server extends the Microsoft .NET Framework and Visual Studio development

platform to facilitate the development of e-commerce and related applications.


For more information, see Commerce Server Development Systems, Commerce Server Development
Platform, and Development Support for International Commerce Server Sites.

IT Professionals. Commerce Server provides several tools to 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.
For more information, see Commerce Server Setup and Deployment and Commerce Server
Administration and Operations.

Line-of-Business and Trading Partner Integration. Commerce Server connects to internal and partner
applications and systems such as Microsoft Dynamics, and others through Microsoft BizTalk Server
adapters.
For more information, see Commerce Server Adapters for BizTalk Server.

Multi-Channel Enabled
Commerce Server supports the ability to engage and sell to customers through different mediums (or
channels). The Commerce Server Multi-Channel Framework (MCF) provides a true dividing line for
presentation versus business logic. This separation allows for defining and re-using common business
logic across multiple channels.
In addition, business logic can be augmented, or overridden for a specific channel through configuration.

Commerce Server 10 Technical Overview

P8

The following figure shows the architecture of Commerce Server:

Figure 1. Commerce Server 2010 Architectural Overview

Commerce Server 10 Technical Overview

P9

Commerce Server Business Management Applications


Commerce Server provides Windows Smart Client Web services-enabled applications that improve
usability and accuracy of business user tasks. The Business Management Applications contribute to better
performance and concurrent scalability of business user tools. In addition, they help improve the
extensibility of Commerce Server and the .NET developer experience.
The Business Management Applications support large multinational organizations where independent
business units may have control over specific aspects of business, such as marketing, advertising, catalog
management, product pricing, and more. Core capabilities include:

.NET Windows Smart Client Web Services-enabled Applications


o

A design model that is based on Microsoft .NET Framework

Data-driven dynamic controls with an extensible user interface through the Extensibility Kit

Data exposure in the user interface.

User interfaces that include mechanisms to reveal relevant data on objects without requiring
the business user to review edit pages.

Usability Features:
o

Decreased learning curve because of a familiar interface model and common user interface
workflow, with a Microsoft Windows Desktop appearance and metaphor.

Task-based interface with an inductive workflow model that leads you through complex tasks
and commands that appear in the interface in a contextual manner, and that changes to
match the focus of the user.

Simplified workflow with wizards to help you create complex objects and data edit pages
broken down into constituent components. This makes task management easier.

List views, where you can view search results or data objects, sort objects based on a selected
property, select fields for sorting, and select the fields to use for sorting a list view.

Preview pane, where you can view the properties of an object selected in List View.

Status view, where you can view a summary of information for the selected object.

Tree views, where you can view and explore the catalog hierarchy or marketing data
hierarchy, and display objects alphabetically or sequentially.

Enhanced Search Support:


o

Perform expression-based searches based on any number of object properties.

Security Enhancements:
o

Granular role-based enhanced security is managed by using Windows Authorization


Manager.

Granular authorization of scopes, roles, tasks, and operations manages access to each
Commerce Server system.

Security levels are applied on each of the individual view states for each of the Business
Management Applications to support role-based access.

Users must be authorized to perform specific tasks.

Commerce Server 10 Technical Overview

P 10

Catalog Manager
Commerce Server Catalog Manager lets you import, export, create, and manage online catalogs. Catalogs
provide a way to organize the products you want to sell. You store catalog and product data in a
database, group catalog data into categories and products, and define descriptions and pricing
information for products and services.
Catalog Data
You manage the following data by using the Catalog Manager:

Base catalogs. A grouping of categories and products that you use to organize and present
information on a Web site.

Catalog sets. A group of catalogs that are jointly assigned to a group of customers.

Categories. A group of products in a catalog.

Inventory catalogs. A type of data storage that holds inventory data for the products and variants
for single or multiple product catalogs.

Products. A single item defined in a catalog that corresponds to either a physical product or
service item. You use product definitions, product variants, and product families to manage
products.

Virtual catalogs. An aggregate of one or more base catalogs or virtual catalogs with pricing,
language, and other properties assigned to provide variations of catalog information on a Web
site. This is typically used for such scenarios as:
o

Aggregation of supplier catalogs into a single catalog for presentation

Partitioning of catalogs for B2B purchasing contracts, sale events, or specific customer
segments (such as geographical markets)

Any combination thereof

Commerce Server 10 Technical Overview

P 11

The following diagram illustrates the main user interface for managing catalogs, categories and products:

Catalog and Inventory Schema Manager


The Commerce Server Catalog and Inventory Schema Manager lets you perform the following tasks:

Define new property elements that you can use to define catalog, product, and inventory data objects.

Manage the Catalog System database schema to support the real-time management of catalogs and
products for display on the Web site.

Manage the Inventory System database schema to support the real-time management of inventory
for items in catalogs.

Catalog and Inventory Schema Data


You use the Catalog and Inventory Schema Manager to manage the following data:

Catalog metadata. The set of properties that you use to define and store data that holds product and
catalog information.

Category definitions. A collection of properties that specifies the information that is stored for the
category.

Inventory catalog metadata. The set of properties that you use to define and store data that holds
inventory catalog information.

Inventory SKU metadata. The set of properties that you use to define a single directly sellable
product or variant. You use stock-keeping unit (SKU) metadata to specify properties that track
inventory, such as In Stock, Quantity in Stock, Back-Ordered, and more.

Product definitions. A collection of properties that specifies the information that is stored for a
product.

Commerce Server 10 Technical Overview

P 12

Property definitions. An attribute that describes a characteristic of a product or category, such as


Name, Title, Color, and so on. Property definitions are the fundamental unit defining schema data.
Multiple product definitions and category definitions can use a property, and you can share the
property across catalogs.

Property metadata. Data that you assign to a property.

The following diagram illustrates the main user interface for managing catalog related properties, product
and category definitions:

Marketing Manager
Commerce Server Marketing Manager lets you personalize the customer buying experience with targeted
merchandising by determining the type of content that the customer will see and when to deliver the
content. You can create an ad campaign, a discount campaign, or a direct mail campaign, and then specify
when to deliver the content to a targeted group of customers.
You can perform the following tasks by using Marketing Manager:

Create and manage customers, campaigns, advertisements, discounts, coupons/promotion codes,


expressions, and lists (for exporting to direct mail systems).

Personalize the buying experience with targeted merchandising.

Create and schedule campaigns for customers who compete in the same industry in such a way that
the competing ads never appear on the same page.

Commerce Server 10 Technical Overview

P 13

Marketing Data
You use Marketing Manager to define and update the following information:

Advertisements. A piece of content that Commerce Server delivers on the Web site based on a
specific formula for delivery. An advertisement typically has a delivery goal, date ranges, and target
attributes.

Campaigns. A marketing program that represents one or more contracts or orders from an advertiser.

Campaign expressions. A condition that Commerce Server evaluates against profiles to determine
whether to deliver content, or perform another action. Expression-based marketing is the process of
creating expressions that define the customers or context that you want to target and the type of
content that you want to deliver.

Customers. An owner of a marketing campaign such as an advertiser, an agency, or a business


manager that is using Commerce Server.

Discounts and coupons/promotion codes. A type of marketing promotion in which you invite
shoppers to save money on specific products or product groups.

User lists. A collection of user records that you can export to a direct mail system for targeted
marketing purposes.

Reference tables. Reference data that specifies limits or describes information that you use to
manage the size and placement of advertisements on your Web site, and associate advertisements
with specific industries.

Commerce Server 10 Technical Overview

P 14

The following diagram illustrates the main user interface for managing marketing related advertisements
and discounts:

Customer and Orders Manager


The Commerce Server Customer and Orders Manager lets you manage information that is stored in the
Orders and Profiles databases. You can perform the following tasks from the Customer and Orders
Manager application:

Find orders and baskets based on specified criteria.

View customer orders and baskets.

Remove and clear old orders and unfulfilled baskets.

Create and edit profile data, site terms, shipping methods, and payment methods.

Customers and Orders Data


You can manage the following information by using the Customer and Orders Manager:

Baskets. A virtual container on a Web site that holds the products and services that a customer wants
to purchase.

Orders. Commerce Server creates an order when a customer purchases a product or service from
your Web site. An order contains all the information necessary to process the order, such as customer
information, date purchased, currency used, tax information, and more.

Commerce Server 10 Technical Overview

P 15

Payment methods. The method that customers use to pay for the items that they purchase on a Web
site. Commerce Server supports these types of payment methods: credit cards, gift certificates,
purchase orders, cash cards, and custom methods.

Shipping methods. A way to fulfill delivery to customers of the goods that they purchase on a Web
site. Commerce Server supports three types of shipping methods: Charge by subtotal, Charge by
quantity, and Charge by weight.

Profiles. Profiles store information about business-related items, such as users and organizations.
Commerce Server supports these types of profiles: address, purchase order, credit card, currency,
organization, and user object.

Site terms. A set of valid values for information that the user provides. You use site terms to
standardize and restrict the choices that users see when you request user input on your site.

The following diagram illustrates the main user interface for managing orders, baskets and profiles:

Commerce Server Web Experiences


Since Commerce Server is based on the .NET framework you should have no issues integrating with any
ASP.NET based web technology. The Commerce Server Templates site on CodePlex
(http://cscodegen.codeplex.com/ ) has sample sites that show you how to build sites with ASP.NET
WebForms and MVC as well as SharePoint 2010 and SharePoint 2013.
The Site Templates project contains more than just sample pages, it also contains helpful libraries to get
you up and running quicker when building Commerce Server sites. It contains http modules to manage
users, support for https pages, controls, web parts, classes for managing site context, and a lot more.

Commerce Server 10 Technical Overview

P 16

If you are developing a site using Commerce Server Foundation, then consider using the Request
Template Framework (RTF) in combination with code generation as your means of talking to the
foundation. When you apply code generation to request templates it results in very simple, strongly
typed, one line calls to the foundation that even someone who has never worked with Commerce Server
can easily follow.

Integrating with Content Management Systems


Content Management Integration builds on top of everything in the Web Experiences section. You should
be able to integrate into any .NET based CMS without issue, if you want to use a non .NET based CMS it is
recommended you use the WCF web service exposed by the Commerce Server Foundation, or create your
own custom web service that wraps around the Commerce Server Core.
Site templates for SharePoint 2010 and 2013 are also now available on CodePlex Site Templates site
(http://cstemplates.codeplex.com/ ). The SharePoint templates will focus around using web parts in
combination with the request template framework to build out the site. Development in SharePoint can
be quiet cumbersome, so by using the Request Template Framework the majority of Commerce Server
development is pushed to the backend so developers can spend less time in SharePoint and more time
developing the actual commerce features.

Integrating with Search and Analytics Systems


Commerce Server uses SQL Server Full Text Search under the covers for its search functionality, but to get
a rich search experience we recommend using a 3-tier party search engine such as FAST, Lucene, Coveo,
or Endeca.
Regardless of your search engine your first step will be getting the data out of Commerce Server, and
there are basically two options for this. You can use BizTalk to extract catalog data, transform it, and push
it to the search engine, or write a console application to extract the data using the Core or Foundation API
and turn it into the required format.
To determine which properties you should extract for searching we would recommend leveraging the
meta information on Property Definitions in Catalog and Inventory Schema Manager. You could use the
Free Text Searchable property to indicate a property to export and then use something like
Specification Searchable to indicate a property that should be used for facets.
Commerce Server does not have any built in analytics, but it is a relatively small amount of effort to
integrate a third party analytics provider. If you are using a JavaScript based analytics engine, such as
Google Analytics, it is just a matter of rendering out the appropriate JSON required by the engine. If you
are using a non-JavaScript based analytics engine you can capture events by writing a custom opsequence component in Foundation API or add a custom pipeline component in the Core API.

Commerce Server Systems


Commerce Server Multi-Channel Foundation
The Commerce Server Multi-Channel Foundation is an API that encapsulates the Commerce Server Base
Class Library Runtime API. Its purpose is to simplify and unify the programming model, and it is
optimized to support consumer-oriented multi-channel retailing.
In addition, the MCF APIs expose a WCF service endpoint allowing for a physical multi-tier deployment.

Commerce Server 10 Technical Overview

P 17

MCF exposes a set of models, known as commerce entities, to represent the conceptual view of ecommerce. When you invoke the Commerce Server Foundation API, you perform an action (create,
update, delete, query or custom) against a commerce entity.
The general pattern of the MCF API is:

Create a request containing one or more operations

Submit the request to the MCF service for processing

Interpret the results returned by the service

Extensibility points, injected via configuration, allow for custom components to be included at any point
within the operation to augment or change the results.
The MCF API allows for multiple Commerce Server Sites to be hosted within the same Web Application,
thus reducing the overhead of multiple application pools and web applications.
Claims based identity is supported in Commerce Server through the MCF API. Commerce Server provides
a claim entity out of the box, and claims can be augmented by implementing a custom claims provider.

Commerce Server Core Systems


Commerce Server provides the following core systems:

Catalog System

Inventory System

Marketing System

Orders System

Profiles System

Each of these core systems supports:

.NET Framework access. You can interact with all of these subsystems using the Core or Foundation
APIs. Each API has different benefits
o

The Foundation has host multiple Commerce Server sites in one web application

The Foundation is 3-tier capable out of the box

The Core has full management capability

The Core has a much simpler development API

BizTalk Server integration. The Catalog, Inventory, Orders, and Profiles Systems are fully integrated
with BizTalk Server through the Commerce Server adapters.

Granular security. Commerce Server supports granular enhanced security of each system through
the implementation of security roles and authorization.

Catalog System
Commerce Server Catalog System provides full support for B2C, B2B, and B2x sites in which buyers and
suppliers perform transactions that use multiple currencies, and retail sites in which the retail business has
an international clientele. By using the Commerce Server Catalog System APIs you can create products,
categories, base catalogs, and virtual catalogs. You use the Catalog System to manage online catalogs.

Commerce Server 10 Technical Overview

P 18

Catalog System Benefits Overview


The Catalog System provides the following benefits:

Catalog Definition and Design


o

Aggregation. You can combine one or more categories or catalogs into a virtual catalog. For
example, if you are selling content from multiple suppliers, each of which sends you one or
more catalogs, you can combine the content into one aggregated catalog.

Categorization and re-categorization. You can categorize the items in your catalogs and
then re-categorize the items in a virtual catalog.

Product families. You can associate products that are similar or closely related. A product
family is not a sellable unit. It is a logical container for product variants.

Virtual catalogs. You can create a virtual catalog from one or more base catalogs. You can
also create a virtual catalog from another virtual catalog.

Associations and relationships. You can add products and categories as children of a
category in a catalog. You can create relationships between products and categories in one or
more catalogs. You can relate a product or a category in one catalog to a product or category
in the same catalog or in a different catalog.

Extensible schema. You can customize the catalog definitions to fit your business needs.

Product ranking. You can prioritize your products and determine the order in which they
appear in the catalog.

Catalog Data Management


o

Bulk updates. You can update and delete whole catalogs or categories with one action.

Data import and export. Exchange catalog information with trading partners by
importing/exporting the contents of a catalog to/from an XML file.

Inventory integration. The Catalog System is fully integrated with the Inventory System,
which lets you create and maintain inventory information.

Search capability. Three catalog search mechanisms are supported: guided search, or search
using specifications, search using an SQL clause, and free-text search.

Staging support. You can specify whether to stage specific catalog data, the catalog sets to
stage, whether to stage full text indexes of the catalog, and whether you want to update the
catalog cache after staging is completed. In addition, you can configure additional options to
control exactly what catalog data is staged.

Commerce Server 10 Technical Overview

P 19

International Catalogs
o

Multilingual catalogs. You can display category and product text in more than one
language. For example, you can display product information in English, French, and Japanese.

Multiple currencies in the catalogs. Catalogs can contain pricing information in multiple
currencies through the use of the Virtual Catalog feature.
For more information about international features, see Development Support for International
Commerce Server Sites.

Inventory System
The Inventory System provides management of the inventory of your catalog items. It lets you update
stock-on-hand and monitor depletion, and import and export inventory from and to external systems. The
Inventory System uses the same properties as the Catalog System. You create an inventory catalog and
populate it with inventory information for all products from your product catalogs.
An item in your inventory catalog is referred to as a stock-keeping unit (SKU). When you create a SKU, you
provide information about the properties of the SKU. The Inventory System uses these properties to
manage and monitor the inventory levels of each SKU. The Inventory System computes and monitors
several properties and settings including the On-Hand Quantity, In Stock, Stock-Out Threshold, and
Preordered Quantity.
By using the Inventory System you can:

Program your site to display the inventory condition of your products, such as in stock, backordered,
or pre-orderable.

Use the Inventory integration with the catalog objects to filter product listings by only products that
are in stock.

Decrement inventory levels with order transactions.

Handle inventory exceptions during the checkout process.

Synchronize inventory levels with external LOB system.

Aggregate multiple external inventory sources.

Inventory System Benefits Overview


The Inventory System provides the following benefits:

Inventory control functions. Information for products that include current quantities available, an
out of stock threshold, and whether the item can be back-ordered and to what quantity.

Integration with the Catalog System. The same features and functionality as the Catalog System.
For example, you can search inventory catalogs, import inventory catalogs, and export inventory
catalogs.

Integration with the Orders System. Pipeline components to check and update inventory during
purchases.

Marketing System
You use the Commerce Server Marketing System to perform targeted personalized e-marketing through
the Web or e-mail. It helps you to communicate with your shoppers in order to improve sales either
directly or indirectly. The Marketing System helps you do the following:

Commerce Server 10 Technical Overview

P 20

Personalize the buying experience with targeted merchandising. Create, analyze, and manage
personalized and targeted discounts, direct marketing, and advertising campaigns. Perform cross-sell
and up-sell advertising.

Deliver the optimal content for a given user in a given context. Enable customers on the Web site to
see ads and apply discounts by using coupons or entering promotion codes. Target ads or discounts
to users of a specific profile.

Enables you to create and manage campaign items such as discounts, ads, and direct mail lists that
you use as marketing tools to increase sales. Publish campaigns into production so that campaigns
only become visible to the run-time system on activation and approval.

Manage campaigns for customers who compete in the same industry so that the competitor's ads
never appear on the same page.

Marketing System Architectural Overview


You can access the Commerce Server Marketing System as both a management system and as a run-time
system. The components that you interact with vary depending on the way in which you are accessing the
system. The following figure shows the components and data flow for both systems.

Figure 2. Marketing System Architectural Overview

Commerce Server 10 Technical Overview

P 21

Marketing System Benefits Overview


The Marketing System supports the following functions:

Campaigns. Create campaigns or marketing programs that use the Web, direct mail, coupons to
accomplish a specific result, such as increase market share, introduce new products, or retain
customers.

Discounts and promotion codes. Create and publish promotional prices on products or product
groups to a target set of users. Discount interactions, order-level discounts, and targeting expressions
are supported.

Content Selection Framework (CSF). Deliver personalized content to one or more customers, or to
any other business entity that has a profile. For example, if you are running a sports Web site, you
might want to deliver tennis-related information only to tennis players, or to users who are interested
in tennis.

Targeted advertisements. Host expression-based, targeted advertisements on your site for your
products, or for the products of other companies. You can charge your advertising customers based
on the page where their ads appear and the number of ad requests (clicks) they want their ads to
receive.

Direct Mail List Management. Generate lists of targeted group of users and export them to a direct
mail package.

Orders System
Commerce Server Orders System provides the data storage and functionality for placing orders on a Web
site and maintaining status of orders after Commerce Server captures them for customer service
purposes.
Orders System Architectural Overview
The Orders database contains data about the objects in the Orders System. You can access the Orders
database through run-time objects, through a BizTalk adapter, through the Orders Agent, or directly
through the Orders Web service. The following figure illustrates the architecture of the Orders System.

Commerce Server 10 Technical Overview

P 22

Figure 3. Orders System Architectural Overview


Along with the different ways to access the Orders System, there are also different API sets for interacting
with the Orders System and different representations of Orders data.
Orders System Benefits Overview
The Orders System provides the following benefits:

Data abstraction. Because you access orders in your code by using an object model, your code does
not have to refer to the structure of the underlying data source. Includes such extensibility hooks as:
o

User definable XSDs.

User-definable Orders schema.

Process abstraction. The pipelines that process orders are abstracted from the Web site code. This
lets you create new pipeline components without rewriting the site code. Includes such capabilities as:
o

Process orders by using pipelines during the order's lifetime.

Commerce Server 10 Technical Overview

P 23

Customizable payment methods. Create new payment methods.

Named baskets. Implement custom types of baskets such as wish lists. Supports scenarios such as:
o

Add items to a shopping basket.

Add items to a wish list, recurring basket, or gift registry.

Basket display on the Web site.

Basket check out and purchasing.

Find, modify, and delete baskets.

Process punch-outs to accept baskets by using a Web service. (In a B2B scenario, one
company's online store might create baskets for another company's online store. The act of
processing a basket that was created by another source is called a "punch-out.")

Track in-progress orders/baskets and placed orders/purchase orders.

Split tenders. Handle processing of multiple payment methods for a single order.

Split shipments. Handle multiple shipment addresses for a single order.

Mapped storage. Map purchase orders to SQL tables so that you can mine purchase order data.

Extensible object model. Extend the .NET classes to modify the behavior of the Orders System.
Includes extensibility capabilities such as:
o

Maintain purchase orders in the Orders database for later search, retrieval, and processing by
other Commerce Server systems or external, third-party systems.

Represent orders as .NET classes, as name/value pairs, as columns in a database, or as XML


documents.

Web services. Use a service architecture, so that you easily can send orders to a LOB system. Provides
data management and advanced search functionality.

Integration with Microsoft BizTalk Server. Import and export APIs to support LOB systems
integration.

Profiles System
You use the Commerce Server Profiles System to collect information that you specify for any businessrelated item. For example, you can collect profile information for anonymous users, a context (such as the
date and time of a visit), or an organization. The Profiles System provides support for storing large
quantities of user data, such as online medical records, hosted Exchange integration, very large sites with
high concurrent usage, Enterprise environments with complex existing profile data, and Enterprise
environments with distributed management of profiles.
Profiles System Architectural Overview
The Profiles System lets you aggregate user profile data from multiple physical stores and to present this
data to the application developer as a single object. More importantly, you can extend this capability to
manage any logical business entity. The following figure illustrates the high-level architecture of the
Profiles System.

Commerce Server 10 Technical Overview

P 24

Figure 4. Profiles System Architectural Overview


You can base the Profiles data store in Active Directory, SQL Server, or both. You can also use ODBC or
LDAP sources in addition to Active Directory or SQL Server.
Profiles System Benefits Overview
The Commerce Server Profiles System provides the following benefits:

Data abstraction. Because you access profiles in your code by using an object model, your code does
not have to refer to the structure of the underlying data source.

Predefined and extensible profiles. Data definitions are provided for common business entities users, organizations, purchase orders, requisitions, products, accounts, and more. You can extend the
profile schema by using the Profiles Schema Manager.

Personalization. The predefined profile for a customer is integrated with the Commerce Server
Marketing System to let you personalize e-mail messages and create marketing campaigns that are
targeted to customers who have specific characteristics.

Single source for information. You can obtain all information about a customer from the customer's
profile, regardless of where the information is stored.

Commerce Server Membership Provider. Use this feature (an ASP.NET membership provider) to
validate user credentials that are stored in a database. It facilitates profile management tasks, such as
authenticating users, creating users, deleting users, verifying logon credentials, and changing
passwords, while letting you store the user information in the data source of your choice.

Active Directory Federation Service (ADFS). Supports single sign on across Web servers with
security context.

Commerce Server 10 Technical Overview

P 25

Data aggregation across Active Directory and SQL Data Stores. Store different properties of the
same profile in different data sources. For example, you might store frequently changing data such as
the customer's click history in SQL Server, and more static data such as the customer's logon ID in the
Active Directory directory service.

Data Store Partitioning. Allows distribution of physical stores for user profiles. You can partition your
data to store some instances of a profile in one data source, and other instances of the same profile in
a different data source.

Encryption and Security. Encrypt sensitive profile properties, such as passwords, by using a one-way
hash. You can use two-way encryption to send sensitive information over a network.

Scalability. Scale to 60 million users.

Commerce Server Development Platform


Commerce Server provides the systems, tools, and services that help you develop multichannel commerce
solutions. With the Commerce Server development platform you can build Commerce Server Web
applications, service-oriented architecture applications (including native mobile, social, or Rich Interactive
Applications), customize Commerce Server business logic, and integrate with other applications by using
BizTalk Server adapters.

Commerce Server .NET API and the .NET Framework


Commerce Server features full integration with Microsoft .NET Framework, Microsoft Visual Studio, and
Microsoft SQL Server in addition to integration with ASP.NET Authentication and Profiles/Membership
capabilities.
The Commerce Server .NET Framework APIs help you create ASP.NET Page Framework applications as well
as help you develop Web service applications.
You use the Microsoft Visual Studio development system to create NET-based Commerce Server
applications that use the Microsoft .NET Framework. Because Commerce Server is integrated with Visual
Studio, you can access Commerce Server programming interfaces within Visual Studio. You can also
create Commerce Web applications in a team development environment.

Commerce Server Application Runtime


The Commerce Server Application Runtime is an extension of the core runtime services that are provided
by ASP.NET that enable .NET-based Commerce Server applications to be configured and run within
ASP.NET. The Application Runtime enables you to configure the basic Commerce Server services used by
an application from a single location, without having to write any code.
The Application Runtime provides the core integration with ASP.NET, which enables you to create .NETbased Commerce Server applications without writing any code to configure the application. Additionally,
Commerce Server you benefit from the reliability and scalability features built into ASP.NET that include
automatic memory leak detection, access violation detection, and Web gardens.

Commerce Server 10 Technical Overview

P 26

Commerce Server .NET Framework Class Library


The Commerce Server .NET Framework Class Library is a collection of native classes, interfaces, and value
types that are included in the Commerce Server .NET-connected application Framework. This library
provides access to runtime Commerce Server functionality and is designed to be the foundation on which
Commerce Server .NET-based applications are built. The .NET Framework Class Library provides complete
access to all the Commerce Server Core runtime services.
The Commerce Server .NET Framework Class Library takes advantage of the .NET Framework
programming model, which gives you a consistent experience when you build .NET-based Commerce
Server applications. Additionally, Commerce Servers core services extend the "RAD for the Web"
programming model of ASP.NET because the data exposed by the Commerce Server .NET Framework
Class Library can be used together with the out-of-box ASP.NET Web Server Controls and third-party
controls.
The Commerce Server Foundation is a framework that sits on top of the Commerce Server Core. The job
of the Foundation is to 1) unify the Core APIs so that there is a common way to call all of the subsystems,
2) allow you to aggregate data from all of the systems that support your site under one API, and 3) to
enable 3-tier calls to Commerce Server.
The Request Template Framework is a feature of the Foundation that reduces the amount of code and
knowledge developers need to write to calls the Foundation. By allowing you to template out a request in
Xml it becomes easy to see what a request is doing, and simple to update to handle new changes.
To help make Foundation calls a lot more intuitive we have set up a code generation project on CodePlex
(http://cscodegen.codeplex.com/). The project comes with a set of T4 templates that will 1) generate
strongly typed Commerce Entities for you, and 2) create strongly typed request template calls. Having
code generation on request templates reduces all calls to one line, and having generated entities means
that when properties are added or removed from any Commerce Server subsystem your code will be
updated and you can catch any errors at compile time.

Common Language Runtime Interoperability Layer


The Commerce Server Core .NET Framework application has been designed to fully use the COM
interoperability feature of the common language runtime, and the existing COM-based Commerce Server
infrastructure through the Common Language Interop Layer. This is performed through a set of "Primary
Interop Assemblies" for Commerce Server classic COM components in order to make the migration from
classic ASP applications to ASP.NET applications easier.

Development Support for International Commerce Server Sites


For your Commerce Server Web application to be international, it must support multiple languages,
multiple currencies, and so on. Support for multilingual text and multicurrency is supported through the
addition of properties that define multilingual or multicurrency values or through the addition of separate
entities for each language. Features available in Commerce Server that support international commerce
sites are summarized here.

Multilingual features:
o

Multilingual catalogs. You create multilingual catalogs by sharing a common product


catalog that has information in multiple languages. You generate this information by adding
multilingual properties for each language you support on your site.

Commerce Server 10 Technical Overview

P 27

Multilingual ads, discounts, and direct mail. You create multilingual items by defining
separate advertising content, discounts, and direct mail campaigns for each language,
respectively.

Multilingual basket text display. You can display text on the Web page that describes a
discount in the user's selected language.

Multilingual profile properties. You create multilingual profile properties by adding custom
attributes to property definitions.

Multilingual shipping methods. You can display methods for all languages you support on
your site or you can limit the display to only those that match the preferred language of the
user.

Multilingual site terms. You use site terms to standardize and restrict the choices that users
see when you request user input on your site. You create unique site terms for each language
you support.

Multilingual requests. The MCF framework allows you to pass in the current culture and UI
culture as part of a request.

Multicurrency features
o

Multicurrency catalogs. You define a base currency per catalog. To price products in other
currencies, you apply a pricing rule or add extra currency properties or use virtual catalogs.

Multicurrency order processing. Commerce Server assumes that the prices for each item in
the cart are in the same currency. It is possible that the converted line items displayed on the
site do not match the total cost billed to the user because exchange rates change over time.
Prices must be marked as approximate when they are displayed.

Unicode data storage. All Commerce Server data stores support Unicode.

Support for Windows and SQL Locales. All locales supported by Microsoft Windows Server
and SQL Server are supported by Commerce Server.

Site templates. All of the site templates support localization through RESX files, and pass the
current culture and UI culture down to the foundation by default.

Commerce Server Adapters for BizTalk Server


The BizTalk Adapters for Commerce Server help you solve end-to-end connectivity and communication
issues with other LOB applications and trading partners. These adapters allow bidirectional
synchronization and orchestration of Orders, Catalog, Inventory, and Profiles objects. BizTalk
orchestrations define business processes that run across multiple systems.
Commerce Server adapters support the following scenarios:

LOB application integration, such as connecting a Commerce Server Web application sending orders
to an LOB warehouse application.

Data exchange between multiple trading partners, such as between a supplier and one or more
vendors, or between a supplier and a shipping company.

Commerce Server 10 Technical Overview

P 28

Data exchange between the Orders, Catalog, Inventory, or Profiles Systems within different Commerce
Server Web applications, such as between kiosk applications.

Support for Distributed Transaction Coordinator (DTC) transactions between the BizTalk Adapter for
Orders and Orders Web service to ensure atomic consistency of updates.

Stateful orchestrations to guarantee data consistency across multiple operations.

Commerce Server Adapters Architectural Overview


The following figure shows the Commerce Server and BizTalk Server architecture within which the
Commerce Server adapters reside. These adapters are labeled with bold text in the upper section of the
BizTalk Server box. The numbers along the left side of the figure correspond to the more detailed
explanation that follows.

Figure 5. Commerce Server Adapters Architectural Overview

Commerce Server 10 Technical Overview

P 29

1.

The Commerce Server BizTalk adapters communicate with Commerce Server by using the
Commerce Server Web service APIs. The Orders and Profiles Systems each expose their own Web
services and the Catalog and Inventory Systems share a single Web service.

2.

The receive adapters and send adapters for the Orders, Catalog, Inventory, and Profiles Systems
use the corresponding Web service APIs to exchange data with the associated Commerce Server
system. Some data is passed as API parameters and some data, especially large data, is
exchanged in the form of XML documents associated with the Web service calls and responses.

3.

Commerce Server receive adapters reside within BizTalk Server receive locations and Commerce
Server send adapters reside within BizTalk Server send ports. Together with receive pipelines and
send pipelines, respectively, they are responsible for interacting, on one side, with the various
Commerce Server systems by using the Web services supplied by those systems, and on the other
side, by using a set of predefined XML messages (adapter messages) that participate in typical
BizTalk Server message processing.

4.

Between the Commerce Server adapters and the BizTalk Server MessageBox database, a standard
set of XML messages are exchanged.

5.

You can use standard BizTalk Server message processing on the Commerce Server adapter
messages that are put into the MessageBox database. This includes orchestration processing, data
transformations, and so on. Some adapter messages can be very large, such as those that contain
large product catalogs.

6.

The ultimate purpose of using a Commerce Server adapter is to exchange data with an
application "on the other side" of BizTalk Server. This could be another instance of Commerce
Server, one of your own LOB applications with which it makes sense to automate the exchange of
business data, or perhaps one or more applications being run by your trading partners. The
formats in which these other applications expect to send and receive data is important to your
overall "connected commerce" solution, and BizTalk Server is your solution for making sure that
the XML messages produced and consumed by the Commerce Server adapters can be
transformed back and forth, as required, into these other formats.

BizTalk provides out-of-box support for many systems and protocols including:

SAP

Siebel eBusiness Applications

Oracle eBusiness Suite

Oracle Database

Microsoft SQL Server

Microsoft WCF LOB Adapter SDK

Microsoft Dynamics CRM

PeopleSoft Enterprise

JD Edwards OneWorld XE

JD Edwards EnterpriseOne

TIBCO Rendezvous

TIBCO Enterprise Message Service

IBM Mainframe zSeries (CICS and IMS) and midrange iSeries (AS/400)

Commerce Server 10 Technical Overview

P 30

IBM DB2

IBM WebSphere MQ

Microsoft Message Queue (MSMQ)

Windows File System

FTP and FTPs

HTTP (including over SSL)

SOAP

SMTP

POP3

Windows Communication Foundation (WCF)

SharePoint

HIPAA

HL7

RosettaNet

SWIFT

EDI (including X12, EDIFACT, EANCOM) over FTP, FTPs, HTTP, and AS2 protcools

RFID

Commerce Server Setup and Deployment


Commerce Server provides out-of-the-box functionality to customize and deploy new solutions. This
functionality includes applications, command line tools, and starter site packages. In addition, Commerce
Server incorporates several methods, such as accounts and roles and data encryption techniques, for
enhancing the security of your Commerce Server deployment.

Commerce Server Setup and Deployment Applications


User interface applications and tools that are provided by Commerce Server to perform setup and
deployment tasks include the following:

Commerce Server Setup/Installation Wizard. Commerce Server provides a simplified installation


experience that addresses the three types of installations: core components of Commerce Server,
installing the Business Management Applications for business users, and installing the BizTalk Server
Adapters for Commerce Server for use by developers and system integrators.

Commerce Server Configuration Wizard. Use to configure the core, global Commerce Server
components: Commerce Server Administration database and the Commerce Server Staging System.

Commerce Server Upgrade Wizard. Use to upgrade and migrate global resources, site resources,
and site data from Commerce Server 2000, 2002, 2007, 2009, and 2009 R2 to Commerce Server 10. It
upgrades site resources such as catalogs, orders, campaigns, marketing data, and profiles, and it
reviews catalog data to check for unauthorized conditions.

Commerce Server 10 Technical Overview

P 31

Commerce Server Site Packager. Use to package and unpackage Commerce Server sites to support
upgrade and deployment tasks. The Site Packager packages your Commerce Server site (including the
IIS metabase settings), file system, resources from the Administration database, and SQL Server
databases into a single file so that you can move that file to another environment. You also use it to
unpack the Commerce Server site (or sections of it) onto other computers.
Site packages make it easy for you to deploy sites and applications between different servers. When
you unpack a site, Commerce Server typically installs the Web site that users access. An application
can use only the resources of the Commerce Server site to which it belongs.

Commerce Server Starter Site Packages.


Commerce Server provides a basic package files to help with site development:

CSharp.pup. Contains all resources in a blank C# project. You can use this file to start developing a
Commerce Server solution.

CoreSamples.zip This contains some code samples for working with BizTalk and the Core APIs

Site Templates Project The Site Templates project is a collection of simple eCommerce web sites
that demonstrate how to interact with the Commerce Server Foundation API on different platforms.
The templates can be found http://cstemplates.codeplex.com/ and at the time of writing there are
ASP.NET WebForms and MVC templates, with SharePoint and Sitecore templates planned.

Commerce Server Setup and Deployment Command Line Interface Tools


For large deployment environments that require installation of Commerce Server onto many Web servers
or computers, the ability to automate and perform setup and deployment tasks remotely saves time and
minimizes errors. The following tasks can be performed through a command line interface or through
batch operations:

Commerce Server Install, Repair, and Remove. Commerce Server uses Microsoft Windows
Installer, which supports installation from the command line. By using the command-line syntax, you
can create a batch file for unattended installation, repair, and removal of Commerce Server
components.

Commerce Server Configuration. You can perform an unattended configuration or remove


configuration based on the settings that are provided in the XML configuration file.

Commerce Server Site Package. You can perform unattended site packaging or unpacking.

Commerce Server Deployment Environment


Commerce Server uses Windows Integrated Security, IIS, Windows Authorization Manager, and SQL Server
database role assignments to create and help maintain a secure deployment. The following sections
provide an overview of the security elements that are defined within the Commerce Server deployment
environment:

Windows Authentication and Windows Integrated Security

Secure Sockets Layer (SSL)

Granular Security Through Role-Based Authorization Access

Granular Security of Application and Web Service Access to Commerce Server Databases

User Authentication

Commerce Server 10 Technical Overview

P 32

Windows Authentication and Windows Integrated Security


Commerce Server supports Windows Authentication to SQL Server. This is also known as Windows
Integrated Security. Windows Authentication is the recommended configuration for a Commerce Server
installation. In Windows Authentication, Windows uses Windows user accounts to authenticate to SQL
Server. Commerce Server sets a tag in the connection string that tells the SQL Server to use Windows
Authentication when checking the security context of the user trying to access a given database.
When you use Windows Authentication, user names and passwords are not stored in the SQL Server
connection string, and are not changed when you reset the SQL Server password.
Commerce Server supports claim based identity. This allows the application to make use of an
authentication provider, or issuing authority, to validate the identity of the user and to issue claims in a
digitally signed secure token that describes the user,
When a user provides a digitally signed secure token with their request, the web application knows that
the user is authenticated because the secure token comes from an issuing authority it trusts.
Secure Sockets Layer (SSL)
In an e-commerce site, sensitive data such as customer credit card numbers must be encrypted and
transmitted over a channel that employs secure transfer methods. For implementing secure data transfer,
you use Secure Sockets Layer (SSL).
SSL is a scheme for protocols such as HTTP (named HTTPS when secure), FTP, and Network News Transfer
Protocol (NNTP). When you use SSL to transmit data, the data is encrypted, an encrypted channel is
established between the source and destination servers, and server authentication is enabled.
Granular Security through Role-Based Authorization Access
Commerce Server provides several predefined authorization roles to which you assign business users so
that they can perform specific tasks such as editing a catalog, creating a discount, and deleting an order.
To restrict business users from performing all tasks, you assign them to specific roles such as the
CatalogPropertyEditor role, where users can only manage individual catalog properties. With role-based
access control, you specify access control relative to the organizational structure of your company.
Granular Security of Application and Web Service Access to Commerce Server Databases
Each Commerce Server Web service accesses one or more Commerce Server databases. Application and
service access is restricted based on the user mapping of SQL Server login accounts and database roles.
Commerce Server database roles are predefined and highly granular. For example, for the Orders Web
service, the following roles are assigned to an SQL Orders Web service account:
Database

SQL Server 2005 Roles

MSCS_Admin

admin_reader_role

MSCS_CatalogScratch

db_datareader, db_datawriter, db_ddladmin

<site>_Marketing

db_ddladmin, mktg_runtime_role

<site>_ProductCatalog

ctlg_catalogReaderRole, Inventory_ReaderRole

<site>_Profiles

Profile_Reader, Profile_Schema_Reader

Commerce Server 10 Technical Overview

P 33

Database

SQL Server 2005 Roles

<site>_TransactionConfig

Orders_Management

<site>_Transactions

Orders_Management, Orders_Runtime

User Authentication
Commerce Server supports the following methods for authenticating users of your site:

Commerce Server membership provider, which integrates Commerce Server profiles with ASP.NET
logon and registration controls.

Commerce Server Administration and Operations


Commerce Server provides several applications and tools to support the daily operations of system
administrators to configure, manage, and monitor Commerce Server sites and systems. In addition,
Microsoft Windows Server and SQL Server provide a set of monitoring tools that system
administrators can use to monitor the performance of Commerce Server sites. With these tools, you can
analyze site usage and use the results of these analyses to fine-tune site performance and allow for
growth.
The following sections provide an overview of the administration and operations tools that Commerce
Server provides:

Commerce Server Management and Monitoring Tools

Windows Server System Management and Monitoring Tools

Administration and Operations Automation and Command Line Tools

Commerce Server Management and Monitoring Tools


User interface applications provided by Commerce Server to perform administration and operations tasks
include the following:

Commerce Server Manager. Use 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. Microsoft Management Console (MMC) hosts Commerce Server Manager.

Commerce Server Staging (CSS) System. Provides a complete end-to-end solution for
configuration, content, and business data staging. The CSS System lets you 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 solution.

Commerce Server 10 Technical Overview

P 34

System Management and Monitoring Tools


Additional tools available for managing and monitoring Commerce Server deployments include the
following:

Internet Information Services (IIS) Manager. Manage Web servers. You can configure IIS security,
performance, and reliability features; add or delete sites; start, stop, and pause sites; back up and
restore server configurations; and create virtual directories for better content management.

Microsoft Windows Server Active Directory Users and Computers. Manage Windows Server user
accounts, computer accounts, and security and distribution groups.

Windows Authorization Manager. Assign accounts to Web services authorization roles.

Windows Server Event Viewer. View event logs.

Windows Server Performance and Resource Monitors. Collect and view real-time computer
performance data.

Windows Server Backup Back up and restore the IIS metabase, Windows Server registry settings,
SQL Server databases, and Commerce Server files.

Microsoft SQL Server Management Studio. A comprehensive database platform that provides data
management with integrated business intelligence (BI) tools. The SQL Server database engine
provides secure, reliable, high-performance storage for both relational and structured data.

Administration and Operations Automation and Command Line Tools


You can perform the following administration and operations tasks through a command line interface:

Automate Commerce Server Staging.


o

Add pre- and post- processing scripts to customize staging tasks.

Schedule staging tasks.

Generate, encrypt, and roll profile key data.

Remove deleted marketing data. Remove outdated data, such as customers, campaigns, global
expressions, campaign items, ads, discounts, direct mail templates, and coupon codes that are older
than a specified number of days.

Track competing advertisements. Determine how competing advertisements are being displayed
and on what basis by using the trace advertisement selection tool

Reclaim unused or expired promotion codes.

Update catalog and profiles authorization roles.

Commerce Server 10 Technical Overview

P 35