100% found this document useful (1 vote)
338 views

WP Salesforce Integration Patterns

Uploaded by

coolsfo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
338 views

WP Salesforce Integration Patterns

Uploaded by

coolsfo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

WHITEPAPER

Top 5 Salesforce
Integration Patterns
Best Practices for Integrating Salesforce
Salesforce Integration: Connecting Beyond CRM transformation – which the data set will undergo

Every business, no matter how large or established, requires a destination system – where the data will be inserted
sound and ongoing customer relationship management. As the
leading CRM system, Salesforce can accelerate and increase results capture – to compare the final state with the desired state.
sales, enhance customer loyalty and grow marketing capabilities.
Companies can use Salesforce to connect with customers and gain
vital data that can influence decisions. Additionally, cross-functional The five most common integration patterns are migration, broadcast,
teams can access and leverage the most up-to-date customer aggregation, correlation, and bi-directional synchronization.
information throughout the organization in order to streamline
business processes and maximize services and solutions. But how Migration
can businesses extend Salesforce to facilitate all this?

Effective and efficient integration of Salesforce with adjacent


enterprise systems, such as databases, ERP and CRM systems
and custom applications, is critical to enabling sales teams,
increasing revenue and better serving customers. Increasingly
companies find that the best way to solve both their IT and Data migration is the act of moving a specific set of data at a point
business needs is to use best of breed systems, each designed in time from one system to another. A migration pattern allows
for a specific functionality, and to use an integration platform to developers to create automated integration services for functionality
make all of the systems work together seamlessly. Integration that will be shared across multiple teams. Developers can set
plays a critical part, especially when dealing with legacy systems, configuration parameters to pass into the API call, so that the
mergers and acquisitions, new company initiatives, or developing migration application can dynamically migrate scoped Salesforce
a partner ecosystem. Each of these needs will lead to uncovering data in or out of Salesforce either on command or in the form of an
new opportunities, new ways to approach an account, or situations API. Creating reusable services for frequent migrations can save an
where you can provide additional value to your customers. exceptional amount of time for development and operations teams.

There are numerous Salesforce integration scenarios that may


Salesforce Integration Patterns call for the migration pattern including, migrating from a legacy
CRM system to Salesforce, from one Salesforce org to another,
Across the broad spectrum of Salesforce integration needs, backing up a customer master dataset, consolidating CRM systems,
patterns emerge for how to best address these challenges. Patterns populating Salesforce product data from SAP, and more. Migration
as defined here are the most logical sequence of steps to solving patterns are tuned to handle large volumes of data, process many
a specific type of integration problem and are discovered and records in batches and to have a graceful failure case.
established from real world use cases. An integration application Migrations are essential to any data systems and are executed
includes a pattern and business use case. The business use case extensively in any organization that has data operations. A lot of
is comprised of the value obtained from an integration and the time is spent creating and maintaining data, and migration is key
pattern is the use of the generic process for data movement and to keep that data agnostic from the tools used to create it, view it,
handling. and manage it. Without the ability to migrate it, data would be lost
anytime tools were changes, crippling the ability to be productive in
When thinking about the format of a simple point-to-point, atomic the digital world.
integration, one can use the following structure:
. Broadcast
Application(s) A to Application(s) B – Object(s) – Pattern

To templatize common Salesforce integration needs, base patterns,


or best practices, must first be established to make integrations
atomic, reusable, extensible, and easily understandable. The
essence of a pattern include some combination of at least one each
of the following elements:

a source system – where data resides prior to execution

the criteria – which determines the scope of data to be copied,


moved or replicated

