In my experience with integrating Salesforce to external systems, I keep the following key considerations in mind. These key considerations focus on integrating Salesforce to external systems such as ERP systems hosted inside the firewalls of an enterprise.
1.Data Dictionary : Establish a consistent set of data definitions that can be used in Salesforce and the target systems to be integrated. This is critical because It will greatly help in reducing the number of transformations when it comes to consuming services exposed by the external systems.Eliminate confusion for business users and help avoid unexpected data replication issues.
2.Data Latency Requirements : Before deciding on a particular method of integration, (such as real time or batch integration) you need to clearly understand data latency requirements. Does the data need to be integrated real time into Salesforce or is it sufficient to make the data available to Salesforce once every 2 hours? It is very important to understand the data latency considerations because Real time integration with Salesforce needs to be the last resort as it requires you to carefully consider the governor limit implications such as the number of concurrent calls and the response time. For more information on governor limit considerations for web services based on real time integration, please look at the article here
3.Pick the right integration tool : Once you have identified the data latency requirements, you need to pick the right integration tool that satisfies data latency requirements. When you are considering tools, ease of use and native connectors (available in AppExchange) should be at the top of your requirements list. Native connectors will provide seamless integration with the rest of the Salesforce platform thereby making integration a breezy experience. This is where companies like MST Solutions can help you select the right tool as part of the implementation project.
4.Streaming API : Instead of using expensive web service based pull invocation, you can also simulate real time by leveraging Streaming API. Streaming API uses push methodology wherein the server (publisher) pushes information to one or many clients (subscribers). More information on Streaming API can be found here. Streaming API should be a key tool in a developer’s arsenal because of the flexibility it offers while still providing a rich user experience for the end users. For Salesforce integration best practices – please refer to the articleSalesforce Integration Patterns and Practices.
5.Integration Proxy : In one of our previous implementations, we implemented a layer of integration called Cloud Proxy that abstracted all of the cross cutting integration concerns such as transformation, endpoint virtualization, logging, and security. This enabled us to have a single tunnel into the enterprise through which we were able to completely monitor and control the web service traffic coming into the enterprise.
For more information on how MST Solutions can help you with your integration, please reach us through the Contact Us page.