Commerce Server “Mojave”
Kerry HavasProduct ArchitectCommerce Server Product Unit
Tom SchultzProgram ManagerCommerce Server Product Unit
PC59
• Today’s Agenda• Commerce Server Roadmap• “Mojave” Overview• “Mojave” commerce foundation Technical Drilldown
• Overview• Demo:
• Using the commerce foundation to retrieve products and Relationships
• Creating a new Operation Sequence• “Mojave” Sharepoint Integration Technical Drilldown
• Overview• Demo:
• Using the Mojave Web Parts• Using XSLT• Using the Site Map Provider
• Resources/Questions
Microsoft Commerce Server “Mojave”
Shopping Cart,
Merchandising
Reporting, Application
Services
Personalization,
Membership Basic
B2B
Catalog, Closed-
loop Analytics, Stronger
B2B
Globalization,
Advanced Analytics
Connected Commerce
Multi Channel /
Multi Brand
ALIGN WITH BUSINESS NEEDS
Commerce Server RoadmapWhere we have been
Commerce Server RoadmapWhat we are doing
CY2010, 2011
Next GenerationE-CommerceQ1-CY2009
Commerce Server “Mojave”
CY2009, 2010
Next mid-stream release
CY2008
May : Service Pack 2August: Mojave CTPOctober: Mojave CTP
Commerce ServerWhere we fit in the enterprise
CPG X
Distributor X
SCM
Merch.WMS
EnterpriseBPM
Sell-Side
Trading Partner X ERP
What Is “Mojave?”
Multi-Channel Foundation Out of the box integrated consumer centric multi-channel capabilities over
multiple mediums, brands, and locales 3 out-of-the-box channels ready to go: Web, Mobile, Live Services New channels require configuration and not customization
Out of the Box Shopping Out of the box ASP.NET web part shopping site Web 2.0 social networking paradigms via SharePoint and Live integration E-commerce web features easily added by business users, skin-able by
designers (Expression), extendable by developers (Visual Studio)
Tools to empower Merchandisers and Marketers Inline WYSIWYG product information and presentation editing and preview Content management capabilities: workflow, approval, and publishing Familiar Office-like environment minimizing learning curve
For Site Designers – Standards-based Design with New Design Tools Standardized creation and editing of site designs, leveraging SharePoint
templates, giving flexibility and quick time to market New Tools and Technology for site development: Expression Web,
SharePoint Designer, SilverLight
For Developers – New multi-channel unified API, web parts, new extensibility model Out-of-box site functionality, through the web parts (source available), to
quickly and consistently extend site features Unified operator-commerce entity calling model for the run-time
Commerce Server API, offering more flexibility and quicker development Clear separation between business and presentation layers New extensibility points: ‘Commerce Entities’, ‘Operations’, ‘Providers’ Additional built-in .NET 3.5-based shopping features and SharePoint
list support
What is new in “Mojave”?As compared to Commerce Server 2007
next generation commerce foundation
Technical Drilldown
ArchitectureCommerce server today
CS2007 Catalog
CS2007 Orders
CS2007 Profiles
CS2007 Analytics
CS2007 Marketing
CS2007 Business
UserTools
CS2007 IT ProTools
CS2007 Web Services & BizTalk Adapters
ASP.NET Sites developed in Visual Studio
• Reduce developer ramp-up time by providing a consistent API model across all Commerce Server functional areas
• Provide the out-of-the-box “business logic” layer that is currently produced as a one-off for every Commerce Server deployment
• Clear separation of presentation logic and business logic, facilitating multi-channel e commerce‑
• Provide an extensibility model that will allow both Microsoft and 3rd party developers to more easily enhance functionality both for general and business specific purposes
• Allow the ability to accomplish multiple operations in a single call.• Support migration of existing CS2007 sites to Mojave by residing side-
by-side with an existing CS2007 implementation• Multiple presentation support
ArchitectureAPI design goals
ArchitectureCommerce Server "Mojave"
CS2007 IT ProTools
Commerce Server 2007
Catalog, Orders, Profiles, Marketing, Analytics, Staging, Web Services, BizTalk AdaptErs
CS2007 BusinessUser Tools
Catalog Manager, Marketing Manager, Customer & Order
Manager
* SharePoint installation required
“Mojave” Web PartsE.g.: Shopping, Checkout, Profile, …
Shopping Web Site* Experience
(white label)
CS2007 IT Pro and Designer
Tools
“Mobile” Template
Site templates
“Rich” Template Custom UX:
Customize Web Parts
“Mojave” Foundation APIUnified and simplified run-time calling model
Multi-Channel InterfaceNew Core E-Commerce Shopping Features
Custom Logic:
Op/Entity Model
Custom UX: Direct to Mojave
API
Commerce Entities Encapsulates a single business concept such as a product or a catalog Encapsulates both properties and relationships Can be extended to include new properties and new relationships Supported by Metadata that provides descriptive information about the
Commerce Entity that can be retrieved via the API. Operations
Provides CRUD capabilities on Commerce Entities Consists of 1 or more Operation Sequences May be extended The response of the operation may be extended
Operation Sequences Operation Sequences can be plugged/unplugged on a per channel basis. Out of the box Operation Sequences can be replaced by custom ones Operation Sequences are reusable components that can be created and
reused on other projects Third parties may create new operations that may be purchased rather
than custom built
APIExtensibility points
Operation
API Message Flow
Operation
Sequence
Operation
Sequence
Operation
Sequence
Operation
Sequence
Web Browser Mobile Application Etc...
Public API
Broker
CS 2007
SQL Server
Presentation
Application
Data
Presentation Tools Presentation Tools
Cloud Services
var productQuery = new Query<CommerceEntity>(“Product”); productQuery.Properties.Add(“Id”);productQuery.Properties.Add(“DisplayName”); productQuery.SearchCriteria.Model.Properties.Add(“Id”, “1243”);productQuery.SearchCriteria.Model.Properties.Add(“CatalogId”,”Adventure Works Catalog”); Response response = OperationServiceAgent.ProcessRequest(requestContext, productQuery.ToRequest())
Mojave API exposes a single generic class which represents all Commerce Server entities called a “CommerceEntity”
Different types of Commerce Entities are distinguished by the “ModelName” property
Example query:
Commerce EntitiesOverview
Property Bag Getters/Setters - GetPropertyValue() &
SetPropertyValue() methods Contains both CommerceEntity properties
and relationships
Commerce EntitiesPropertyCollection
Commerce Entity Relationships
Relationships are also returned in the Properties collection RelationshipList offers paging support Relationships are manipulated in the same manner as other
Commerce Entities Relationships are extensible
QueryRelatedItem<Variant> queryVariants = new QueryRelatedItem<Variant>(Product.RelationshipName.Variants); productQuery.RelatedOperations.Add(queryVariants);
Using the API
Kerry HavasProduct ArchitectCommerce Server Product Unit
demo
"Mojave" Sharepoint Integration
Technical Drilldown
Provide a higher-level development experience when producing an e-commerce site
Components based on logical groups of e-commerce functionality rather than simple UI components
Components usable in Windows SharePoint Services 3.0 and Office SharePoint Server 2007
Provide performant UI building blocks for developers Leverage as much as possible from SharePoint, rather than inventing
our own mechanisms Easy for developers to write additional components which fit into
the model Commerce Server communication entirely through Mojave
Foundation API
Web PartsDevelopment goals
CatalogSite Map ProviderProduct ProviderProperty PickerXsltPropertyListProduct FilterProduct QueryImage ViewerInline Product Editor
ProfilesAddress ListAddress DetailCredit Card ListCredit Card DetailMy ProfileRegistration WizardChange PasswordForgot Password
OrdersAdd to CartCartCheckoutMinicartOrder HistoryOrder DetailsMy Shopper ListsShopper List Detail
SearchSearch BoxSearch ResultsSearch PagingStore Locator
Marketing Advertisement List
Web Parts29 out of the box web parts
Web PartsSharePoint integration
UI Components built as ASP.NET 2.0 Web Parts, providing a number of significant advantages: Web part connections can be used to marshal requests to
Commerce Server Web parts may be made aware of the zone on a page in
which they can reside Web parts can be made to be personalizable by an
end user Web parts can be arranged on a page by a business user in
the browser using Windows SharePoint Services or Microsoft Office SharePoint Server
Minimize Commerce Server calls from similar web parts Concrete example:
Web PartsDesign philosophy
Web PartsProduct provider web part Product Provider
Provides ability to query the Commerce Server catalog based on criteria such as category, property value or full-text search
Based loosely on the SharePoint Content Query Web Part
Styleable using XSL transforms
Web PartsCustomization – XSL transforms XSL transforms stored
in a template Templates may be
managed in a document library when the web part is used with SharePoint
Allows multiple templates to be built and tested, and applied by a business user
Manages stages of check out Easy for a developer to add a new stage Consists of a single web part which is able to manage the
check out process, cycling through ASP.NET user controls corresponding to check out stages
User controls implement a specific interface which is understood by the web part and allows the web part to determine the status of the stage, e.g.: can the user move forward (“Next”) or backwards (“Previous”)
Each user control can determine whether or not it has enough information to complete it’s stage
Ability to implement your own custom stage as a user control
Web PartsCheckout
SiteMap Provider Retrieves category information dynamically from Commerce
Server, caches globally for a configurable period of time Extends SharePoint site map provider Blends content from
SharePoint Commerce Server
Respects security constraints
Sharepoint IntegrationIntegration components
Commerce Server is authoritative source for authentication and user profile information User Profile Manager (UPM) Membership
provider authentication Usable in SharePoint Web Part(s) supplied for account creation and
editing of profile information by an end user Forms-based authentication login page
supplied for SharePoint (to include password retrieval, etc)
Sharepoint IntegrationAuthentication and user profiles
Using the Mojave Web Parts & Site Map Provider Tom Schultz
Program ManagerCommerce Server Product Unit
demo
Commerce Server “Mojave” October CTP Available on Microsoft Connect Site!!
https://connect.microsoft.com/site/sitehome.aspx?SiteID=643
Issues? [email protected]; [email protected]
Product Information Commerce Blog:
http://blogs.msdn.com/commerce/default.aspx MSDN Forum
http://social.msdn.microsoft.com/forums/en-US/commserver2007/threads/
Resources
Evals & Recordings
Please fill
out your
evaluation for
this session at:
This session will be available as a recording at:
www.microsoftpdc.com
Please use the microphones provided
Q&A
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.