Contact us Share
Broadcast is the act of moving data from a single source system to real time, would mean maintaining a database to store replicated
many destination systems in an ongoing, near real-time or real-time data to be queried. Aggregation is the simplest way to extract and
basis¬. Essentially, it is one-way synchronization from one to many. process data from multiple systems into one application or report.
Typically “one way sync” implies a 1:1 relationship; however, the
broadcast pattern can also be a 1:many relationship. By using an integration template built on an aggregation pattern,
developers can query multiple systems on demand and merge
In contrast to the migration pattern, the broadcast pattern is data sets to use data however needed, including creating or storing
transactional – executing logic only for items that have recently reports in .csv or other formats of choice. Inherent in the pattern is
modified – and is optimized for processing records as quickly as a custom logic that can be modified to merge and format data as
possible. Broadcast patterns are highly flexible and used to keep desired and that can be easily extended to insert data into multiple
data up to date between multiple systems, across time. A broadcast systems, such as Salesforce, SAP and Siebel.
pattern should be highly reliable to avoid losing critical data in
transit. Reliability is also necessary to employ integrations with low Examples of uses for the aggregation pattern include the following:
human oversight across mission critical applications as broadcast
patterns are usually initiated by a push notification or a scheduled Creating a dashboard that pulls data from multiple Salesforce
job. instances, while ensuring data consistency

The broadcast pattern allows for the immediate transfer of customer Updating Salesforce with data from both ERP and issue
data between systems, whether from two instances of Salesforce tracking systems
or between Salesforce and other systems. For instance, the pattern
can broadcast contacts between Salesforce orgs or can enable an Building APIs that collect and return data from multiple
action in Salesforce to immediately translate into order fulfillment systems, or report across multiple systems
processing. Examples of use cases for the broadcast pattern
include the following: Since the aggregation pattern allows developers to extract and
process data from multiple systems and merge them into one
A sales order in SAP should be created when an opportunity is application, data is always up to date, does not get replicated, and
marked as CLOSED WON in Salesforce can be processed or merged to produce any desired dataset or
report. This avoids the need to have a separate database for merged
Real time data needs to be synchronized from Siebel to content and makes reports available in any format or within any
Salesforce repository.

Salesforce must be updated with object changes in other The aggregation pattern is particularly helpful in the following
adjacent enterprise applications scenarios:

Aggregation When creating orchestration APIs that get data from multiple
systems to “modernize” legacy systems by processing data into
one response

When creating reports or dashboards which similarly have to


pull data from multiple systems and create an experience with
that data

When systems used for compliance or auditing purposes


need to have related data from multiple systems. With the
aggregation pattern, compliance data can be collected from
multiple systems, but be housed in a central, compliant
repository

When leveraging the aggregation pattern to integrate data and


applications, key considerations include collecting data, the scope
of the source data and insert data, merging multiple datasets,
Aggregation is the act of taking or receiving data from multiple formatting data, and any additional destinations. For example, when
systems and moving or copying that data into one system. The collecting data, there are two ways to do so: either create a system
alternative would be to run multiple migrations on a daily basis, that listens for messages from multiple systems and aggregates
which means worrying about keeping data accurate, synchronized them in real time, or create an application that is triggered by an
and up to date. Broadcasting data from multiple systems, though event. When combining multiple datasets, it is important to consider
how to merge them and how to present the data in the final report or
destination system.
2

Contact us Share
Bi-Directional Sync new records if they are found in one system and not the other. The
correlation pattern is not discerning in terms of origination of objects.
It will agnostically synchronize objects as long as they are found in
both systems.

Correlation is useful for cases in which two groups or systems only


want to share data, but only if they both have records representing
the same items or contacts in reality. The correlation pattern is most
Bi-directional sync is the act of uniting two or more datasets in two or
useful when extra data is more costly than beneficial as it scopes
more different systems to behave as one system that recognizes the
out the “unnecessary” data. For example, hospitals in the same
existence of different datasets. This type of integration is useful when
healthcare network may want to correlate patient data for shared
different tools or different systems, which are needed in their own
patients across hospitals, but it would be a privacy violation to share
right and for their own specific purposes, must accomplish different
patient data with a hospital that has never admitted or treated the
functions on the same data set. Using bi-directional sync to share the
patient.
dataset enables use of both systems, while maintaining a consistent
real time view of the data across systems.
With the correlation pattern, the most important consideration is the
definition of the term “same” across records. This definition can vary
Enterprises can use bi-directional sync integration to:
by industry and consequences for unclear definitions also vary. For
example, in targeting offers to customers, the same name may be
optimize organizational processes close enough; however, in a hospital, relying on a name could have
serious consequences if two patients have the same name and
more closely align data representations to reality in both systems different courses of treatment. The table below illustrates what can
occur when the definition of “same” is too strict, too lax or accurate
reduce the compound cost of manually addressing inconsistencies, across correlation and bi-directional sync.
lack of data or the impact to business as a result of inconsistencies

