Successfully reported this slideshow.
Your SlideShare is downloading. ×

Introducing the Sitecore Commerce 9 Connector for Microsoft D365

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 30 Ad

Introducing the Sitecore Commerce 9 Connector for Microsoft D365

Download to read offline

Combining Microsoft Dynamics 365 for Retail with Sitecore Commerce 9 provides a seamless omnichannel experience, from brick-and-mortar point of sales systems to cloud e-commerce. Learn about the latest version of the connector for Sitecore Commerce 9 – including its features, architecture, performance, and scalability – from two developers who are responsible for one of the largest in-production e-commerce implementations in the world. We took everything we learned about prior generations of Microsoft D365's retail module and reworked the integration from the ground up for Sitecore Commerce 9. We’ll share the limitations and constraints of the old approach, describe the new connector in detail, and outline our vision for what’s next.

Combining Microsoft Dynamics 365 for Retail with Sitecore Commerce 9 provides a seamless omnichannel experience, from brick-and-mortar point of sales systems to cloud e-commerce. Learn about the latest version of the connector for Sitecore Commerce 9 – including its features, architecture, performance, and scalability – from two developers who are responsible for one of the largest in-production e-commerce implementations in the world. We took everything we learned about prior generations of Microsoft D365's retail module and reworked the integration from the ground up for Sitecore Commerce 9. We’ll share the limitations and constraints of the old approach, describe the new connector in detail, and outline our vision for what’s next.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Introducing the Sitecore Commerce 9 Connector for Microsoft D365 (20)

Advertisement

Recently uploaded (20)

