S4S EXM with CD/CM Servers


S4S EXM works in a CD/CM situation i.e. with multiple Sitecore servers configured as Content Management and Content Delivery servers.

The Sitecore Scheduler fires on the CM server to initiate the sync. Salesforce Leads and Contacts are synchronized and S4S EXM uses a date/time in the Sitecore Content tree to determine the last time sync occurred (see image below). This is to limit the time required to complete the sync and prevent unnecessary updating of the same data. When a sync has been completed, the date/time value is updated on the CM server and the same item is also published to the CD server. 


The CM server is used for dealing with real-time updates to individual Salesforce records. When a Salesforce operator wants to update the Sitecore analytics in a Contact or Lead record, they click a request button in the Salesforce record. Salesforce calls out to an S4S EXM web service on the CM server and S4S EXM looks at the date/time field (see above) to determine when the last sync was completed. Only the recent analytics data since the date/time setting is pushed to Salesforce and only for the requested record. The date/time is not updated for single pushes.

IMPORTANT: The incoming request from Salesforce must reach the CM server so you will need to open a pinhole to the CM server for the IP address of your Salesforce Org. Why the CM server, and not the CD server? Sitecore EXM does not deploy the Sitecore EXM libraries that S4S EXM requires on the CD server.

Next Step

Configure S4S EXM Web Service Security

Steps

.