35
Commerce Server 10.1 Technical Overview Published May 8, 2013 Version 1.0 www.commerceserver.net

Commerce Server 10.1 Technical Overview Whitepaper

Embed Size (px)

DESCRIPTION

Commerce Server 10.1 Technical Overview Whitepaper

Citation preview

Page 1: Commerce Server 10.1 Technical Overview Whitepaper

Commerce Server 10.1 Technical Overview

Published May 8, 2013 Version 1.0

www.commerceserver.net

Page 2: Commerce Server 10.1 Technical Overview Whitepaper

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 P 2

Page 3: Commerce Server 10.1 Technical Overview Whitepaper

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 P 3

Page 4: Commerce Server 10.1 Technical Overview Whitepaper

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 e-commerce 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 P 4

Page 5: Commerce Server 10.1 Technical Overview Whitepaper

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

o 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

o 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

o 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.NET-connected 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 P 5

Page 6: Commerce Server 10.1 Technical Overview Whitepaper

• 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 P 6

Page 7: Commerce Server 10.1 Technical Overview Whitepaper

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 P 7

Page 8: Commerce Server 10.1 Technical Overview Whitepaper

Commerce Server Architectural Overview Commerce Server provides the applications and tools to meet the needs of all audiences of enterprise-level 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 P 8

Page 9: Commerce Server 10.1 Technical Overview Whitepaper

The following figure shows the architecture of Commerce Server:

Figure 1. Commerce Server 2010 Architectural Overview

Commerce Server 10 Technical Overview P 9

Page 10: Commerce Server 10.1 Technical Overview Whitepaper

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

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

o Data exposure in the user interface.

o 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.

o 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.

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

o 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.

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

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

o 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.

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

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

o Users must be authorized to perform specific tasks.

Commerce Server 10 Technical Overview P 10

Page 11: Commerce Server 10.1 Technical Overview Whitepaper

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

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

o Any combination thereof

Commerce Server 10 Technical Overview P 11

Page 12: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 13: Commerce Server 10.1 Technical Overview Whitepaper

• 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

Page 14: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 15: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 16: Commerce Server 10.1 Technical Overview Whitepaper

• 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

Page 17: Commerce Server 10.1 Technical Overview Whitepaper

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 op-sequence 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

Page 18: Commerce Server 10.1 Technical Overview Whitepaper

MCF exposes a set of models, known as commerce entities, to represent the conceptual view of e-commerce. 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

o The Foundation is 3-tier capable out of the box

o The Core has full management capability

o 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

Page 19: Commerce Server 10.1 Technical Overview Whitepaper

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.

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

o 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.

o 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.

o 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.

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

o 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.

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

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

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

o 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

Page 20: Commerce Server 10.1 Technical Overview Whitepaper

• 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.

o 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

Page 21: Commerce Server 10.1 Technical Overview Whitepaper

• 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

Page 22: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 23: Commerce Server 10.1 Technical Overview Whitepaper

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.

o 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

Page 24: Commerce Server 10.1 Technical Overview Whitepaper

• 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.

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

o Basket display on the Web site.

o Basket check out and purchasing.

o Find, modify, and delete baskets.

o 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.")

o 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.

o 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 business-related 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

Page 25: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 26: Commerce Server 10.1 Technical Overview Whitepaper

• 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 .NET-based 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

Page 27: Commerce Server 10.1 Technical Overview Whitepaper

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 Server’s 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

Page 28: Commerce Server 10.1 Technical Overview Whitepaper

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

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

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

o 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.

o 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.

o 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.

o 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.

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

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

o 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

Page 29: Commerce Server 10.1 Technical Overview Whitepaper

• 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

Page 30: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 31: Commerce Server 10.1 Technical Overview Whitepaper

• 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

Page 32: Commerce Server 10.1 Technical Overview Whitepaper

• 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

Page 33: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 34: Commerce Server 10.1 Technical Overview Whitepaper

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

Page 35: Commerce Server 10.1 Technical Overview Whitepaper

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.

o 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