SlideShare une entreprise Scribd logo
1  sur  23
1DC SITECORE USER GROUP
Sitecore Commerce
Catalog Management at
Scale
DC SITECORE USER GROUP
SEPTEMBER 6, 2017
2DC SITECORE USER GROUP
• Email:
dean_thrasher@epam.com
• Blog:
https://deanthrasher.com/
• Twitter:
@dthrasher
• LinkedIn:
https://www.linkedin.com/in/deanthrasher
• Co-organizer of the DC Sitecore User Group
https://www.meetup.com/DC-Sitecore-User-Group/
• Sitecore enthusiast since 2010
ABOUT DEAN THRASHER
3DC SITECORE USER GROUP
AGENDA
Sitecore Commerce Landscape1
Types of Commerce Operations2
Product Catalog Sync3
Decisions, Decisions!4
SCpbMD Example (Microsoft Dynamics 365)5
4DC SITECORE USER GROUP
IF I ONLY HAD A WHITEBOARD…
5DC SITECORE USER GROUP
• Legacy commerce / shopping cart implementations
– Active Commerce
– uCommerce
– Insite
– Others / custom implementations
• First-party Sitecore implementation
– Sitecore Commerce (completely rebuilt version of Microsoft Commerce Server)
• Third-party Sitecore implementations
– Dynamics AX / D365 (joint development by Microsoft and Sitecore)
– Hybris (integration built by EPAM, announced at Symposium 2016)
SITECORE COMMERCE LANDSCAPE
6DC SITECORE USER GROUP
THREE KINDS OF COMMERCE OPERATIONS
Product Catalog
• Add Products
• Update Products
• Delete Products
• …
Cart and Checkout
• Add/Remove from Cart
• Select Payment Type
• Provide Billing Address
• Provide Shipping Address
• Apply Coupon/Discount
• …
User Account
• Register
• Sign in
• Maintain Profile
• View Order History
• …
7DC SITECORE USER GROUP
• Most large retailers have a specialized CMS for managing products called a Product Information
Management system (PIM)
• Data from the PIM is used by a variety of other enterprise systems, including the ERP / Accounting
system and the ecommerce website
• Historically, it was common to separate the “content” side of a website from the “commerce” side
• Sitecore’s approach is to import and cache the product catalog(s) stored in the PIM so that products
can be mixed with non-product content
PRODUCT CATALOG SYNC
8DC SITECORE USER GROUP
• Push vs. pull
• Sync intervals
• Full vs. incremental sync
• Copy vs. transform
• Who writes what when?
DECISIONS, DECISIONS!
9DC SITECORE USER GROUP
D365 EXAMPLE
SITECORE COMMERCE CATALOG MANAGEMENT
10DC SITECORE USER GROUP
D365 INTEGRATION
11DC SITECORE USER GROUP
• The Data Exchange Framework models and runs
synchronization processes
• Sitecore uses it to run the catalog sync process
with AX / D365
• It reads from the web APIs from those systems,
then generates an XML file to import into the
Sitecore Commerce Database
DATA EXCHANGE FRAMEWORK
12DC SITECORE USER GROUP
D365 CATALOG DATA SYNC
AX
Online Channel
Database
Retail
Server
API
Sitecore
Commerce
Product
Catalog
Distribute
Publish
Transform
Import
Catalog.xml
Fetch
Access
Access
Invokes
13DC SITECORE USER GROUP
• By maintain its own copy of the product catalog in
a known format, Sitecore insulates your website
from changes to your catalog system
• This allows you to version your Sitecore CMS and
website independently of the product information
management (PIM) system
• It adds flexibility at the expense of complexity
ADAPTER PATTERN
14DC SITECORE USER GROUP
• The Sitecore Commerce database is a known schema, so Sitecore
provides a data provider implementation to make those items
appear like “normal” Sitecore items
• Since product items are not stored in the master or web
databases, they do not participate in publishing in the same way
that regular content does
• Data providers operate at a very low level within Sitecore. They
aren’t documented very well and rely on dark magic.
• Write one at your own risk!
DATA PROVIDER
15DC SITECORE USER GROUP
• The data provider doesn’t make the product catalog appear within
your site directly. Instead, wildcard items are used to point a part
of the Sitecore content tree at the product catalog.
• At scale, you’ll probably want to use a bucket-like experience to
bring the catalog into Sitecore, then modify your
WildcardItemResolver to bring in the products and categories as
needed.
WILDCARD ITEMS
16DC SITECORE USER GROUP
• Product catalog data can be immediately live or
can use the Commerce Server Staging service to
perform a “switch-on-rebuild” operation
• Once catalog data is live, changes need to be
reindexed in your search engine
PUBLISHING AND INDEXING
17DC SITECORE USER GROUP
QUESTIONS?
SITECORE COMMERCE CATALOG MANAGEMENT
18DC SITECORE USER GROUP
APPENDIX
SITECORE COMMERCE CATALOG MANAGEMENT
19DC SITECORE USER GROUP
• If the PIM pushes updates to the CMS, the
information will be available to customers faster,
BUT…
• If the CMS asks for product catalog information the
two systems are less tightly coupled, especially if
the CMS maintains its own product cache
Sitecore uses a pull mechanism for product catalog
sync operations
PUSH VS. PULL
20DC SITECORE USER GROUP
• How often do you perform an update?
• Are there any operations that require real-time or
near-real time calls?
– Product availability
– Amount in stock
– Price and promotion changes
Sitecore uses a scheduled job to for product sync – at
an interval you determine – coupled with real-time
operations for sensitive or rapidly changing data
SYNC INTERVALS
21DC SITECORE USER GROUP
• You’ll need to benchmark your systems to
determine which is faster
• But you’ll need to support both, if only to
update products or prices in emergency
situations
Sitecore supports both methods*
*assuming your PIM supports both methods
FULL VS. INCREMENTAL SYNC
22DC SITECORE USER GROUP
• Since information coming from the PIM has gone
through its own review and approval process, you
could simply display it as-is…
• Or you could change or transform it, at the cost of
additional complexity
Sitecore provides a lot of flexibility to transform
product catalog data. Use it wisely!
COPY VS. TRANSFORM
23DC SITECORE USER GROUP
• Ideally, the CMS would have read-only copies of
product catalog data, BUT…
• …You might want to enrich PIM data with additional
information only needed by the website, AND…
• …Mistakes happen, and sometimes you need to
correct information right away
• …So it’s often valuable to allow the CMS to override
or temporarily modify values
• Avoid bi-directional sync if you can!
This one’s up to you…
WHO WRITES WHAT WHEN?

