Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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
● 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?
All contents © MuleSoft, LLC
MuleSoft Connectivity to Salesforce
Overview
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
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
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
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)
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
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
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
All contents © MuleSoft, LLC
Salesforce Integration Best Practices
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
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
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
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
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
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
All contents © MuleSoft, LLC
Salesforce Integration Technologies
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
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
All contents © MuleSoft, LLC
Data Virtualization
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.
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.
All contents © MuleSoft, LLC
Data Manipulation and Migration
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.
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
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
All contents © MuleSoft, LLC
Events and Streaming
All contents © MuleSoft, LLC
Event Driven Architecture
All contents © MuleSoft, LLC
Salesforce Event Streaming
All contents © MuleSoft, LLC
MuleSoft Accelerators for Salesforce
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
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
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
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
Process
layer
Experience
layer
System
layer
Incident updates
Cases
Customers
(Order history for
the customer)
Incidents Issues Case updates Order history &
status
Order history & status
Issue updates
OM
S
MuleSoft Accelerator for Salesforce Service Cloud
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
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
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
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
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
MuleSoft Accelerator Roadmap
Commerce
Cloud
Work.com
Health
Cloud
Step 3
Service Cloud
Available Now
Available Now
Step 3
Available Now
Available Now
Step 3
SAP
Available Now
Step 3
All contents © MuleSoft, LLC
Thank you!
All contents © MuleSoft, LLC
Quiz - https://www.menti.com/
Use menti code: 6066 2142
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

More Related Content

Salesforce integration best practices columbus meetup

  • 1. 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
  • 18. All contents © MuleSoft, LLC Salesforce Integration Technologies
  • 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
  • 21. All contents © MuleSoft, LLC Data Virtualization
  • 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.
  • 24. All contents © MuleSoft, LLC Data Manipulation and Migration
  • 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
  • 28. All contents © MuleSoft, LLC Events and Streaming
  • 29. All contents © MuleSoft, LLC Event Driven Architecture
  • 30. All contents © MuleSoft, LLC Salesforce Event Streaming
  • 31. All contents © MuleSoft, LLC MuleSoft Accelerators for Salesforce
  • 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
  • 36. Process layer Experience layer System layer Incident updates Cases Customers (Order history for the customer) Incidents Issues Case updates Order history & status Order history & status Issue updates OM S MuleSoft Accelerator for Salesforce Service Cloud
  • 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
  • 42. MuleSoft Accelerator Roadmap Commerce Cloud Work.com Health Cloud Step 3 Service Cloud Available Now Available Now Step 3 Available Now Available Now Step 3 SAP Available Now Step 3
  • 43. All contents © MuleSoft, LLC Thank you!
  • 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