SlideShare a Scribd company logo
February 4th, 2020
Sydney Meetup
All contents © MuleSoft Inc.
Meet your local Meetup leaders
2
Join the group at meetups.mulesoft.com/sydney
to be notified of all future events
Dan Owen
Director, Customer Success Architecture
@ MuleSoft
Royston Lobo
Customer Success Engineer
@ MuleSoft
All contents © MuleSoft Inc.
Agenda
3
❖ Updates
❖ Salesforce Integration Patterns and Anti-patterns - Alok
Mishra
❖ Zero-Trust and the Application Network - Thorin Greene
❖ Networking time!
RECAP
Who is attending a
MuleSoft Meetup for the
first time?
Who is newly certified?
May 2020
Get notified at meetups.mulesoft.com/sydney
Next Sydney Meetup:
All contents © MuleSoft Inc.
Speakers for Meetup
8
Would you like to present at the next meetup?
Complete this form to submit your idea:
https://forms.gle/Cwks461kz8exKrzi8
Prizes are available for speakers!
All contents © MuleSoft Inc.
Join us at Salesforce World Tour Sydney!
9
Come visit MuleSoft at our booth or join us at one of our breakouts:
9:00 a.m - 9:30 a.m: Intro to Anypoint Platform
11:45 a.m - 12:25 p.m: Unleash the Power of Salesforce Customer 360 with APIs
All contents © MuleSoft Inc. 10
world tour
connect - save the date
salesforce accelerators
All contents © MuleSoft Inc.
To conclude this intro...
11
• Fill out the survey! Get a free T-shirt at the next meetup!
• Contribute! meetups@mulesoft.com, `Contact the Organiser` on
the event page or post on the Online Group.
• Let’s take a group picture! 📸
Alok Mishra
Deloitte
Salesforce Integration Patterns and
Anti-patterns
Thorin Greene
MuleSoft
Zero-Trust and the Application Network
Prizes
Networking time
Introduce yourself to your neighbours!
Sydney MuleSoft Meetup #12 2020204
May 2020
Register now at meetups.mulesoft.com/sydney
Next Sydney Meetup:
Ways of the “force”
Mule practitioners guide to integrating with Salesforce
Feb 2020, Alok Mishra
2Integration patterns for Salesforce
Architect | Director | Deloitte Platform Engineering (DPE)
• Systems Integrator since early 2000s & passionate about this domain
v Built solutions for private sector and government, EAI & Digital
v Integration products: homegrown, IBM, Oracle, Open-source & Mule
v Toughest gig with Mule: Getting Mule to run a Horse Race in 2016
• I do @ Deloitte Platform Engineering
v Work with our clients (draw on their walls)
v Lead and Inspire peers in the System Integration space (plenty of talking, stories and
pointing to the sky)
• Outside of work
v Tinker with visual digital arts libraries and open-source hardware (buy a lot of kits)
v Full time dad of two kids - 2.5yr & 5yr old (I can keep 2 humans alive)
/me
Objective:
Help you walk away with
1. Contexts in which we integrate with Salesforce
2. Options available for Integrating with Salesforce in those contexts
3. Things to consider when building integration solutions
What is Salesforce:
5Integration patterns for Salesforce
History and Products
Cloud-based Customer Relationship Management (CRM) & complementary suite of enterprise
application – Wikipedia definition
Salesforce
History
• 2004 Initial Public Offering & growing
• 2018 acquires Mulesoft
Source: https://www.salesforce.com/au/products/
Offerings:
• Sales, Service, Marketing, Small business
• Commerce, Engagement, Integration,
Analytics etc.
Source: NYSE
6Integration patterns for Salesforce
Usage Contexts and Quality Attributes
How is it used?
Internal teams: Sales,
Service, Marketing
Internal users: Analytics,
Customer 360
Security:
Availability:
Responsiveness:
Scalability:
Reliability:
Consistency:
Security:
Transactionaltity:
Availability:
Scalability:
Consistency:
Security:
Reliability
Customer Management:
Sales, Service, Marketing
External Service :
Validation, Lookup
Transactional :
Order, Shipping etc.
Digital :
Customer registration,
Order, Search, Track etc.
Task Management:
Work Queues, tasks,
Consistency:
Security:
Personalize ability:
Maintainability
7Integration patterns for Salesforce
Enterprise Context to technical integration requirement
8Integration patterns for Salesforce
Agenda
Should have gone to specsavers
Salesforce Inbound in Real-Time: Querying,
Searching and mutating data in Salesforce
10Integration patterns for Salesforce
Inbound real-time to Salesforce
11Integration patterns for Salesforce
1. Inbound Real-time: External System CURD on Salesforce Data
Consumer Adapter
Domain API
Cache
sync
Channels
Domain APIDomain API
Command, Query
Consider:
• Identity - User context vs system user
• Performance – If always going straight to Salesforce
vs caching
• Data mastering requirements – Domain APIs over
Salesforce for data mastered in Salesforce
• Traceability in logs – for maintainability
• Centralized configuration management – for
consistency and quality
12Integration patterns for Salesforce
2. Inbound real-time to Salesforce: External Data Synchronization
Consumer Adapter
Domain API
Cross-Reference API
Command, Query
Provider Systems
Salesforce Adapter
Domain Events
Persistent Channels
Consider:
• Reliability – Persistence, reconciliation, retries
• Storing vs Querying – Availability vs Consistency
• Cross-referencing – Externalizing mappings
• Sync Error handling – Runtime or Business
13Integration patterns for Salesforce
Inbound real-time to Salesforce: Technical limits, Best practices
Outbound Real-time: Enabling Salesforce to callout
to external services for actions, validations, query,
create, update etc.
15Integration patterns for Salesforce
Outbound Real-time from Salesforce
16Integration patterns for Salesforce
Outbound Real-time: Command/Query
Consumer Adapter
Domain API
Command, Query
Channels
Domain APIDomain API
Salesforce Adapter
Domain API
External serviceEnterprise System
REST | OData
Consider:
1. Adapter pattern for consuming/ transforming
2. Cross referencing data mapping
3. Transport security & trust
4. API policy Security
5. OData API Specification
6. Contract based development
Cross-Reference API
Enterprise System
17Integration patterns for Salesforce
Outbound Real-time: Technical Considerations
Outbound Events: Communicating changes in
Salesforce objects to other systems
19Integration patterns for Salesforce
Salesforce Outbound Events
20Integration patterns for Salesforce
Salesforce Outbound Events
Domain API
Command, Query
Provider System
Domain Events
Consider:
1. Streaming API, Platform Events or
Outbound connector
2. Persistent channels for guaranteed delivery
3. Transforming “raw” events to “domain”
events
4. Consumer queues and adapters for
subscription
Cross Reference
Streaming API | Platform Events | Outbound Connector
Consumer Adapter
21Integration patterns for Salesforce
Salesforce Outbound Events: Implementation Choices
Inbound Bulk: Handling large volumes of query,
upload into Salesforce for single-use or regular
migrations
23Integration patterns for Salesforce
Inbound Bulk
24Integration patterns for Salesforce
Inbound Bulk: Technical Considerations
Key takeaways:
Salesforce product and growth
Salesforce APIs
Integration context is often in these ways
− Real-time Inbound
− Batch Inbound
− Events Outbound
− Real-time Outbound
Context + Patterns = winning!
Consider data, security, message-persistence, error handling etc. for a resilient,
durable and pluggable API
26Integration patterns for Salesforce
Recap
References: I did not make this up
28Integration patterns for Salesforce
• Mulesoft resources for Salesforce:
https://www.mulesoft.com/integration-solutions/saas/salesforce
• Salesforce Patterns:
https://developer.salesforce.com/docs/atlas.en-
us.integration_patterns_and_practices.meta/integration_patt
erns_and_practices/integ_pat_pat_summary.htm
• Salesforce Bulk API:
https://developer.salesforce.com/docs/atlas.en-
us.api_bulk_v2.meta/api_bulk_v2/introduction_bulk_api_2.htm
https://trailhead.salesforce.com/
• Salesforce APIs:
https://developer.salesforce.com/docs/api-explorer
https://www.enterprise
integrationpatterns.co
m/
https://martinfowler.com/ta
gs/domain%20driven%20de
sign.html
Thank you!
30Integration patterns for Salesforce
… after the end-credits: Anti-patterns
1. Mixing System vs User context for Inbound or Outbound real-time Salesforce query/update
2. Using Salesforce as system-of-record for external data (it does not master)
3. Using Salesforce as a reference data store for list-of-values it does not master
4. If querying Salesforce directly in a high-volume scenario, consider caching
5. If performing complex queries using Salesforce Custom objects APIs (use QL instead)
6. If providing a public API for Salesforce, use mutual SSL and API policies
7. Duplicate copies of salesforce configuration per mule application
8. For personally hand coded OData request parsers
9. Hardcoding mapping for system-system list of values
10.Defaulting to runtime exception