Introducing the Sitecore Commerce 9 Connector for Microsoft D365

  1. 1. Presented by: Vsevolod Kolonistov, Lead Software Engineer, EPAM Dean Thrasher, Senior Solution Architect, EPAM November 7, 2019 Introducing the Sitecore Commerce 9 Connector for Microsoft D365 Features, architecture, performance & scalability
  2. 2. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.© 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM 01 02 03 04 05 Why integrate Sitecore Commerce with MS D365? Features and benefits Architecture and key processes What’s new in the Sitecore 9 Connector for D365 Questions? Agenda
  3. 3. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM Microsoft Dynamics 365 for Finance and Operations O R... Microsoft Dynamics 365 for Retail | Microsoft Dynamics 365 for Commerce F ORMERLY KNOWN A S... Microsoft Dynamics AX + Retail Module Which D365 are we talking about?
  4. 4. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.#SitecoreSYM Why integrate Sitecore Commerce with Microsoft D365?
  5. 5. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM AVOID INTEGRATION IF POSSIBLE! Consider integration if you ... • Have complex inventory and fulfillment • Use D365 for pricing, promotion, taxes, and charges • Want D365 to be your system of record for your product catalog • Support omnichannel commerce • Require the system to be fully auditable Why integrate?
  6. 6. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.#SitecoreSYM Features and benefits
  7. 7. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM The Sitecore Experience Commerce platform Online experiences Offline experiences Experiences for the marketer Brick & mortar experiences • Web • Mobile web • Mobile apps • Social networks • Private communities • Video • Other web properties • Unified customer data • Dashboards and deep insights • Marketer-friendly merchandising • Real-time personalization • End-to-end cross-channel/ multi-touchpoint campaigns • Kiosk • Point of sale • Mobile POS/Salesforce automation • Digital signage • Loyalty programs • Call center • Supply chain • Print • Email Customer data collection
  8. 8. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM Enables one or more web storefronts connected to one or more D365 online store channels • Each online store can have its own catalogs, logic, and presentation • Each catalog can have its own category hierarchy • Each catalog supports variants and product relationships Supports most common B2C retail scenarios • Search, browse, and add items to wish list • Cart and checkout operations • Account profile and order management Connector features
  9. 9. #SitecoreSYM© 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Reference storefront
  10. 10. #SitecoreSYM© 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Sitecore Commerce • SXA storefront • Business tools - Catalog management - Customer management - Order management - Inventory management - Promotion management - Pricing management D365 Connector • Classic storefront • Business tools - Catalog management (read-only) Feature differences with Sitecore Commerce Analytics is the same, regardless of whether you use XC or D365.
  11. 11. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.#SitecoreSYM Architecture
  12. 12. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM • D365 finance and operations with the retail module - Configured with one or more online store channels • Sitecore Experience Commerce • Sitecore – D365 Connector components Solution components
  13. 13. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM D365 retail server architecture https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/dev-itpro/retail-server-architecture RETAIL SERVER OData web APIs SQL Azure/SQL server Azure active directory Authentication module Smart redirector Commerce controllers (Entities, complex types, actions) Commerce runtime (CRT)
  14. 14. #SitecoreSYM© 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Batch services • Catalog • Media items Transactional services • Customer registration/login • Account profile - Saved addresses - Wishlists - Order history • Cart • Checkout • Inventory • Pricing Batch operations vs. real-time operations
  15. 15. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM Commerce Connect SITECORE COMMERCE SITECORE COMMERCE SERVER MICROSOFT DYNAMICS D365 FOR RETAIL SITECORE COMMERCE ENGINE CONNECT SITECORE COMMERCE SERVER CONNECT MICROSOFT DYNAMICS D365 CONNECT EXTERNAL COMMERCE SYSTEM COMMERCE CONNECT CONNECTORS STOREFRONT COMMERCE CONNECT ENGAGEMENT ARTIFACTS CONDITIONAL RENDERING RULES, MARKETING CAMPAIGNS, PAGE EVENTS AND GOALS COMMERCE CONNECT ABSTRACT SERVICE LAYERS (APIs) CART, PRICING, PRODUCTS, CUSTOMERS, INVENTORY, ORDERS, PRODUCT SYNC COMMERCE CONNECT PRODUCT CATALOG MODEL SITECORE EXPERIENCE PLATFORM COMMERCE CONNECT CORE FRAMEWORK
  16. 16. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM D365 Connector catalog synchronization D365 HQ DB 1.1 DOWNLOAD CATALOG DATA D365 APP 1.2 UPLOAD CATALOG DATA CHANNEL DB 2.3 ACCESS CATALOG DATA RETAIL SERVER API 2.5 IMPORT CATALOG FILE (THROUGH CUSTOM IMPORT ENDPOINT) SITCORE XP 3. ACCESS PRODUCT DATA SYNC CONFIG 2.4 CREATE CATALOG FILES 2.2 FETCH CATALOG DATA SITECORE SYNC AND IMPORT D365 CATALOG PUBLISH AND DISTRIBUTION SITECORE COMMERCE DB CUSTOM CATALOG JSON SYNCH TOOL 2.1 READ PIPELINE STEPS
  17. 17. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM D365 Connector media import MASTER DB SYNC CONFIG SITECORE XP SITECORE MEDIA IMPORT COMMERCE DB 5. CALL MEDIA IMPORT ACTION COMMERCE AUTHORING 3. CALL CATALOG IMPORT ACTION IMPORT EXECUTOR 2. PULL THE MEDIA FILES CUSTOM CATALOG JSON 1. PULL THE CATALOG FILES 6. CREATE MEDIA ITEMS WITH PREDEFINED IDS 4. CREATE CATALOG DATA WITH LINKS TO MEDIA ITEMS (GUIDS)
  18. 18. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM D365 Connector order placement D365 HQ DB 6. PROCESS SALES ORDER 5.2 MOVE TRANSACTION TO D365 HQ DB ( SALES ORDER CREATION) D365 HQ APP CHANNEL DB 5.1 PULL TRANSACTION 4. CREATE TRANSACTION RETAIL SERVER API D365 ORDER SYNC SITECORE ORDER PLACEMENT SITECORE XP SITECORE COMMERCE CONNECT 8. GET ORDER DETAILS PIPELINE EXECUTION 1. EXECUTE ORDER PLACEMENT PIPELINE 2. INVOKE ORDER PLACEMENT PROXY ASSEMBLY 9. GET ORDER DETAILS PROXY ASSEMBLY INVOCATION D365 RETAIL PROXY 3. INVOKE ORDER PLACEMENT API 10. GET ORDER DETAILS API INVOCATION 7.1 SYNCHRONIZE ORDERS 7.2 SYNCHRONIZE ORDERS 11. GET ORDER RECORD
  19. 19. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM D365 Connector customer authentication CLIENT WEB BROWSER E-COMMERCE FRONT- END SERVER RETAIL SERVER 1 | LOGIN 4 | ID TOKEN 7 | ID TOKEN 8 | VALIDATE & RETURN 1 2 | AUTH CODE 3 | AUTH CODE 4 | ID TOKEN 7 | EVERY CALL ID TOKEN 8 | VALIDATE & RETURN 5 | LOAD DISCOVERY URL 6 | DOWNLOAD CERTS EXTERNAL PROVIDERS MICROSOFT ACCOUNT FACEBOOK GOOGLE COMPANY PROVIDERS OPENID AUTHENTICATION THROUGH RETAIL SERVER IDENTITY MANAGEMENT SERVICE
  20. 20. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.#SitecoreSYM What’s new?
  21. 21. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM • No longer depends on the Sitecore Data Exchange Framework • Generates multiple JSON files • Improves performance • Improves scale • Facilitates troubleshooting • Decouples the sync process from Sitecore Re-engineered catalog sync
  22. 22. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM Extends the Commerce Authoring service to support delta imports • Uses files produced by the sync process • Can be triggered independently or as the part of the sync process • Optionally can handle the media import process Updated catalog import
  23. 23. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM The Sitecore 9 version of the connector: • Leverages the D365 media server URLs by default • Uses a separate processor for importing media • Generates deterministic GUIDs media items • Improves import processing speed Supports two scenarios: • DAM integrated with D365; Sitecore gets URLs from D365 • DAM integrated directly with Sitecore; Connector matches based on deterministic GUIDs Improved product image import
  24. 24. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.#SitecoreSYM Questions?
  25. 25. #SitecoreSYM© 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
  26. 26. Thank you FOR DISCUSSION PURPOSES ONLY. Sitecore Confidential and Proprietary. ©2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
  27. 27. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.#SitecoreSYM Appendix
  28. 28. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM D365 for Retail – Retail Server customer and consumer APIs https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/dev- customer-consumer-api Configure a D365 Retail Online Store https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/dev- store D365 Retail references
  29. 29. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM D365 for Retail Omni-Channel Supported Scenarios https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/omni- payments#supported-scenarios Customer orders in Retail Modern POS (MPOS) https://docs.microsoft.com/en-us/dynamics365/unified- operations/retail/customer-orders-overview D365 Retail references
  30. 30. © 2001-2019 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. #SitecoreSYM Introducing Sitecore Commerce Connect https://doc.sitecore.com/developers/91/sitecore-experience- connect.html Commerce Connect Framework Components https://doc.sitecore.com/developers/91/sitecore-experience- framework-components.html Sitecore Commerce references

