Universal Containers (UC) has 50 million customers and stores customer order history on an ERP system. UC also uses Salesforce to manage opportunities and customer support. In order to provide seamless customer support, UC would like to see the customer’s order history when viewing the customer record during a sales or support call. What should a data architect do in order to provide this functionality, while preserving the user experience?
Use Salesforce Connect and an external object to display the order history in Salesforce
This question describes a scenario where a massive amount of external data (50 million customers' order history) needs to be accessed by Salesforce users in a real-time or near-real-time fashion without being physically stored in the Salesforce org. The data architect must choose a solution that provides a seamless user experience while handling the large volume of data efficiently.
✔️ B. Use Salesforce Connect and an external object to display the order history in Salesforce
This is the most effective solution. Salesforce Connect is designed specifically for this use case. It allows you to create External Objects that represent data from an external system (like the ERP). When a user views a customer's record, Salesforce Connect fetches the relevant order history on-demand using a real-time callout. This avoids duplicating 50 million customer records and their order history in Salesforce, which would be inefficient and create data sync challenges. This approach provides a seamless user experience while keeping the data where it resides.
❌ A. Use an Apex callout to populate a text area field for displaying the order history.
This is not an ideal solution. An Apex callout would require a custom-coded solution, which is more complex and less scalable than Salesforce Connect. Furthermore, populating a text area field is a poor user experience. The data would be static and not easily sortable or filterable, and it could exceed field size limits.
❌ C. Import the order history into a custom Salesforce object, update nightly
Importing 50 million records and their order history would be a massive and resource-intensive undertaking. A nightly update would mean the data is always at least one day out of date, which is not ideal for a contact center that needs real-time information. This approach is prone to data latency issues and is not scalable or efficient for such a large data set.
❌ D. Embed the ERP system in an iframe and display on a custom tab.
Embedding the ERP in an iframe provides visibility but does not integrate the data into the Salesforce platform. It creates a separate, non-native user interface experience. Users would have to navigate a different system's UI within Salesforce, which is not a "seamless user experience." It also prevents any integration of the data with native Salesforce features like reporting or automation.
Reference:
Salesforce Connect
