When using Salesforce you can use multiple approaches to implement system interfaces. The optimal decision is determined in the design phase of a project. The following is an overview of the top 7 Salesforce integration patterns along with the possible association to specific integrations.
- Real-time Mashups
These involve a custom-built Visualforce User Interface in Salesforce. This User Interface resembles a traditional web built using HTML since it is possible to implement custom branding, you can build complex user flows, and the webpage can do web service callouts to external systems for data retrieval. Real-time mashups are especially useful in those situations whereby data is not stored in Salesforce but needs to be accessed at once.
- Real-time Data Integration
These interfaces are particularly needed when a Salesforce user performs an action and expects an immediate response. Real-time integrations require complicated error handling mechanisms and queuing mechanisms and have higher risk.
- Batch Data Integrations
These are the commonest of integrations. Batch is a great pattern for data that must reside within Salesforce or be transferred out of it for workflow or reporting purposes that does not change that regularly, and that is generally in large quantities. Batches can occur in time ranges from a few seconds to several weeks if necessary. They are the simplest type of interface to implement and the majority of the development occurs in the ETL tool as opposed to the Apex code. It is also ideal for handling flat files.
- Near Real-time Data Integrations
These interfaces can involve transactions within seconds to minutes based on need. In actuality, many interfaces tend to fall within this category. It is more reliable than real-time since it has in-built queuing and reprocessing right out of the box. Options for implementing this include rapid polling using an ETL tool, outbound messages, and utilizing the Salesforce REST or SOAP APIs.
- Non-Visual Mashups
Salesforce does offer either the ability to embed third-party webpages directly within the User Interface directly or using Force.com canvas. Both of these integrate already built web applications hosted in other locations and developed in other technologies directly into the Salesforce UI.
- Force.com Canvas
This lets developers to embed an already built web application using a Salesforce developed SDK directly into Salesforce page layouts. Canvas allows Salesforce and the embedded webpages to interact seamlessly allowing for dynamic web apps with complete UI interactivity.
- AppExchange ‘Installations’
Salesforce has a full ‘app store’ that has bolt-on apps that you can install directly into your Salesforce environment. Most of these apps provide great integration with common systems such as PayPal. Whenever such apps exist, it is best to reuse them as opposed to building the integration. A good example of an AppExchange installation is the integration of PayPal payment processing.
In conclusion, best Salesforce training will teach you that the Salesforce integration patterns you choose should be based on a multitude of factors including reliability needs, budget, expertise of your development resources, criticality of data, as well as whether or not you have an ETL tool.
Latest posts by Charlie Brown (see all)
- Why Personal Finance Apps are perfect for Financial Discipline - January 16, 2017
- Top Tips for Producing Good Videos - January 10, 2017
- How Argos is using technology to make online shopping a Memorable Experience - January 3, 2017