Salesforce is a very versatile and powerful tool that offers a number of ways to integrate data. There is no single solution that is the best for all enterprises; during the design phase, the specific needs of all departments that will be using Salesforce must be carefully evaluated. Six integration patterns are most commonly used.
- Batch Integration: Batching remains a common method of data integration. Batch updates can be scheduled to occur within seconds, or be delayed for several weeks — it all depends on how quickly the data must be transferred. Batching is usually most desirable for data that changes infrequently, but is generated in great quantities. It is the easiest method to implement, and it is also an excellent solution for processing flat files.
- Near Real-time Integration: Like batching, near real-time integration can take place in seconds, be delayed for several minutes or occur at any point in between. The method is normally used when data integration needs to happen quickly, but no harm is done if the transfer takes a few seconds to happen. This is one of the most common methods chosen as it easier to implement and more reliable than real-time integration. This method can work extremely well for many applications, such as sending emails to notify customer’s confirmation of an online order.
- Real-time Integration: Some clients believe that real-time integration is an absolute must for all situations, such as attempting to use Salesforce to align marketing and sales. However, there are actually a limited number of industries and applications for which real-time processing is essential; near real-time is often more than adequate, and it is much less challenging to implement, handle errors and control queuing. A bank might need true real-time integration to issue authorizations for credit card purchases, but very few manufacturing companies or online retailers can justify the complexity of this method.
- AppExchange: One of the many benefits of Salesforce is the availability of numerous apps that can be immediately installed in the Salesforce environment. Many apps are designed to integrate with popular system. For example, an online retailer can integrate an app to handle processing PayPal payments. Using these “canned” apps can reduce the time and expense of integration over creating the integration from scratch. Installations are relatively uncomplicated, and support and future enhancements are typically provided by the vendors.
- Real-time Mashups: Real-time mashups require building a user interface in Visualforce, the framework provided by Salesforce for creating customized UIs. Like a traditional HTML-based web app, custom branding, callouts to retrieve data from external systems and complex flows are all possible. Real-time mashups are frequently used when immediate access to data residing outside of Salesforce is needed, such as retrieving multiple documents from several external systems.
- Other Mashups: In addition to Visualforce and Canvas, Salesforce allows developers to embed existing third-party web pages that have been designed using other technologies (and typically hosted separately) within the user interface. One common use for this method is to extend the reporting capabilities of Salesforce by integrating desirable business-intelligence apps.
Deciding on the integration method that should be used requires a careful analysis of each enterprise’s specific needs. However, Salesforce offers so many options that finding a great solution should not prove to be much of a challenge.