Unlock External Data to Build Connected Experiences
After completing this unit, you’ll be able to:
- Identify the role of the AnyPoint Platform and API-led Connectivity.
- Design a solution architecture for external data using integration connectors.
Layers of Integration with APIs
Within any integration solution, there is typically data that’s imported from multiple services outside of Salesforce. Ideally, each service is fulfilling specific tasks. All of these tasks and, in turn, all of the data, need to be integrated. This is where API-led connectivity shines.
API-led connectivity spans across three layers—System APIs, Process APIs, and Experience APIs. Each of the layers are decoupled from one another. But together they create the basis for a harmonious integration landscape that is scalable through the consistent use of APIs.
The system layer is directly connected with external systems, for instance the database, legacy systems, or SaaS applications. Connecting to external systems is the only job of this layer. There’s no business logic that is written there. This provides the security in knowing that if changes are made at the system layer, it won’t impact your application. This also creates System APIs as reusable assets that can be used in other applications that you create.
The process layer reads the data from the system layer. This is where the business logic and orchestrations are contained. Data from the system layer is merged to create a unified business process view of the underlying systems. Remember each layer is decoupled, so there’s no concern over dependencies between the process and the system layer.
The experience layer is where the end user interacts with the data and processes. At this point, the user can modify the data and tailor it for their intended audience. Containing the UI in its own layer provides scalability, and it can be segmented into different categories. For instance, you could separate these APIs three ways to support e-commerce, mobile apps, or desktop interfaces.
Think of this style of API architecture like microservices designed to support small isolated suites of services. Instead of creating your API in a monolithic way, create microservices to mitigate any dependencies. This separation also makes troubleshooting a breeze. If something breaks, you will immediately know if it’s broken in the system layer, the process layer, or the experience layer.
Leveraging MuleSoft Connectors
Whether you need to build onto your legacy systems, or you want to build a new experience, you can do it on Salesforce or Heroku. But you may find there’s some heavy lifting involved if you implement those tools independently. With this type of implementation, it’s also hard to reuse assets, especially when you’re ready to extend your application to use external systems.
Using the MuleSoft Anypoint Platform makes it easier when you’re ready to pull data externally. The Anypoint Platform offers ready-to-use connectors that act as the middle ground to decouple systems, avoid point-to-point integrations, and make moving data easy and fast. MuleSoft is excellent at delivering an end-to-end experience by exposing APIs in a way that can make them reusable.
Within integrations, sometimes finding the exact connector pairings prepackaged like connecting data from Salesforce to Workday is difficult because the connector would need to run in one application or the other. However, finding an associated connector is as easy as searching in the MuleSoft Anypoint Platform Exchange or AppExchange.
Look at some use cases, and see how to utilize the MuleSoft connectors to import external data.
Use Case: External Data Consolidation into Salesforce
MuleSoft Integration to consolidate external data involves multiple features of Salesforce. The REST API moves data back and forth from the CRM. The OData connector exposes the external objects and the APIKit to virtualize the data from the order system into MuleSoft. The Workday Connector connects the financial data. The AWS Connector gathers the inventory information. All of the data that’s centralized in MuleSoft is sent to Salesforce. These connections from MuleSoft to the CRM are bidirectional because MuleSoft has the capability to aggregate data back and forth as needed.
Use Case: Multi-Org and External Data Consolidation
Robert, from GetCloudy Consulting, is responsible for maintaining the company's multi-org infrastructure. At this point, the company is wondering how they can create a customer 360 by combining data that’s spread across all of the orgs within their infrastructure, while also including the multiple on-premises systems. They need to consolidate all of this data to one single source of truth.
Robert originally considered using only the APIs from each org to centralize data. But he thought that solution would create long development cycles. Instead, Robert recommends working with the MuleSoft team to leverage Heroku Connect for the 40+ orgs that were consumed from previous acquisitions. To connect multiple orgs and create that single source of truth the business was looking for, he also recommends using Heroku Connect with a Postgres database. To include the data that needs to be connected from the on-premises systems and those within the cloud, he recommends using MuleSoft connectors. Over 200 connectors are available to use so that any Salesforce instance or future acquired system is covered. It consistently brings all the data from Siebel to SAP to any future system to the same single source of truth.
Differentiate Between Integration Connectors
With so many options, it can be difficult to choose what the best integration is for your use case. Let’s wade through your options.
From MuleSoft connectors to using Heroku Connect, integration connectors use Salesforce APIs via SOAP, Bulk, and Streaming. There are differences between each option when it comes to three key areas:
- DevOps and/or Administrative and Ongoing Integration Maintenance
Keeping these key areas in mind, apply the knowledge you’ve gained to these scenarios.
Use Case 1: A customer needs to integrate at scale single or multiple Salesforce orgs in a turnkey automated manner. The customer is interested in using a Heroku Postgres Database in the cloud with minimal ongoing administration effort.
Solution: Heroku Connect is the integration connector recommendation. As you learned in the previous units, Heroku Connect offers turnkey fully automated integration between Salesforce orgs and their Heroku Postgres Database. Since it's a fully managed integration connector, the customer doesn’t have to worry about maintaining and managing connection uptime or maintenance.
Use Case 2: A customer needs to integrate single or multiple instances of Salesforce orgs to an Oracle or SQL database that can be on-prem or in the cloud. The customer has DevOps resources to set up and maintain the connection on an ongoing basis. The customer is also interested in building transform and aggregation operations on data before it’s stored in the database.
Solution: MuleSoft Salesforce Connector is the recommended option. Why? It supports Oracle and SQL databases, and the Postgres Database. In addition, the MuleSoft Salesforce Connector can be set up to connect to a database that might not be in the cloud. With MuleSoft Anypoint Platform, customers can perform operations such as aggregate data or transform data before it’s stored in the database.
Use Case 3: A customer needs to integrate data from multiple Salesforce orgs to relational databases, like Postgres, Oracle, or MySQL. The data volume is expected to grow over a period of time—for instance, an initial volume of 10,000 records with an increase of 1 million records within 12 months. The customer is budget conscious and would like to keep the licensing cost under control.
Solution: For this scenario, selecting a MuleSoft Anypoint connector is the best choice because of the licensing model. Heroku Connect bases its pricing on the number of records synced between Salesforce and its Postgres database. This means as the volume of records increases, so does the licensing cost. The MuleSoft Anypoint connector licensing isn’t based on the number of records synced, which makes it a better cost-control option. It’s important to keep in mind that the customer is responsible for managing and maintaining the connection as the volume of data scales.
When you think about your solution architecture, remember that using integration connectors is a way to extend Salesforce. Although you don’t need these tools to use Salesforce, creating integrations that include one or more of these tools helps remove the designs that cause difficulties in your day-to-day work.