Contenu connexe

Tendances

Sitecore xPlatform - Introduction
Sitecore xPlatform - IntroductionSitecore xPlatform - Introduction
Sitecore xPlatform - Introduction
Thomas Eldblom
 
Trendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas EldblomTrendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Thomas Eldblom
 
Developing for SharePoint Online
Developing for SharePoint OnlineDeveloping for SharePoint Online
Developing for SharePoint Online
Ari Bakker
 
SPSBNE - Advanced InfoPath and Nintex Workflow Techniques
SPSBNE - Advanced InfoPath and Nintex Workflow TechniquesSPSBNE - Advanced InfoPath and Nintex Workflow Techniques
SPSBNE - Advanced InfoPath and Nintex Workflow Techniques
23_kev
 

Tendances (20)

Sitecore xPlatform - Introduction
Sitecore xPlatform - IntroductionSitecore xPlatform - Introduction
Sitecore xPlatform - Introduction
 
SharePoint Development Workshop
SharePoint Development WorkshopSharePoint Development Workshop
SharePoint Development Workshop
 
Trendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas EldblomTrendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
 
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
 
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
 
Extending Sitecore Commerce Connect
Extending Sitecore Commerce ConnectExtending Sitecore Commerce Connect
Extending Sitecore Commerce Connect
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
 
PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365
 
SRC 204 - Build a SharePoint 2013 Search Driven Application!
SRC 204 - Build a SharePoint 2013 Search Driven Application!SRC 204 - Build a SharePoint 2013 Search Driven Application!
SRC 204 - Build a SharePoint 2013 Search Driven Application!
 
Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...
Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...
Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...
 
Know every customer, own every experience, david sigerson, senior business op...
Know every customer, own every experience, david sigerson, senior business op...Know every customer, own every experience, david sigerson, senior business op...
Know every customer, own every experience, david sigerson, senior business op...
 
Hvordan realisere samhandlingspotensialet i Office 365
Hvordan realisere samhandlingspotensialet i Office 365Hvordan realisere samhandlingspotensialet i Office 365
Hvordan realisere samhandlingspotensialet i Office 365
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project Online
 
Developing for SharePoint Online
Developing for SharePoint OnlineDeveloping for SharePoint Online
Developing for SharePoint Online
 
Deploying and Using the B2B Portal by Doug Johnson
Deploying and Using the B2B Portal by Doug JohnsonDeploying and Using the B2B Portal by Doug Johnson
Deploying and Using the B2B Portal by Doug Johnson
 
SPSBNE - Advanced InfoPath and Nintex Workflow Techniques
SPSBNE - Advanced InfoPath and Nintex Workflow TechniquesSPSBNE - Advanced InfoPath and Nintex Workflow Techniques
SPSBNE - Advanced InfoPath and Nintex Workflow Techniques
 
How To Make a Website Using Joomla
How To Make a Website Using JoomlaHow To Make a Website Using Joomla
How To Make a Website Using Joomla
 
Anatomy of an Intranet (SPSATL 2014)
Anatomy of an Intranet (SPSATL 2014)Anatomy of an Intranet (SPSATL 2014)
Anatomy of an Intranet (SPSATL 2014)
 
SharePoint 2016 Search
SharePoint 2016 SearchSharePoint 2016 Search
SharePoint 2016 Search
 

Similaire à Sitecore Commerce Catalog Management at Scale

High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
C5 Insight
 

Similaire à Sitecore Commerce Catalog Management at Scale (20)

Sug bangalore - sitecore commerce introduction
Sug bangalore - sitecore commerce introductionSug bangalore - sitecore commerce introduction
Sug bangalore - sitecore commerce introduction
 
Introducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience PlatformIntroducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience Platform
 
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
 
Making ultra fast ultra scalable solutions with sitecore 8
Making ultra fast ultra scalable solutions with sitecore 8Making ultra fast ultra scalable solutions with sitecore 8
Making ultra fast ultra scalable solutions with sitecore 8
 
Customer Webinar: Scaling and Optimizing a Large e-Commerce Drupal Solution
Customer Webinar: Scaling and Optimizing a Large e-Commerce Drupal SolutionCustomer Webinar: Scaling and Optimizing a Large e-Commerce Drupal Solution
Customer Webinar: Scaling and Optimizing a Large e-Commerce Drupal Solution
 
What's new in Sitecore 9.3
What's new in Sitecore 9.3What's new in Sitecore 9.3
What's new in Sitecore 9.3
 
The Sitecore Marketing Technology Ecosystem
The Sitecore Marketing Technology EcosystemThe Sitecore Marketing Technology Ecosystem
The Sitecore Marketing Technology Ecosystem
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
 
Extending Sitecore Commerce Connect
Extending Sitecore Commerce ConnectExtending Sitecore Commerce Connect
Extending Sitecore Commerce Connect
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applications
 
Fried toronto sps14 91 wcm intranet
Fried toronto sps14 91 wcm intranetFried toronto sps14 91 wcm intranet
Fried toronto sps14 91 wcm intranet
 