More Related Content

PDF
Sydney mule soft meetup #8 1 August 2019 - all slides
PDF
Sydney MuleSoft meetup #11 28 November 2019 - all slides
PDF
Sydney mule soft meetup 30 april 2020
PPTX
Creating an OData-Enabled API
PDF
Meetup 20200924 Sydney meetup
PDF
MuleSoft Madrid Meetup #3 slides 2nd July 2020
PDF
MuleSoft London Community August 2019 - MuleSoft with Workday
PDF
MuleSoft Meetup - Singapore - No.3 Oct19
Sydney mule soft meetup #8 1 August 2019 - all slides
Sydney MuleSoft meetup #11 28 November 2019 - all slides
Sydney mule soft meetup 30 april 2020
Creating an OData-Enabled API
Meetup 20200924 Sydney meetup
MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft London Community August 2019 - MuleSoft with Workday
MuleSoft Meetup - Singapore - No.3 Oct19

What's hot (20)

PDF
WHISHWORKS-MuleSoft Hyderabad Meetup -Oct 2018
PPTX
MuleSoft Architecture Presentation
PDF
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
PPTX
DevOps and APIs: Great Alone, Better Together
PDF
10 things to consider when planning your Mule 4 migration
PPTX
Anypoint Platform for Pivotal Cloud Foundry
PPTX
Mulesoft Connections to different companies, and different services
PDF
MuleSoft Meetup Singapore March 2019
PDF
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
PPTX
MuleSoft Meetup 3 Charlotte Presentation Slides
PDF
MuleSoft Development | What Mulesoft Development Means for Business
PPTX
Manila MuleSoft Meetup - September 2018
PDF
MuleSoft Madrid Meetup #5 slides 21st January 2021
PDF
Optimizing TAS Usage at Ford Motor Company
PPTX
Running and Managing Mule Applications
PPTX
MuleSoft's Approach to Driving Customer Outcomes
PPTX
First Caracas MuleSoft Meetup Slides
PPTX
Manila MuleSoft Meetup - May 2018
PPTX
Hyderabad meet up-sep12
PDF
MuleSoft Meetup Singapore No.4 December 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -Oct 2018
MuleSoft Architecture Presentation
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
DevOps and APIs: Great Alone, Better Together
10 things to consider when planning your Mule 4 migration
Anypoint Platform for Pivotal Cloud Foundry
Mulesoft Connections to different companies, and different services
MuleSoft Meetup Singapore March 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
MuleSoft Meetup 3 Charlotte Presentation Slides
MuleSoft Development | What Mulesoft Development Means for Business
Manila MuleSoft Meetup - September 2018
MuleSoft Madrid Meetup #5 slides 21st January 2021
Optimizing TAS Usage at Ford Motor Company
Running and Managing Mule Applications
MuleSoft's Approach to Driving Customer Outcomes
First Caracas MuleSoft Meetup Slides
Manila MuleSoft Meetup - May 2018
Hyderabad meet up-sep12
MuleSoft Meetup Singapore No.4 December 2019
Ad

