Weitere ähnliche Inhalte Ähnlich wie Salesforce integration best practices columbus meetup (20) Mehr von MuleSoft Meetup (7) Kürzlich hochgeladen (20) Salesforce integration best practices columbus meetup1. All contents © MuleSoft, LLC
Salesforce Integration Patterns and
Best Practices
Presented by:
Ramsankar Ananthan, Sr Customer Success Strategy Architect, MuleSoft
Yogesh Dhimate, Sr Solutions Manager, MuleSoft
April 2021
2. 2
● About the organizers:
○ Naresh Garidepalli : Integration Architect, Cognizant Technology Solutions
○ Yogesh Dhimate : Senior Solutions Manager, MuleSoft
○ Ramsankar Ananthan : Sr Customer Success Technical Architect, MuleSoft
○ Ralph Osmond Rimorin : Solution Architect, Collibra
Introductions
A SHOW OF HANDS:
Who is new to this Meetup?
3. All contents © MuleSoft, LLC
MuleSoft Connectivity to Salesforce
Overview
4. All contents © MuleSoft, LLC
● Connectivity Overview
○ Connectivity to Salesforce Clouds
○ Connectors and Salesforce APIs
■ Connector interacting with Salesforce core
■ Composite Connector
■ Triggers
■ Establishing a connected app for MuleSoft Connectors
● Salesforce Integration Best Practices
○ When to move data into SFDC
○ Appropriate use of APEX
○ Salesforce integration technologies and considerations
■ Data Virtualization/Live Read
■ Data Manipulation and Migration
■ Real-time changes, events and Streaming
● Resources
○ Salesforce Accelerators for Service Cloud and Commerce Cloud
Agenda
5. All contents © MuleSoft, LLC
Salesforce Connectivity with MuleSoft
● Standard Connector supports 6 APIs from SFDC Core
○ SOAP
○ Bulk REST v1/v2
○ Streaming
○ Metadata
○ Apex SOAP/REST
● Composite connector supports operations for Composite API
● Connectivity to other SFDC Clouds
○ Commerce Cloud B2C Data Connector
○ Einstein Analytics
○ Marketing Cloud
● Salesforce Connect/OData
○ APIKit for OData Sources
● Salesforce Accelerators
6. All contents © MuleSoft, LLC
Clouds and Connectors
● Commerce Cloud
○ Based on Open Commerce API framework
■ Operations as a Customer, Shop, or Agent
○ Commerce Cloud Accelerator
● Analytics Cloud
○ MuleSoft created and supported connector
○ Interacts with SFDC Analytics Cloud External Data API
○ Create data set, upload data into a new or existing data set
● Marketing Cloud
○ MuleSoft created and supported connector
○ Used for full operations on objects in Marketing Cloud
○ Use for Create/Update/Delete configuration in Marketing Cloud
○ Support for Data Extension operations
■ How to Create Data Extension Object Entities
7. All contents © MuleSoft, LLC
Connectors vs Direct API consumption
● Abstract connectivity complexity and API types
○ Basic Auth login to SFDC - 80 lines of Java
○ Does not include:
■ Error handling
■ Session Management - reuse, disconnect, reconnection
■ Delegated Access
■ Connection Pooling
■ Access via a Proxy
■ The 4 Oauth schemes SFDC
Supports
○ Protocol abstraction
(SOAP, REST, Streaming)
8. All contents © MuleSoft, LLC
Connectors vs Direct API consumption
● Other patterns you may need to solve for in code:
○ Data validation
■ Contact REST API field validation
○ Calling APEX
○ Publishing/Consuming events
○ Polling on intervals
○ Bulk Data loads
● Connectors also support object introspection
● Polling/Watermarking built in
9. All contents © MuleSoft, LLC
Core - Composite Connector
● Salesforce Composite Connector
○ Used to simplify complex data loading use cases
○ Leverages SFDC’s Composite API released in 2017
○ Batch
■ Operate on up to 25 unrelated Objects passed in a single call
○ Composite
■ Make chained calls where the result of each is used in the next subrequest
■ E.g. Create Account, Update a Contact, retrieve the updated data
○ Tree
■ Used to create one or more SObject Trees
■ Create Account, a child account, and the parent account and child account’s Contacts in a single call
10. All contents © MuleSoft, LLC
Core - Connector Triggers
● Monitor for changes on a single object
○ Created
○ Updated
○ Deleted
● Simplified method for monitoring for object changes
○ Polls for records
○ Updates watermark automatically
● Does not require changes to source system
● Sends entire object, results are not filtered
● New feature for Mule 4 SFDC Sales/Service Cloud connector
○ More connectors planned in the future
11. All contents © MuleSoft, LLC
Salesforce Integration Best Practices
12. All contents © MuleSoft, LLC
Appropriate usage of Apex or Integration
12
● Permit orgs to create APIs within Salesforce and call out to third-party APIs
○ Bleeds into middleware capabilities though not intended for it
○ Suited for intra-SFDC actions or limited event/call-outs
■ Changing sharing rules
■ CRUD objects based on org data changes
■ Generating platform events or API invocation
● Increasingly complex to manage error/retry mechanisms, dependencies, governor limits, and
concurrency limits as the org scales
● Consider an integration platform solution design if Apex is currently used for:
○ Data Translation between SFDC and proprietary 3rd party systems
○ Routing or enrichment between different 3rd party systems
○ Complex orchestration of services across multiple systems
○ Message queuing between applications
○ File generation or processing
13. All contents © MuleSoft, LLC
Enterprise Integration Patterns
Finance ERP Fulfilment HR
...
On Premise and Cloud Systems (Workday, Oracle etc.)
System of Engagement (Salesforce)
Sales Cloud
Service
Cloud ...
Marketing
Cloud
Systems of Connectivity - Integration Tier
Patterns and
Recommendations
Persistence
Retry and
Error Handling
Transaction
Management
Transformation
Aggregation
and
Enrichment
14. All contents © MuleSoft, LLC
When to move data into Salesforce
● Consider business drivers
○ Regulatory or Data currency could impact whether data should be remotely accessed or
replicated
● Large Data Volumes
○ Data capacity within the org
○ Capacity planning and archival strategy strongly recommended for cost and performance
optimization
○ Leverage Salesforce best practices for large data volumes
● Use case
○ System of engagement
○ Reporting and Dashboards
■ Einstein Analytics supports different data movement capabilities optimized for analytics
■ Can integrate with ‘live’ data
○ Augmenting ‘live’/org Data
■ Consume REST APIs when currency is important and data is volatile
■ Salesforce Connect/OData can allow external data to appear as a custom object
14
15. All contents © MuleSoft, LLC
Best practices for interacting with Salesforce APIs
15
● Loading Data
○ Prioritize deltas at a field level and record level
○ Insert/Create and Update will process faster than Upsert
○ If load exceeds 10’s of thousands of records Bulk API will be fastest
■ Clean data - errors trigger record level processing for the batch
■ Reduce computations (sharing roles, Apex triggers, workflow rules)
■ Structure jobs to support Parallel processing
○ Leverage incremental data loads (Events, near-real time synchronization of deltas)
○ Use live data reads to avoid loading wide objects into SFDC
● Reading Data
○ Prioritize delta extracts and reads
■ CDC, Platform Events or Push Topics to sync data in near-real time
■ Interval polling using SOQL, or more efficient getUpdated/getDeleted
■ Bulk query for extracting large volumes of records periodically
○ SOQL
■ Minimize formula fields - calculated in real time
■ Minimize null values in WHERE
16. All contents © MuleSoft, LLC
One platform for all integration patterns
APIs and Integrations in a single platform
16
Pub-Sub
IoT
Broadcast Bi-directional Sync
>
>
>
>
Data Migration
APIs &
Management
Aggregation
Web Services
ESB
>
SaaS Integration
Microservices
>
<
B2B / EDI
SOAP
>
<
REST
>
<
>
<
>
>
>
>
>
Mulesoft supports over 60 Enterprise Integration Patterns (EIPs) including all EIPs described by Hohpe’s in
Enterprise Integration Patterns
17. All contents © MuleSoft, LLC
Extend Salesforce Integration Services with MuleSoft
Big
Objects
Salesforce
Connect
Platform Events Bus
Lightning
Platform
MuleSoft
Anypoint Platform
Integration Runtime
Pre-Built Connectors
Legacy
Systems
Firewall
Platform Events & Change Data Capture
Big Data
Storage
OData Connector
On-Premise
or Cloud-Based
Apps/Databases
REST
>
<
>
<
Bi-Directional Sync
Bulk Data Loads
Secure API Gateway
17
API Design &
Management
19. All contents © MuleSoft, LLC
Salesforce integration capabilities
Applicability of different Platform integration options
The Salesforce core Platform provides a variety of
capabilities for integrating a Salesforce Org with its
surrounding systems, such as
● Apex call-outs
● Lightning Connect
● Salesforce to Salesforce
● Canvas
These mechanisms are designed to cater for a variety
of scenarios intra-Salesforce or to provide integration
capabilities in implementations without a integration
tier
Logical layer Primary Platform Capabilities
User interface
• Canvas
• Lightning Components
Process
• Apex Callouts
• Apex REST/Web Services
• Workflow Outbound Messages
Data
• Lightning Connect
• Salesforce-to-Salesforce
• Bulk/REST/SOAP APIs
• Streaming API
• Platform Events
• Change Data Capture
20. All contents © MuleSoft, LLC
Salesforce integration capabilities
Applicability of different Platform integration options
The Salesforce core Platform provides a variety of
capabilities for integrating a Salesforce Org with its
surrounding systems, such as
Apex call-outs
Lightning Connect
Salesforce to Salesforce
Canvas
These mechanisms are designed to cater for a variety
of scenarios intra-Salesforce or to provide integration
capabilities in implementations without a integration
tier
Logical layer Primary Platform Capabilities
User interface
• Canvas
• Lightning Components
Process
• Apex Callouts
• Apex REST/Web Services
• Workflow Outbound Messages
Data
• Lightning Connect
• Salesforce-to-Salesforce
• Bulk/REST/SOAP APIs
• Streaming API
• Platform Events
• Change Data Capture
Focus today is around capabilities
that are commonly leveraged with
Middleware/Integration and API
platforms
3 Common Areas:
Data Virtualization/Presentation
Data Manipulation and Migration
Real time events
22. All contents © MuleSoft, LLC
Lightning Connect
Surface live remote data through Salesforce objects through configuration
Characteristic Description
Timing Real-time
Skills Salesforce Administration (if not using custom adapters).
Flexibility
• Out-of-the-box support limited to OData and Salesforce
endpoints.
• Custom adapters to non-OData data sources can be
developed in Apex code if required.
Direction Salesforce to other systems.
Data location Remote from Salesforce
Protocol support HTTPS – OData .
Endpoint impact
Target system must either be another Org, or support
OData 2.0 or 4.0, or otherwise a custom adapter must be
developed..
Security
• Username/password
• OAuth
Additional tools
None required, unless development of Apex or adapters in
the remote system is required.
User experience
Data can be surfaced as required by the app’s
requirements; use of External Objects allows remote data
to be displayed easily alongside local data, e.g. in Page
Layouts.
Overview
Salesforce establishes a live connection to a remote data service to
populate External Objects within the Org that can be used similarly to
Custom Objects, with the connection and population of the data
handled by Salesforce via configuration rather than custom code.
Useful for
When data in remote systems is volatile, and understanding the latest
values is important – e.g. latest inventory.
If source volumes are particularly large and/or the business
requirements only require a small subset of the data.
Scenarios where compliance dictates data cannot reside in
Salesforce, or corporate strategy is to hold the data in a different
system.
Potential limitations
Data is fetched real-time, so latency will be greater than the
Salesforce database; not recommended for reporting/data analysis
intensive use cases.
Additional license cost applies, as do Governor Limits.
23. All contents © MuleSoft, LLC
Apex Callouts
Programmatic access to third-party APIs
Characteristic Description
Timing Real-time or from Apex batch classes
Skills Apex development
Flexibility
• High degree of flexibility – APIs can be combined with
Salesforce data according to the Apex programming
model.
• Governor Limits apply.
Direction Salesforce to other systems
Data location Remote from Salesforce
Protocol support HTTPS – REST or SOAP Web Services protocols.
Endpoint impact
None if REST or Web Services APIs and/or SDKs already
exposed; development effort required otherwise.
Security
• Named Credentials provide administrative support for
OAuth if REST APIs support it.
• Web Services authentication set via request headers.
Additional tools
None over and above existing Apex app development
tools.
User experience
Data can be surfaced as required by the app’s
requirements.
Overview
Programmatic invocation of REST or SOAP Web Services from Apex
with the results processed as required server-side.
Useful for
Integrating third-party data exposed via APIs whilst retaining the look
and feel of the rest of Salesforce.
Integration of third-party data with Salesforce data within the Org to
fulfil business process requirements.
Handling integrations where richer transaction processing and error
handling capabilities are required for the business process.
With MuleSoft, perform transformation, routing and choreography.
Potential limitations
Requires Apex programming skills.
Data passes through Salesforce infrastructure – e.g. if compliance
requires otherwise.
Depending on the amount of traffic to the remote systems, applicable
Governor Limits may kick in.
25. All contents © MuleSoft, LLC
Bulk/REST/SOAP APIs
Programmatic access via APIs to manipulate Salesforce data
Characteristic Description
Timing Real time for REST and SOAP APIs, batch for Bulk API.
Skills Salesforce Administration
Flexibility
Designed to be flexible general purpose APIs to support a
broad range of client applications.
Direction Other systems to Salesforce
Data location In Salesforce
Protocol support HTTPS, REST and SOAP.
Endpoint impact
Client applications need to conform to the standard
REST/Bulk APIs or Enterprise/Partner WSDLs for SOAP.
Security
OAuth for REST and Bulk APIs; SOAP API supports
username/password, though a session obtained via
OAuth can be used.
Additional tools None required for Salesforce.
User experience
Users will see any data changes through the user
interface as normal.
Overview
Salesforce provides multiple standards-based general-purpose APIs
for the manipulation and retrieval of data inside Salesforce by remote
systems; the Bulk API is optimised to support batch handling of
particularly large datasets.
Useful for
Performing general purpose CRUD operations over data inside
Salesforce without needing to write custom Apex code.
Large volume data migration into Salesforce.
Potential limitations
APIs provided by Salesforce are designed to be general purpose to
support a broad variety of apps – additional business logic or data
processing requires development of custom Apex APIs. (This
limitation is increased with Mule in place)
Governor Limits apply to API calls.
26. All contents © MuleSoft, LLC
SALESFORCE
Bulk/REST/SOAP APIs
Architecture overview
REST API
STANDARD/CUSTOM OBJECTS
Build scheduled process within Mule to retrieve large
dataset from sources like CSV file and database.
SCHEDULED & BATCH-ORIENTED
1
Mule application can perform large volume
data migration into Salesforce with data
mapping and transformation applied to each
record.
LARGE VOLUME DATA MIGRATION
2
SOAP API
Bulk API
CSV
EXTERNAL DATA CENTRE
DATA SOURCE
FTP/SFTP
OAuth for REST and Bulk APIs; SOAP API supports
username/password, though a session obtained via OAuth can be
used.
Mule Application supports OAuth and encrypted configuration
parameters in property files to save the credentials.
SECURITY
3
Instead of allowing all applications to access
Salesforce through APIs directly, having a system
API in place ensures that all access to Salesforce
are secured, managed and monitored in a
consistent manner.
GOVERNED ACCESS TO
SALESFORCE
4
27. All contents © MuleSoft, LLC
Salesforce Bulk API
● Programmatic option for large data set loading into your Salesforce org
● Ability for asynchronous processing of records across parallel threads within SFDC
resources
● Use for Query, Insert, Update,Upsert, or Delete for 10’s of thousands to millions of records
● Supports GZip compression
● Can process batches sequentially or in parallel for Bulk API V1
○ Bulk API v2 only supports parallel processing currently
32. All contents © MuleSoft, LLC
Components All accelerators
MuleSoft Accelerators
APIs
Experience
System
Process
Integration
Templates
Reference
Architecture
Lightning Web
Component
Commerce Cloud Service Cloud
Healthcare Work.com
33. All contents © MuleSoft, LLC
What’s included?
APIs
Experience
Process
System
Integration
Templates
Reference
Architecture
Lightning Web
Component
Common
Services
MuleSoft Accelerator
for Commerce Cloud
MuleSoft Accelerator
for Service Cloud
65+ Assets
Included
34. All contents © MuleSoft, LLC
Functional view of the Accelerator
(Bug tracking system) (Ticketing system)
Bug tickets IT tickets
Order history
and status
OMS
Service Cloud
SAP
(ERP)
Products
PIM OMS
Order sync
and order
status
B2C Commerce Cloud
Customer
Inventory
SAP
(ERP)
Service
Cloud
35. All contents © MuleSoft, LLC
MuleSoft Accelerator for Salesforce Service Cloud
Included with MuleSoft subscription
Deliver connected service experiences faster
Jumpstart service projects 3x faster
Accelerate critical service projects by using pre-built
integration templates to OMS, ServiceNow and Jira
Enrich your service console with 3rd-party data
Empower your agents with real-time order history, statuses,
and ticketing data from any external system
Delight customers with faster issue resolution
Adopt agent workflow best practices, synthesized from
customer and partner implementations
API
37. All contents © MuleSoft, LLC
MuleSoft Accelerator for Salesforce Commerce Cloud
Included with MuleSoft Subscription
Deliver connected B2C commerce experiences faster
Jumpstart commerce projects 3x faster
Accelerate ERP, PIM, and OMS connectivity to Commerce Cloud
using a prepackaged solution of integration assets and instructions
Power online storefronts with accurate data
Synchronize order, product, inventory and customer data in near real-
time to any commerce experience with pre-built APIs
Build a foundation for headless commerce
Use integration templates and reference architecture synthesized from
customer implementations to launch headless experiences
Now
supporting
customer
data sync
38. MuleSoft Accelerator for Salesforce
Commerce Cloud
Process
layer
Experience
layer
System
layer
Products Inventory
Products
SAP
Prod
Staging
Products
CC System API
(OCAPI Data API)
ER
P
OMS
Orders
Orders Orders Inventory
Customer
Customer
Contact
(Customer)
Customer
PIM
Order
statu
s
Order
statu
s
Order
status
Order
status
Inventory
39. All contents © MuleSoft, LLC
MuleSoft Accelerator for Healthcare
Deliver connected healthcare experiences faster
Included with MuleSoft Subscription
Power Health Cloud with real-time patient data
Equip call center agents with actionable patient data to accelerate
COVID-19 triage and other urgent needs
Simplify EHR connectivity for digital health needs
Reusable HL7 v2 and FHIR APIs to accelerate development of new
clinical applications
Adhere to new interoperability rules
Full FHIR R4 API specification asset library to meet new requirements
and accelerate SMART on FHIR digital health journeys
Implement Patient
360
2x faster
40. All contents © MuleSoft, LLC
Functional view of the solution
Accomplish this using both:
● HL7 V2
○ Admission, Discharge, Transfer (ADT)
○ Observation Results (ORU)
● FHIR R4 US Core APIs
○ Patient demographic
○ Allergy intolerance
○ Observation
○ Condition information
Plus
● Common data type libraries
● US Core Profiles
Allergies
Patient
Demographics
Conditions
(EMR/EHR)
Observation
Health Cloud
41. All contents © MuleSoft, LLC
Patient Access & Provider Directory APIs
Provider
Directory
API
Patient
Access API
Formular
y API
Patient
Clinical Data
API
Claims
API
Claims
Database
Pharmacy
Data API
Provider
EHRs
FFS/Managed
Care Plans
Medicare
Part D API
Medicare
Part D Plan
Directory
Data API
Patient
Mobile App
Public-facing
Web Portal
Partner API
Mobile
API
Web
API
Payer
Exchange
Portal
Partner/
Employer Portal
Payer
Portal API
Experience
APIs
Process
APIs
System
APIs
26 USCDI Specifications in
Accelerator for Healthcare
Procedure
Condition Encounter
Medication
Care Plan Practitioner
Organizatio
n
Location
Observation
Patient
ILLUSTRATIVE
44. All contents © MuleSoft, LLC
Quiz - https://www.menti.com/
Use menti code: 6066 2142
45. All contents © MuleSoft, LLC
Salesforce Event Streaming
PushTopic
Tracks changes on
Salesforce objects/fields
Bound by a configured
query and event occurring
Cannot be generated other
than satisfying the
query/event condition
Does not support custom
payloads
Generic
Similar to PushTopic but not
bound by SFDC object
changes
Event publishing is manual
and a custom payload can
be set
Payload is not related to
SFDC fields and does not
have a structure. 3K
character string
Platform Events/CDC
Similar to a ESB allowing
subscription and publishing
of custom events from
SFDC and external systems
Each event can have a
custom structure not limited
to SFDC Fields
Event publishing is manual