Just Right Too Strict Too Loose


hand pick and customize a suite of tools with best of breed
Wrong Records
applications used collectively for specific organizational aims Bi-Directional Sync Union of Data Sets Duplicate Created
Merged

Intersection of Data Wrong Records


Correlation Not Synchronized
Sets Merged
Bi-directional sync integration enables each system to perform
optimally while maintaining data integrity across both synchronized
systems. It can provide flexibility to modularly add and remove two The correlation pattern allows shared account data to be
or more systems that subspecialize inside a domain as storage. The synchronized across applications, including Salesforce instances,
sync is particularly advantageous when object representations of either across an organization or between a company and a partner.
reality must be comprehensive and consistent. Working internally, it can also allow for synchronization of customer
data entered by two different teams or even team members of the
In B2B sales models, Salesforce can be integrated with multiple same department.
systems that contribute to operational efficiencies and a streamlined
quote to cash flow but still serve as the system of record or primary
system for all data that needs to be synchronized. It is a pattern Patterns in Practice: Anypoint Templates
that could unify the most relevant and best performing applications
to enhance Salesforce functionalities and result in overall growth in Built on MuleSoft’s Anypoint Platform, Anypoint Templates are high
sales. performance, simplified solutions to building integration applications,
designed by our best engineers. These templates accelerate “time
Correlation to value” and meet the highest standard of quality to best fulfill
organizational demands.

MuleSoft templates are:

complete for atomic use cases – They are comprehensive and


focused on the main base unit of value, but are compounded by
Correlation and bi-directional sync are very similar but the adding flows in a parallel or serial order.
patterns have one critical difference. The correlation pattern
identifies the intersection of two data sets and does a bi-directional reusable – Anypoint Templates conform the base to base
synchronization of that scoped dataset, but only if that item occurs patterns leveraged in many variations of the same base
in both systems naturally. Bi-directional synchronization will create problem.

Contact us Share
extendible – Anypoint Templates are designed to grow, About MuleSoft
containing limited field mappings, data scopes, insert
statements, definitions of “same” and transformations to adhere MuleSoft’s mission is to connect the world’s applications, data and
to specifics within each enterprise. devices. MuleSoft makes connecting anything easy with Anypoint
Platform™, the only complete integration platform for SaaS, SOA
high quality – They are built and tested with production quality and APIs. Thousands of organizations in 54 countries, from emerging
in mind. brands to Global 500 enterprises, use MuleSoft to innovate faster and
gain competitive advantage.
elegant – Flows are built to read like an integration story so that
they are easily understood. For more information:

documented – Clear, complete documentation helps to quickly


realize value and to help developers rapidly understand and www.mulesoft.com
initiate templates. [email protected]

Twitter
easy to find and use – Browseable online and easily findable
within Anypoint Studio, the design environment of the Anypoint Facebook
Platform, templates are readily available. Google+

LinkedIn
Anypoint Templates allow development teams to realize value
quickly, learn from MuleSoft engineers, and develop applications
MuleSoft and the MuleSoft logo are trademarks of MuleSoft Inc. in the United States
based on patterns which have been tested across many
and/ or other countries. All other product and company names and marks mentioned in this
customers. The various patterns ensure that integration designs document are the property of their respective owners and are mentioned for identification
will be future-proof because they are built with the intention of purposes only.

being extended and customized.


All contents Copyright © 2014, MuleSoft Inc.

MuleSoft’s Anypoint Templates for Salesforce Integration


streamline and simplify the process of:

merging data after acquiring other entities

moving off of a legacy CRM system

updating Salesforce with ERP data in real time

ensuring consistency of data across Salesforce instances and


other enterprise applications

creating APIs that pull data from multiple systems

The Anypoint Platform allows for automated updates of contacts,


accounts, products, leads, opportunities and users in Salesforce
when changes occur or new information appears in ERP or CRM
applications, databases, or other Salesforce instances. Integration
templates enhance consistency of data and records in real time
across applications, geographies, business units, departments,
and more.

You might also like