Similar to Sydney MuleSoft Meetup #12 2020204 (20)

PDF
How to Leverage SAFe 5.0 for Your Enterprise Cloud Strategy
PPTX
Jax Salesforce Labs Day 2019 deck
PDF
MuleSoft Meetup June London 2023.pptx.pdf
PPTX
Discover Salesforce Commerce Cloud and Vlocity Integration Patterns
PPT
Succesfactors demo
PPTX
Salesforce Integration with MuleSoft | MuleSoft Mysore Meetup #12
PPTX
Richmond MuleSoft Meetup 2021-08-18
PPTX
Salesforce Campus Tour - Developer Intro
PDF
Dev Dives: Unlock automation adoption with UiPath Apps
PPTX
Salesforce Campus Tour - Declarative
PDF
Top Salesforce AppExchange Apps & Chrome Extensions
PDF
Melbourne Virtual MuleSoft Meetup April 2022
PPTX
How Open Source Embiggens Salesforce.com
PDF
Singapore MuleSoft Meetup - 23 Nov 2022
PDF
Partner Webinar: Why Is Open Source the Smartest Choice for Hybrid Integration?
PDF
Scaling Developer Efforts with Salesforce Marketing Cloud
PPTX
Feature Store as a Data Foundation for Machine Learning
PPT
Salesforce For Brady
PPTX
Manila MuleSoft Meetup - July 2019
DOC
Syed mubin 3.2 years Exppersion in Salesforce
How to Leverage SAFe 5.0 for Your Enterprise Cloud Strategy
Jax Salesforce Labs Day 2019 deck
MuleSoft Meetup June London 2023.pptx.pdf
Discover Salesforce Commerce Cloud and Vlocity Integration Patterns
Succesfactors demo
Salesforce Integration with MuleSoft | MuleSoft Mysore Meetup #12
Richmond MuleSoft Meetup 2021-08-18
Salesforce Campus Tour - Developer Intro
Dev Dives: Unlock automation adoption with UiPath Apps
Salesforce Campus Tour - Declarative
Top Salesforce AppExchange Apps & Chrome Extensions
Melbourne Virtual MuleSoft Meetup April 2022
How Open Source Embiggens Salesforce.com
Singapore MuleSoft Meetup - 23 Nov 2022
Partner Webinar: Why Is Open Source the Smartest Choice for Hybrid Integration?
Scaling Developer Efforts with Salesforce Marketing Cloud
Feature Store as a Data Foundation for Machine Learning
Salesforce For Brady
Manila MuleSoft Meetup - July 2019
Syed mubin 3.2 years Exppersion in Salesforce
Ad

