Pattern Selection Guide

The selection matrix tables list the patterns and their key aspects to help you determine which pattern best fits your integration requirements. The patterns are categorized using these dimensions.

Aspect Description
Type Specifies the style of integration: Process, Data, or Virtual.
  • Process—Process-based integrations are ways to integrate the processing of functional flow across two or more applications. These integrations typically involve a higher level of abstraction and complexity, especially for transactionality and rollback.
  • Data—Data integrations are the integration of the information used by applications. These integrations can range from a simple table insert or upsert to complex data updates requiring referential integrity and complex translations.
  • Virtual—Virtual integrations are where Salesforce interacts with data that resides in an external system without the need to replicate the data that’s within Salesforce. This type of integration is always triggered via an event from the Salesforce platform such as a user action, workflow, search, or record update, resulting in data integration with an external source in real time.
Timing Specifies the blocking (or non-blocking) nature of the integration.
  • Synchronous—Blocking or near-real-time requests are request/response operations. The result is returned to the caller immediately via this operation.1
  • Asynchronous—Nonblocking, queue, or message-based requests are invoked by a one-way operation. The results and any faults are returned by invoking other one-way operations.2 The caller therefore makes the request and continues without waiting for a response.

An integration can require an external middleware or integration solution (for example, Enterprise Service Bus) depending on which aspects apply to your integration scenario.

Note

Integrating Salesforce with Another System

This table lists the patterns and their key aspects to help you determine which pattern best fits your requirements when your integration scenario goes from Salesforce to another system.

Type Timing Key Pattern to Consider
Process Integration Synchronous Remote Process Invocation—Request and Reply
Process Integration Asynchronous Remote Process Invocation—Fire and Forget
Data Integration Synchronous Remote Process Invocation—Request and Reply
Data Integration Asynchronous UI Update Based on Data Changes
Virtual Integration Synchronous Data Virtualization

Integrating Another System with Salesforce

This table lists the patterns and their key aspects to help you determine the pattern that best fits your requirements when your integration scenario goes from another system to Salesforce.

Type Timing Key Pattern to Consider
Process Integration Synchronous Remote Call-In
Process Integration Asynchronous Remote Call-In
Data Integration Synchronous Remote Call-In
Data Integration Asynchronous Batch Data Synchronization
1 “Synchronous vs. Asynchronous Communication in Applications Integration,” MuleSoft, last accessed October 13, 2021, https://www.mulesoft.com/resources/esb/applications-integration.
2 Ibid.