Nsc 2013 06-17 - random rants on 2013
Nsc 2013 06-17 - random rants on 2013Nsc 2013 06-17 - random rants on 2013
Nsc 2013 06-17 - random rants on 2013
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
 
SUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off SessionSUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off Session
 
BikersPlanet.pptx
BikersPlanet.pptxBikersPlanet.pptx
BikersPlanet.pptx
 
Customer engagement solution architecture and Dynamics 365 Portals
Customer engagement solution architecture and Dynamics 365 PortalsCustomer engagement solution architecture and Dynamics 365 Portals
Customer engagement solution architecture and Dynamics 365 Portals
 
Sitecore 9.2 new features for SUGMEA - Presented by Naresh Geepalem of Horizo...
Sitecore 9.2 new features for SUGMEA - Presented by Naresh Geepalem of Horizo...Sitecore 9.2 new features for SUGMEA - Presented by Naresh Geepalem of Horizo...
Sitecore 9.2 new features for SUGMEA - Presented by Naresh Geepalem of Horizo...
 
Biotechne + Searchstax webinar presentation
Biotechne + Searchstax webinar presentationBiotechne + Searchstax webinar presentation
Biotechne + Searchstax webinar presentation
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Sitecore Commerce Catalog Management at Scale

  • 1. 1DC SITECORE USER GROUP Sitecore Commerce Catalog Management at Scale DC SITECORE USER GROUP SEPTEMBER 6, 2017
  • 2. 2DC SITECORE USER GROUP • Email: dean_thrasher@epam.com • Blog: https://deanthrasher.com/ • Twitter: @dthrasher • LinkedIn: https://www.linkedin.com/in/deanthrasher • Co-organizer of the DC Sitecore User Group https://www.meetup.com/DC-Sitecore-User-Group/ • Sitecore enthusiast since 2010 ABOUT DEAN THRASHER
  • 3. 3DC SITECORE USER GROUP AGENDA Sitecore Commerce Landscape1 Types of Commerce Operations2 Product Catalog Sync3 Decisions, Decisions!4 SCpbMD Example (Microsoft Dynamics 365)5
  • 4. 4DC SITECORE USER GROUP IF I ONLY HAD A WHITEBOARD…
  • 5. 5DC SITECORE USER GROUP • Legacy commerce / shopping cart implementations – Active Commerce – uCommerce – Insite – Others / custom implementations • First-party Sitecore implementation – Sitecore Commerce (completely rebuilt version of Microsoft Commerce Server) • Third-party Sitecore implementations – Dynamics AX / D365 (joint development by Microsoft and Sitecore) – Hybris (integration built by EPAM, announced at Symposium 2016) SITECORE COMMERCE LANDSCAPE
  • 6. 6DC SITECORE USER GROUP THREE KINDS OF COMMERCE OPERATIONS Product Catalog • Add Products • Update Products • Delete Products • … Cart and Checkout • Add/Remove from Cart • Select Payment Type • Provide Billing Address • Provide Shipping Address • Apply Coupon/Discount • … User Account • Register • Sign in • Maintain Profile • View Order History • …
  • 7. 7DC SITECORE USER GROUP • Most large retailers have a specialized CMS for managing products called a Product Information Management system (PIM) • Data from the PIM is used by a variety of other enterprise systems, including the ERP / Accounting system and the ecommerce website • Historically, it was common to separate the “content” side of a website from the “commerce” side • Sitecore’s approach is to import and cache the product catalog(s) stored in the PIM so that products can be mixed with non-product content PRODUCT CATALOG SYNC
  • 8. 8DC SITECORE USER GROUP • Push vs. pull • Sync intervals • Full vs. incremental sync • Copy vs. transform • Who writes what when? DECISIONS, DECISIONS!
  • 9. 9DC SITECORE USER GROUP D365 EXAMPLE SITECORE COMMERCE CATALOG MANAGEMENT
  • 10. 10DC SITECORE USER GROUP D365 INTEGRATION
  • 11. 11DC SITECORE USER GROUP • The Data Exchange Framework models and runs synchronization processes • Sitecore uses it to run the catalog sync process with AX / D365 • It reads from the web APIs from those systems, then generates an XML file to import into the Sitecore Commerce Database DATA EXCHANGE FRAMEWORK
  • 12. 12DC SITECORE USER GROUP D365 CATALOG DATA SYNC AX Online Channel Database Retail Server API Sitecore Commerce Product Catalog Distribute Publish Transform Import Catalog.xml Fetch Access Access Invokes
  • 13. 13DC SITECORE USER GROUP • By maintain its own copy of the product catalog in a known format, Sitecore insulates your website from changes to your catalog system • This allows you to version your Sitecore CMS and website independently of the product information management (PIM) system • It adds flexibility at the expense of complexity ADAPTER PATTERN
  • 14. 14DC SITECORE USER GROUP • The Sitecore Commerce database is a known schema, so Sitecore provides a data provider implementation to make those items appear like “normal” Sitecore items • Since product items are not stored in the master or web databases, they do not participate in publishing in the same way that regular content does • Data providers operate at a very low level within Sitecore. They aren’t documented very well and rely on dark magic. • Write one at your own risk! DATA PROVIDER
  • 15. 15DC SITECORE USER GROUP • The data provider doesn’t make the product catalog appear within your site directly. Instead, wildcard items are used to point a part of the Sitecore content tree at the product catalog. • At scale, you’ll probably want to use a bucket-like experience to bring the catalog into Sitecore, then modify your WildcardItemResolver to bring in the products and categories as needed. WILDCARD ITEMS
  • 16. 16DC SITECORE USER GROUP • Product catalog data can be immediately live or can use the Commerce Server Staging service to perform a “switch-on-rebuild” operation • Once catalog data is live, changes need to be reindexed in your search engine PUBLISHING AND INDEXING
  • 17. 17DC SITECORE USER GROUP QUESTIONS? SITECORE COMMERCE CATALOG MANAGEMENT
  • 18. 18DC SITECORE USER GROUP APPENDIX SITECORE COMMERCE CATALOG MANAGEMENT
  • 19. 19DC SITECORE USER GROUP • If the PIM pushes updates to the CMS, the information will be available to customers faster, BUT… • If the CMS asks for product catalog information the two systems are less tightly coupled, especially if the CMS maintains its own product cache Sitecore uses a pull mechanism for product catalog sync operations PUSH VS. PULL
  • 20. 20DC SITECORE USER GROUP • How often do you perform an update? • Are there any operations that require real-time or near-real time calls? – Product availability – Amount in stock – Price and promotion changes Sitecore uses a scheduled job to for product sync – at an interval you determine – coupled with real-time operations for sensitive or rapidly changing data SYNC INTERVALS
  • 21. 21DC SITECORE USER GROUP • You’ll need to benchmark your systems to determine which is faster • But you’ll need to support both, if only to update products or prices in emergency situations Sitecore supports both methods* *assuming your PIM supports both methods FULL VS. INCREMENTAL SYNC
  • 22. 22DC SITECORE USER GROUP • Since information coming from the PIM has gone through its own review and approval process, you could simply display it as-is… • Or you could change or transform it, at the cost of additional complexity Sitecore provides a lot of flexibility to transform product catalog data. Use it wisely! COPY VS. TRANSFORM
  • 23. 23DC SITECORE USER GROUP • Ideally, the CMS would have read-only copies of product catalog data, BUT… • …You might want to enrich PIM data with additional information only needed by the website, AND… • …Mistakes happen, and sometimes you need to correct information right away • …So it’s often valuable to allow the CMS to override or temporarily modify values • Avoid bi-directional sync if you can! This one’s up to you… WHO WRITES WHAT WHEN?