More from Royston Lobo (10)

PDF
Singapore MuleSoft Meetup - 24 Aug 2022
PDF
2022.06.23 - Sydney Meetup
PDF
MuleSoft Online Meetup - Salesforce Streaming APIs
PDF
Online Meetup - MuleSoft - June 2020
PDF
MuleSOft PKO Developer meetup - 25 March 2021
PDF
Sydney MuleSoft Meetup #16 - 19 November 2020
PDF
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
PDF
MuleSoft Online Meetup a Guide to RTF application deployment - October 2020
PDF
MuleSoft Online meetup - An expert's guide to Runtime fabric - August 2020
PDF
Custom policies in mule 4 and a circuit breaker example
Singapore MuleSoft Meetup - 24 Aug 2022
2022.06.23 - Sydney Meetup
MuleSoft Online Meetup - Salesforce Streaming APIs
Online Meetup - MuleSoft - June 2020
MuleSOft PKO Developer meetup - 25 March 2021
Sydney MuleSoft Meetup #16 - 19 November 2020
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup a Guide to RTF application deployment - October 2020
MuleSoft Online meetup - An expert's guide to Runtime fabric - August 2020
Custom policies in mule 4 and a circuit breaker example

Recently uploaded (20)

PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Newfamily of error-correcting codes based on genetic algorithms
PDF
KodekX | Application Modernization Development
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
SAP855240_ALP - Defining the Global Template PUBLIC.pdf
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PDF
Chapter 2 Digital Image Fundamentals.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Omni-Path Integration Expertise Offered by Nor-Tech
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PDF
Smarter Business Operations Powered by IoT Remote Monitoring
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Chapter 3 Spatial Domain Image Processing.pdf
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Review of recent advances in non-invasive hemoglobin estimation
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Newfamily of error-correcting codes based on genetic algorithms
KodekX | Application Modernization Development
Advanced Soft Computing BINUS July 2025.pdf
SAP855240_ALP - Defining the Global Template PUBLIC.pdf
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
Chapter 2 Digital Image Fundamentals.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Omni-Path Integration Expertise Offered by Nor-Tech
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
Smarter Business Operations Powered by IoT Remote Monitoring
20250228 LYD VKU AI Blended-Learning.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Monthly Chronicles - July 2025
Chapter 3 Spatial Domain Image Processing.pdf

