330 likes | 517 Views
PC59. Commerce Server “Mojave”. Kerry Havas Product Architect Commerce Server Product Unit. Tom Schultz Program Manager Commerce Server Product Unit. Microsoft Commerce Server “Mojave”. Today’s Agenda Commerce Server Roadmap “Mojave” Overview
E N D
PC59 Commerce Server “Mojave” Kerry Havas Product Architect Commerce Server Product Unit Tom Schultz Program Manager Commerce Server Product Unit
Microsoft Commerce Server “Mojave” • 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
Commerce Server RoadmapWhere we have been ALIGN WITH BUSINESS NEEDS
Commerce Server RoadmapWhat we are doing • CY2008 • May : Service Pack 2 • August: Mojave CTP • October: Mojave CTP • CY2010, 2011 • Next Generation • E-Commerce • CY2009, 2010 • Next mid-stream release • Q1-CY2009 • Commerce Server “Mojave”
CPG X Distributor X Merch. WMS ERP Trading Partner X Commerce ServerWhere we fit in the enterprise Enterprise BPM SCM Sell-Side
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
What is new in “Mojave”?As compared to Commerce Server 2007 • 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
Technical Drilldown next generation commerce foundation
ArchitectureCommerce server today ASP.NET Sites developed in Visual Studio CS2007 IT Pro Tools CS2007 Marketing CS2007 Business User Tools CS2007 Catalog CS2007 Orders CS2007 Profiles CS2007 Analytics CS2007 Web Services & BizTalk Adapters
ArchitectureAPI design goals • 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
ArchitectureCommerce Server "Mojave" “Rich” Template Custom UX: Customize Web Parts Site templates “Mobile” Template Shopping Web Site* Experience (white label) Custom UX: Direct to Mojave API CS2007 IT Pro and Designer Tools “Mojave” Web Parts E.g.: Shopping, Checkout, Profile, … “Mojave” Foundation API Unified and simplified run-time calling model Multi-Channel Interface New Core E-Commerce Shopping Features CS2007 Business User Tools Catalog Manager, Marketing Manager, Customer & Order Manager Custom Logic: Op/Entity Model CS2007 IT Pro Tools Commerce Server 2007 Catalog, Orders, Profiles, Marketing, Analytics, Staging, Web Services, BizTalk AdaptErs * SharePoint installation required
APIExtensibility points • 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
API Message Flow Web Browser Mobile Application Etc... Presentation Tools Presentation Tools Presentation Public API Broker Operation CS 2007 Application Operation Sequence Operation Sequence Operation Sequence Operation Sequence Data Cloud Services SQL Server
Commerce EntitiesOverview • 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: • varproductQuery = 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())
Commerce EntitiesPropertyCollection • Property Bag • Getters/Setters - GetPropertyValue() & SetPropertyValue() methods • Contains both CommerceEntity properties and relationships
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);
demo Using the API Kerry Havas Product Architect Commerce Server Product Unit
Technical Drilldown "Mojave" Sharepoint Integration
Web PartsDevelopment goals • 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 Parts29 out of the box web parts • Catalog • Site Map Provider • Product Provider • Property Picker • XsltPropertyList • Product Filter • Product Query • Image Viewer • Inline Product Editor • Profiles • Address List • Address Detail • Credit Card List • Credit Card Detail • My Profile • Registration Wizard • Change Password • Forgot Password • Orders • Add to Cart • Cart • Checkout • Minicart • Order History • Order Details • My Shopper Lists • Shopper List Detail • Search • Search Box • Search Results • Search Paging • Store Locator • Marketing • Advertisement List
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
Web PartsDesign philosophy • Minimize Commerce Server calls from similar web parts • Concrete example:
Web PartsProduct provider web part • Product Provider • Providesability 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
Web PartsCheckout • 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
Sharepoint IntegrationIntegration components • 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 IntegrationAuthentication and user profiles • 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)
demo Using the Mojave Web Parts & Site Map Provider Tom Schultz Program Manager Commerce Server Product Unit
Resources • Commerce Server “Mojave” October CTP Available on Microsoft Connect Site!! • https://connect.microsoft.com/site/sitehome.aspx?SiteID=643 • Issues? csid@microsoft.com; b-tschul@microsoft.com • Product Information • Commerce Blog: • http://blogs.msdn.com/commerce/default.aspx • MSDN Forum • http://social.msdn.microsoft.com/forums/en-US/commserver2007/threads/
Evals & Recordings Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
Q&A Please use the microphones provided
© 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.