Editor's Notes

  • Microsoft D365 for Finance and Operations is the cloud-hosted version of Dynamics AX.

    It is a separate product from Microsoft D365 for Sales, the cloud-hosted version of Dynamics CRM. 
  • Avoid integration: Don't use 2 enterprise systems to do what 1 system can do. Only integrate if there's no other way to meet your business objectives.

    Complex inventory: when you need information about inventory sources and origin of product.

    Omnichannel commerce includes: Online, physical stores, call center, etc.

    Omnichannel scenarios:
    Buy online, pick up in store
    Buy in call center, pick up in store
    Buy in store A, pick up in store B
    Buy in store A, ship to customer

    … and order visibility online regardless of channel
  • While Sitecore Experience Commerce alone can meet the needs of the web channel -- and to a lesser extent print and email as well – D365 is required for brick-and-mortar experiences.
    Sitecore manages the digital experiences of customers (web/mobile/app/email/print) while D365 handles in-store experiences (kiosk, PoS, and call center operations).
    Sitecore XC handles 3 of 4 quadrants in this diagram. D365 handles the 4th.

    Based on a diagram from an older Sitecore 8.1 presentation for SCpbMD, but it is still relevant.
  • Includes a "demo-ready" example covering a comprehensive set of typical B2C retail scenarios.

    • Fully functional storefront integrated with D365 out of the box 
    • Includes catalog, cart, checkout, orders, address book, payments, profile, loyalty, store locator, wishlists 
    • Search fully integrated with faceted navigation built in 
    • Features promotional areas for carrousel, featured products, sale items, and more 
    • Supports buy online, pickup in store 
    • Fully responsive, mobile device ready

  • Unlike Sitecore XC, the D365 connector still uses the non-SXA version of the storefront.
    Many of the Sitecore Business Tools have been disabled, apart from catalog. We expect customers to maintain orders, pricing, etc. in D365.

    Analytics is fully instrumented in the D365 connector, exactly as it is in Sitecore XC
  • Requirement for Retail Server implementation (real-time cart operations)

    Three channel types: retail (physical), online, call center
    Channel databases are different from headquarters databases
    Online channels use a combination of calls to the channel database and the headquarters database (for example, inventory calls)
    Omnichannel scenarios are possible – when the order lifecycle can start online and then go through physical channel

    The integration is based on Sitecore XC, Sitecore Commerce Connect and... 

    Sitecore powered by Microsoft Dynamics connector (a set of assemblies and configurations, responsible for interaction with the Retail Server for async catalog synchronization and transactional user interactions for order fulfillment)


  • Slide taken from: 
    https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/dev-itpro/retail-server-architecture
  • Product catalog data is imported into Sitecore as a batch process.
    Catalog data is imported read-only, but it can be enhanced with additional Sitecore fields.
    Can be used with one or more storefronts.

    All other commerce operations are delegated to D365 Retail Server transactional APIs

    Real-time operations:
    Account Profile – leverages federated identity management
    Basket (Shopping Cart)  Tax, Shipment, Payment, Discounts
    Inventory/Availability
    Detailed Pricing
    Orders
    Wishlist
    Gift Card 
    Loyalty Entities

  • Using the abstract service layers in Commerce Connect allows external commerce systems to plug into Sitecore XP in well-defined ways.
    This also enables us to gather analytics data in Sitecore, regardless of the external commerce system used.
  • A copy of the product catalog is staged in the Sitecore Commerce database.
    The sync tool (a standalone executable) will fetch the catalog using the D365 Retail Server APIs.
    The sync tool handles the Extract and Transform parts of “ETL”. We’ll discuss Load on the next slide.

    Remember that the latest catalog must be published and distributed from the D365 HQ database to the online channel database.
  • A look into the import process.
    We created a plugin for the Commerce Authoring service that adds a new API endpoint.
    The new endpoint handles delta catalog imports and improves the media import process.
  • There are actually 2 processes illustrated here: Order Placement and Get Order Details.
    We’re showing them together because reveals some interesting aspects of how order sync works within D365.
    The interaction between the D365 HQ database and the online channel database affects what information is available when.
  • An alternate explanation of how authentication works. This one is in the form of a sequence diagram.
    The "e-commerce frontend server" corresponds to the Sitecore server in the previous diagram.

    The Identity Management Service can be anything that supports Oauth 2 and its OpenID Connect profile. Examples: Azure AD B2C, Akamai Identity Cloud, Identity Server 4

    From the Microsoft D365 documentation.
    https://docs.microsoft.com/en-us/dynamics365/unified-operations/retail/dev-itpro/configure-authentication-providers
  • What's new, apart from compatibility with Sitecore Commerce 9?
  • No DEF
    Scales better
    Executes on standalone servers or using Azure functions
    Supports multi-file catalog import process using JSON, rather than a single XML file (the batch size is configurable)
    Uses an import-specific file format – not the standard Sitecore Commerce import format -- because: 
    This eliminates another dependency on Sitecore
    It's more efficient than the simple serialization used by OOTB Sitecore Commerce
    It allows us to support deltas 
  • Uses Sitecore XC plugin model to extend Commerce Authoring service

×