Sydney MuleSoft Meetup #12 2020204

  • 2. All contents © MuleSoft Inc. Meet your local Meetup leaders 2 Join the group at meetups.mulesoft.com/sydney to be notified of all future events Dan Owen Director, Customer Success Architecture @ MuleSoft Royston Lobo Customer Success Engineer @ MuleSoft
  • 3. All contents © MuleSoft Inc. Agenda 3 ❖ Updates ❖ Salesforce Integration Patterns and Anti-patterns - Alok Mishra ❖ Zero-Trust and the Application Network - Thorin Greene ❖ Networking time!
  • 5. Who is attending a MuleSoft Meetup for the first time?
  • 6. Who is newly certified?
  • 7. May 2020 Get notified at meetups.mulesoft.com/sydney Next Sydney Meetup:
  • 8. All contents © MuleSoft Inc. Speakers for Meetup 8 Would you like to present at the next meetup? Complete this form to submit your idea: https://forms.gle/Cwks461kz8exKrzi8 Prizes are available for speakers!
  • 9. All contents © MuleSoft Inc. Join us at Salesforce World Tour Sydney! 9 Come visit MuleSoft at our booth or join us at one of our breakouts: 9:00 a.m - 9:30 a.m: Intro to Anypoint Platform 11:45 a.m - 12:25 p.m: Unleash the Power of Salesforce Customer 360 with APIs
  • 10. All contents © MuleSoft Inc. 10 world tour connect - save the date salesforce accelerators
  • 11. All contents © MuleSoft Inc. To conclude this intro... 11 • Fill out the survey! Get a free T-shirt at the next meetup! • Contribute! [email protected], `Contact the Organiser` on the event page or post on the Online Group. • Let’s take a group picture! 📸
  • 12. Alok Mishra Deloitte Salesforce Integration Patterns and Anti-patterns
  • 13. Thorin Greene MuleSoft Zero-Trust and the Application Network
  • 15. Networking time Introduce yourself to your neighbours!
  • 17. May 2020 Register now at meetups.mulesoft.com/sydney Next Sydney Meetup:
  • 18. Ways of the “force” Mule practitioners guide to integrating with Salesforce Feb 2020, Alok Mishra
  • 19. 2Integration patterns for Salesforce Architect | Director | Deloitte Platform Engineering (DPE) • Systems Integrator since early 2000s & passionate about this domain v Built solutions for private sector and government, EAI & Digital v Integration products: homegrown, IBM, Oracle, Open-source & Mule v Toughest gig with Mule: Getting Mule to run a Horse Race in 2016 • I do @ Deloitte Platform Engineering v Work with our clients (draw on their walls) v Lead and Inspire peers in the System Integration space (plenty of talking, stories and pointing to the sky) • Outside of work v Tinker with visual digital arts libraries and open-source hardware (buy a lot of kits) v Full time dad of two kids - 2.5yr & 5yr old (I can keep 2 humans alive) /me
  • 20. Objective: Help you walk away with 1. Contexts in which we integrate with Salesforce 2. Options available for Integrating with Salesforce in those contexts 3. Things to consider when building integration solutions
  • 22. 5Integration patterns for Salesforce History and Products Cloud-based Customer Relationship Management (CRM) & complementary suite of enterprise application – Wikipedia definition Salesforce History • 2004 Initial Public Offering & growing • 2018 acquires Mulesoft Source: https://www.salesforce.com/au/products/ Offerings: • Sales, Service, Marketing, Small business • Commerce, Engagement, Integration, Analytics etc. Source: NYSE
  • 23. 6Integration patterns for Salesforce Usage Contexts and Quality Attributes How is it used? Internal teams: Sales, Service, Marketing Internal users: Analytics, Customer 360 Security: Availability: Responsiveness: Scalability: Reliability: Consistency: Security: Transactionaltity: Availability: Scalability: Consistency: Security: Reliability Customer Management: Sales, Service, Marketing External Service : Validation, Lookup Transactional : Order, Shipping etc. Digital : Customer registration, Order, Search, Track etc. Task Management: Work Queues, tasks, Consistency: Security: Personalize ability: Maintainability
  • 24. 7Integration patterns for Salesforce Enterprise Context to technical integration requirement
  • 25. 8Integration patterns for Salesforce Agenda Should have gone to specsavers
  • 26. Salesforce Inbound in Real-Time: Querying, Searching and mutating data in Salesforce
  • 27. 10Integration patterns for Salesforce Inbound real-time to Salesforce
  • 28. 11Integration patterns for Salesforce 1. Inbound Real-time: External System CURD on Salesforce Data Consumer Adapter Domain API Cache sync Channels Domain APIDomain API Command, Query Consider: • Identity - User context vs system user • Performance – If always going straight to Salesforce vs caching • Data mastering requirements – Domain APIs over Salesforce for data mastered in Salesforce • Traceability in logs – for maintainability • Centralized configuration management – for consistency and quality
  • 29. 12Integration patterns for Salesforce 2. Inbound real-time to Salesforce: External Data Synchronization Consumer Adapter Domain API Cross-Reference API Command, Query Provider Systems Salesforce Adapter Domain Events Persistent Channels Consider: • Reliability – Persistence, reconciliation, retries • Storing vs Querying – Availability vs Consistency • Cross-referencing – Externalizing mappings • Sync Error handling – Runtime or Business
  • 30. 13Integration patterns for Salesforce Inbound real-time to Salesforce: Technical limits, Best practices
  • 31. Outbound Real-time: Enabling Salesforce to callout to external services for actions, validations, query, create, update etc.
  • 32. 15Integration patterns for Salesforce Outbound Real-time from Salesforce
  • 33. 16Integration patterns for Salesforce Outbound Real-time: Command/Query Consumer Adapter Domain API Command, Query Channels Domain APIDomain API Salesforce Adapter Domain API External serviceEnterprise System REST | OData Consider: 1. Adapter pattern for consuming/ transforming 2. Cross referencing data mapping 3. Transport security & trust 4. API policy Security 5. OData API Specification 6. Contract based development Cross-Reference API Enterprise System
  • 34. 17Integration patterns for Salesforce Outbound Real-time: Technical Considerations
  • 35. Outbound Events: Communicating changes in Salesforce objects to other systems
  • 36. 19Integration patterns for Salesforce Salesforce Outbound Events
  • 37. 20Integration patterns for Salesforce Salesforce Outbound Events Domain API Command, Query Provider System Domain Events Consider: 1. Streaming API, Platform Events or Outbound connector 2. Persistent channels for guaranteed delivery 3. Transforming “raw” events to “domain” events 4. Consumer queues and adapters for subscription Cross Reference Streaming API | Platform Events | Outbound Connector Consumer Adapter
  • 38. 21Integration patterns for Salesforce Salesforce Outbound Events: Implementation Choices
  • 39. Inbound Bulk: Handling large volumes of query, upload into Salesforce for single-use or regular migrations
  • 40. 23Integration patterns for Salesforce Inbound Bulk
  • 41. 24Integration patterns for Salesforce Inbound Bulk: Technical Considerations
  • 42. Key takeaways: Salesforce product and growth Salesforce APIs Integration context is often in these ways − Real-time Inbound − Batch Inbound − Events Outbound − Real-time Outbound Context + Patterns = winning! Consider data, security, message-persistence, error handling etc. for a resilient, durable and pluggable API
  • 43. 26Integration patterns for Salesforce Recap
  • 44. References: I did not make this up
  • 45. 28Integration patterns for Salesforce • Mulesoft resources for Salesforce: https://www.mulesoft.com/integration-solutions/saas/salesforce • Salesforce Patterns: https://developer.salesforce.com/docs/atlas.en- us.integration_patterns_and_practices.meta/integration_patt erns_and_practices/integ_pat_pat_summary.htm • Salesforce Bulk API: https://developer.salesforce.com/docs/atlas.en- us.api_bulk_v2.meta/api_bulk_v2/introduction_bulk_api_2.htm https://trailhead.salesforce.com/ • Salesforce APIs: https://developer.salesforce.com/docs/api-explorer https://www.enterprise integrationpatterns.co m/ https://martinfowler.com/ta gs/domain%20driven%20de sign.html
  • 47. 30Integration patterns for Salesforce … after the end-credits: Anti-patterns 1. Mixing System vs User context for Inbound or Outbound real-time Salesforce query/update 2. Using Salesforce as system-of-record for external data (it does not master) 3. Using Salesforce as a reference data store for list-of-values it does not master 4. If querying Salesforce directly in a high-volume scenario, consider caching 5. If performing complex queries using Salesforce Custom objects APIs (use QL instead) 6. If providing a public API for Salesforce, use mutual SSL and API policies 7. Duplicate copies of salesforce configuration per mule application 8. For personally hand coded OData request parsers 9. Hardcoding mapping for system-system list of values 10.Defaulting to runtime exception