Blog

Next Article


How to connect all your systems to the world's number 1 CRM

We live in times when every customer is connected. Nowadays everybody expects connectivity, seamless experiences and real-time fast accurate notifications when something happens.

If you are about to implement Salesforce or already did and plan integrations this is a perfect read for you.

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 organisations.

48% of CIOs say data integration is their #1 challenge.

Integrations Power Connected Experiences

Nowadays data integration impacts every industry:

  • Manufacturing
    • You can get 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
  • Retail
    • 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 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 across multiple systems
  • UI experience layer (yellow boxes) - builds a single view of the customer that is accessible from any device

Salesforce APIs

Every part of Salesforce - from data to metadata to layouts and beyond - is accessible through APIs.

APEX REST API

  • 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

Bulk API

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.

Metadata API

  • Allows access to organization’s data model, business logic and user interface
  • SOAP, WSDL and XML
  • Most common use is to migrate changes between orgs (for example between sandbox and your production environment)

Integration Architectures

  • Point-to-point
    • Data flows directly from system to system
    • Easy to implement
    • Very hard to scale
  • Someone with specialised 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” which mediates requests, decoupling senders and receivers of data. In Salesforce world it can be a situation when you have implemented 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
    • Highly scalable

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 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.

Event-Driven Architecture

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 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 managing logistics.

Decoupling these systems and introducing so called publish/subscribe model allows every system to publish a signal that says that something has happened. Every other system can listen on those channels independently and then decide what it should do with it. In the end of the day you finish with every system talking just with one point - event bus.

Salesforce Connect

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 so called External Object. User can interact with that data similarly like 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 in a back-office system, but want to display or process that data in your Salesforce org.

 

MuleSoft

You’ve surely heard about big Salesforce acquisition - MuleSoft. 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 customer and improve collaboration.

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
  • Reusability
  • Discoverability
  • 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.

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.

Conclusion

Organizations rely on a variety of systems to serve their customers. Problem nowadays is that 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 variety of integration solutions that empowers 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 reach suite of tools within Salesforce that will help them achieve desired results.


Get a quote