Customer Relationship Management (CRM) software is now imperative for all sales teams, regardless of size. And today, Salesforce holds sway in the CRM world. Salesforce has built a strong ecosystem by acquiring a broad range of businesses and solutions.
Salesforce is used for lead tracking, pipeline management, creating opportunities, and capturing order details that lead to fast and easy conversions. But it is not the system that maintains or processes orders. An external (remote) system manages orders. However, sales representatives prefer to view & update real-time order information in Salesforce rather than learning or using an external system.
Now the question is how do you view and modify data that is stored outside of Salesforce, without actually moving it inside the CRM?
Data virtualization is the best approach here. But first we should understand few things here.
What exactly is Data Virtualization?
Data virtualization enables real-time synchronization of multiple sources without any need for data replication, significantly reducing infrastructure costs.
Data virtualization focuses on mapping objects across multiple systems rather than copying data from one system to the next.
The benefits of Data Virtualization:
- Instant data access – Get real-time access to all of your data in one place.
- Extracts data from heterogeneous sources – It can extract data from all sources & types, irrespective of its formatting.
- A centralized point of access – Data virtualization reduces the risk of errors and data loss.
- No interruption in other functions – Data virtualization supports existing data infrastructure, allowing it to continue operating normally.
- Reduced data storage costs – since data does not need to be replicated or moved, a data virtualization layer is less expensive to maintain in the long term.
Salesforce Connect: The go-to-solution for Data Virtualization:
Using Salesforce Connect, you can access the data from an external source (like SAP, Oracle, etc) along with your Salesforce data.
Salesforce Connect usually maps data tables from external systems to external objects.
An External object is similar to a custom object, the only difference is that it maps to data stored outside your Salesforce org.
To ensure that external objects are always up-to-date, Salesforce Connect utilizes a live connection to external data. So, when you access an external object, you get real-time data from the external system.
Salesforce Connect lets you do many things:
- You can create, update and delete the data in an external system (CRUD operations)
- You can request data in an external system.
- Allows you to access external objects via list views, detail pages, record feeds, custom tabs, and page layouts.
- You can also define the relationship between an external object and a standard or custom object to integrate data from a different source.
- You can also run a report on external data.
You can use one of the following Adapters to access external data through Salesforce Connect:
- Cross-org adapter: Designed to connect to external Salesforce organizations.
- OData Connector: This adapter connects to any system that supports the OData 2.0 or 4.0 protocol.
- Custom adapter created via Apex
The ultimate benefits of the Salesforce Connect Solution:
- This solution doesn’t take up data storage space in Salesforce.
- Eliminates the need for regular data synchronization between the external system and Salesforce.
- Obtain a declarative set up in a short period of time.
- Access the external data using external objects.
- Easily conduct a federated search in the connected external system using global search.
So there’s another solution other than Salesforce Connect. It’s a sub-optimal solution “Request and Reply” in which you use the Salesforce API to make an ad hoc data request to access and update external system data. You can use the Salesforce API/ REST API/ SOAP API to execute it.
In integration, error handling plays a very critical role. So it’s important to include error handling as a part of the overall solution. When an error occurs, error codes are returned to the caller, who is then in charge of handling the error.
Salesforce has one tool which is called the Salesforce Connect Validator. It’s a free tool to run some common queries and notice error types and failure causes.
Error handling and Security go side by side. So it should adhere to the standard Salesforce or global security. It is always recommended to use the HTTPS protocol to connect to any remote system.
As a Salesforce architect try to go with the right Data Virtualization pattern because if you end up choosing the wrong technology, you have to do a lot of patchwork to make it work. And before you choose any adapter, read its limitations and advantages.
To sum it up, Salesforce Connect is the best solution for Data Virtualization.