SALESFORCE INTEGRATION SOLUTIONS: BASICS
If you are about to implement Salesforce or already did and plan integrations this is a perfect read for you.
INTEGRATIONS - POWERING THE CUSTOM-CONNECTED EXPERIENCES
We live in times when every customer is connected. Nowadays everybody expects connectivity, seamless experiences,
and real-time fast accurate notifications when something happens.
Integrations are what are powering these custom-connected experiences. Using them you can bring together disparate
systems — data that lives in external ERP, Supply Chain, HR, or on-premises software like SAP, Oracle, and
Microsoft — to build a unified 360-degree overview of your customer.
Salesforce offers robust tools and powerful APIs to dramatically reduce integration time to unlock and modernize back-office systems.
Data integration on one hand can be a strategic opportunity but on the other hand, seems like the biggest challenge for the IT
departments that have to cope with numerous IT systems within their organizations.
48% of CIOs say data integration is their #1 challenge.
INTEGRATIONS POWER CONNECTED EXPERIENCES
Nowadays data integration impacts every industry:
You can get a real-time overview of your complete supply chain - raw materials, inventory, suppliers, transportation -
to identify bottlenecks and get ideas on how to optimize the whole process
Integrate data from various channels to see what’s selling - both for brick-and-mortar and online operations
Consumer Packaged Goods
Gain real-time visibility into product sell-through across channels, retailers, and distributors
TOOLS WITHIN A SALESFORCE ORG
With so many ways to integrate with the Salesforce platform, making the right integration choices can often be the key to a successful deployment.
Salesforce gives you the ability to integrate at any layer of your system:
Data layer (green boxes) - unifies customer context across multiple systems
Process/logic layer (pink boxes) - coordinates real-time activities and workflows
UI experience layer (yellow boxes) - builds a single view of the customer that is accessible from any device
Every part of Salesforce - from data to metadata to layouts and beyond - is accessible through APIs.
APEX REST API
An excellent choice for use with mobile applications and web projects
REST API provides a powerful, convenient, and simple REST-based web services interface for interacting with Salesforce
Uses REST, HTTP, JSON
APEX SOAP API
Can be used to integrate Salesforce with your org’s ERP and finance systems
You can use SOAP API to create, retrieve, update, or delete records.
Handles medium data volumes
Uses WSDL, SOAP, and XML
The Bulk API is a RESTful API that is optimal for loading or deleting large sets of data. You can use it to query, insert, update,
upsert, or delete a large number of records asynchronously by submitting batches that Salesforce processes in the background.
Bulk API is designed to make it simple to process data from a few thousand to millions of records.
Allows access to the organization’s data model, business logic, and user interface
SOAP, WSDL, and XML
The most common use is to migrate changes between .org (for example between sandbox and your production environment)
Data flows directly from system to system
Easy to implement
Very hard to scale
Someone with specialized knowledge, who knows the two systems and technologies in question can build an integration fairly quickly.
On the downside, you have to separately take care of each unique connector component that is implemented for each pair of applications
or systems that must communicate which can be time-consuming if you have 5-10 or more such connections. It can be a good choice when you
for example want to integrate Salesforce with Slack and QuickBooks.
HUB AND SPOKE
Data flows through a central point
Single point of failure
Adds another place where development must take place and another runtime component
Each system that wants to share data across the enterprise has one connection point with a single, central "hub" that mediates requests,
decoupling senders and receivers of data. In the Salesforce world, it can be a situation when you have implemented a Salesforce-to-Salesforce
solution and data from different orgs and synced to one main instance.
ENTERPRISE SERVICE BUS (ESB)
Distributed services architecture
All systems follow the same standards
Any new system can plug into the bus, as long as it meets the standards
The core concept of the ESB architecture is that you integrate different applications by putting a communication bus between them and then
enable each application to talk to the bus. This decouples systems from each other, allowing them to communicate without dependency on or
knowledge of other systems on the bus. In an enterprise environment, it can be a situation when you have many SaaS applications being used
like Salesforce, SAP, ServiceNow, Workday and you want to unify data from these systems.
What we have seen in recent years is moving more towards event-driven applications. If you have like 4-5 systems to integrate that need to
talk to each other point-to-point approach might be a sufficient one. However, when you suddenly finish with tens of different systems or
data sources to integrate then you might end up spending more time maintaining these connections. Think once again about for example big
manufacturing company - it might use systems like Salesforce, SAP, Workday as well as some internal systems for production planning and
Decoupling these systems and introducing the so-called publish/subscribe model allows every system to publish a signal that says that
something has happened. Every other system can listen to those channels independently and then decide what it should do with them. At
the end of the day, you finish with every system talking just with one point - event bus.
Salesforce Connect can connect to any oData data source. Once connected, it detects the schema based on the OData specification.
The external data is then presented in Salesforce as a so-called External Object. User can interact with that data similarly as
he interacts with normal data that resides directly in Salesforce - he can view, edit and also use it in reporting.
When to use Salesforce Connect?
You have a large amount of data that you don’t want to copy into your Salesforce org.
You need small amounts of data at any one time.
You need real-time access to the latest data.
You store your data in the cloud or a back-office system, but want to display or process that data in your Salesforce org.
You’ve surely heard about the big Salesforce acquisition - MuleSoft. The idea behind it was to enable Salesforce to bring together
the various products from different vendors and make the transition to the Salesforce cloud seamless for customers. MuleSoft ESB
acts as a central point of integration between applications and allows companies to get a 360-degree view of customers and improve
MuleSoft’s Anypoint Platform delivers a simple and unified solution for extracting data from internal or external sources with the use of
APIs. API-led connectivity is a methodical way of connecting applications, data, and devices through APIs. Using this approach developers
and system architects can avoid tightly coupled point-to-point integrations in favor of:
Clear contracts between systems
Visibility and security
Availability and resiliency
Anypoint Design Center allows you to:
Design, document, and test APIs in a web-based graphical environment.
Use API specifications to scaffold the API implementations, automatically generate documentation,
or mock (simulate) an API.
Build integrations and implement APIs in a low-code environment in your browser or desktop.
Create data transformations within a drag-and-drop interface or by writing the code.
Test integrations manually or automate tests locally or in continuous integration/continuous delivery (CI/CD) environments.
The best part is that like the AppExchange for Salesforce, MuleSoft has the Anypoint Exchange. Here you can find a public
repository of connectors, templates, examples, and APIs.
CREATING A CONSISTENT EXPERIENCE FOR CUSTOMERS AND EMPLOYEES ACROSS ALL PLATFORMS
Organizations rely on a variety of systems to serve their customers. The problem nowadays is that the disconnected and isolated
nature of these systems leads to broken experiences for customers and employees. By integrating these systems, scattered context
can be reassembled to create the consistent, engaging experiences employees and customers expect.
Salesforce offers a variety of integration solutions that empower organizations to deliver consistent engaging experiences across
every touchpoint. Whether it is unifying customer context on the data layer level or coordinate real-time activity across multiple
systems developers and system architects can find a reach suite of tools within Salesforce that will help them achieve desired results.