{"id":6975,"date":"2020-02-02T20:42:49","date_gmt":"2020-02-03T01:42:49","guid":{"rendered":"https:\/\/www.jitendrazaa.com\/blog\/?p=6975"},"modified":"2020-02-02T20:57:37","modified_gmt":"2020-02-03T01:57:37","slug":"salesforce-integration-patterns-best-practices-with-video","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-integration-patterns-best-practices-with-video\/","title":{"rendered":"Salesforce Integration Patterns &#038; Best Practices &#8211; with Video"},"content":{"rendered":"\n<p class=\"justify\">Recently I gave talk in one of most active webinar of Salesforce ecosystem today &#8211; <a href=\"http:\/\/www.apexhours.com\/\">Apex hours<\/a> on topic <strong>Integration Patterns and Best Practices in Salesforce<\/strong>. <\/p>\n\n\n\n<p class=\"justify\">Response was more than expected and questions were high quality. Therefore, I thought to quickly write high level summary of presentation in this blog post along with <a href=\"https:\/\/www.youtube.com\/watch?v=2ITAPPQaCig\">Youtube video<\/a> that you can find towards the end of this post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Firewall, Proxy and Reverse Proxy<\/h2>\n\n\n\n<p class=\"justify\">Before integrating anything with Salesforce, as per Architect, it is necessary which system components are important for security and may impact with integration pattern to be used.<\/p>\n\n\n\n<p class=\"justify\"><strong>Firewalls<\/strong> : It controls and protects Malicious Traffics. Firewall can be hardware or software based. <\/p>\n\n\n\n<p class=\"justify\"><strong>Proxy aka Forward Proxy<\/strong> : Proxy normally configured in your browser or systems like VsCode, data loader, eclipse to hide your actual identity. Every outgoing request transmits through proxy server to make sure external systems unaware about your true origin and identity<\/p>\n\n\n\n<p class=\"justify\"><strong>Reverse Proxy<\/strong> : Its used by Web Servers and sits before it. It can server any purpose like authentication or perform security related stuff. Best example is <strong>Mulesoft<\/strong> where we can configure API proxy which is used to apply throttling, avoiding DoS attacks or applying SLA as per licenses provided to customer<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Factors affecting Integration Patterns<\/h2>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" data-id=\"6977\" data-full-url=\"https:\/\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png\" data-link=\"https:\/\/www.jitendrazaa.com\/blog\/?attachment_id=6977\" class=\"wp-image-6977\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Top-factors-affecting-Integration-Patterns.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<p>At high level, there are <strong>five types<\/strong> of integration patterns in Salesforce<\/p>\n\n\n\n<ol class=\"justify wp-block-list\"><li>Request and Reply<\/li><li>Fire and Forget<\/li><li>Batch Data Synchronization<\/li><li>Remote Call In<\/li><li>Data Virtualization<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">1. Request and Reply<\/h3>\n\n\n\n<p>Few options available in request &amp; reply integration patterns<\/p>\n\n\n\n<ul class=\"justify wp-block-list\"><li>External Services<\/li><li>LWC, Visual force calling external system<\/li><li>Callouts from Trigger<\/li><li>Batch Apex invoking external system<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" data-id=\"6976\" data-full-url=\"https:\/\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png\" data-link=\"https:\/\/www.jitendrazaa.com\/blog\/?attachment_id=6976\" class=\"wp-image-6976\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Request-Reply-Pattern-in-Salesforce.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Request and Reply Integration Pattern in Salesforce<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2. Fire &amp; Forget<\/h3>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event-1024x576.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" data-id=\"6978\" data-full-url=\"https:\/\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event.png\" data-link=\"https:\/\/www.jitendrazaa.com\/blog\/?attachment_id=6978\" class=\"wp-image-6978\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Platform-Event.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Fire &amp; Forget &#8211; Platform events created by point &amp; click<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/FIre-Forget-Platform-event-Apex-based.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-6979\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/FIre-Forget-Platform-event-Apex-based.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/FIre-Forget-Platform-event-Apex-based.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/FIre-Forget-Platform-event-Apex-based.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/FIre-Forget-Platform-event-Apex-based.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/FIre-Forget-Platform-event-Apex-based.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/FIre-Forget-Platform-event-Apex-based.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Fire &amp; Forget &#8211; Platform event created by Apex  \/ Code<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Outbound-Messages.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-6980\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Outbound-Messages.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Outbound-Messages.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Outbound-Messages.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Outbound-Messages.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Outbound-Messages.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Outbound-Messages.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Fire &amp; Forget &#8211; Outbound Messages<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Apex-Based.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-6981\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Apex-Based.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Apex-Based.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Apex-Based.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Apex-Based.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Apex-Based.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Fire-Forget-Apex-Based.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Fire &amp; Forget &#8211; Callout using Apex (Sub optimal Solution)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3. Batch Data Synchronization<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Batch-Integration.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-6982\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Batch-Integration.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Batch-Integration.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Batch-Integration.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Batch-Integration.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Batch-Integration.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Batch-Integration.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Salesforce Integration Pattern &#8211; Batch Integration<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">4. Remote Call-in<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/SOAP-or-REST-Based-Integration.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-6983\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/SOAP-or-REST-Based-Integration.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/SOAP-or-REST-Based-Integration.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/SOAP-or-REST-Based-Integration.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/SOAP-or-REST-Based-Integration.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/SOAP-or-REST-Based-Integration.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/SOAP-or-REST-Based-Integration.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Salesforce Integration Pattern &#8211; Using Standard SOAP or REST API to perform DML in Salesforce<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Custom-Apex-based-API.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-6984\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Custom-Apex-based-API.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Custom-Apex-based-API.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Custom-Apex-based-API.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Custom-Apex-based-API.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Custom-Apex-based-API.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Custom-Apex-based-API.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption>Salesforce Integration Pattern &#8211; Using custom API built via Apex (Sub Optimal)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">5. Data Virtualization<\/h3>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png?resize=1024%2C576&#038;ssl=1\" alt=\"\" data-id=\"6985\" data-full-url=\"https:\/\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png\" data-link=\"https:\/\/www.jitendrazaa.com\/blog\/?attachment_id=6985\" class=\"wp-image-6985\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Data-Virtualization-Salesforce-Connect.png?w=2048&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Salesforce Connect vs Custom API Callouts using LWC or Visualforce<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Youtube Video on Salesforce Integration Pattern<\/h3>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Salesforce Integration Patterns &amp; Best Practices\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/2ITAPPQaCig?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption>Apex hours video &#8211; Salesforce integration patterns and best practices<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Reference<\/h3>\n\n\n\n<ul class=\"justify wp-block-list\"><li><a href=\"https:\/\/www.udemy.com\/course\/salesforcedx\/learn\/lecture\/17472546#overview\">Mastering Salesforce DX and VSCode<\/a><\/li><li><a href=\"https:\/\/trailhead.salesforce.com\/en\/content\/learn\/modules\/platform_events_basics\/platform_events_define_publish\">Platform Event Basics<\/a> &#8211; Trailhead<\/li><li><a href=\"https:\/\/resources.docs.salesforce.com\/224\/latest\/en-us\/sfdc\/pdf\/integration_patterns_and_practices.pdf\">Salesforce Documentation <\/a>on Integration Patterns<\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=lFf6j_wF8ng\">Implementing External Services<\/a> &#8211; Episode 10 of Path to code<\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=B7oJtkT4pQI\">Integrating Salesforce using Rest API<\/a> &#8211; Episode 8 of Path to code<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When to use which integration patterns in Salesforce along with best practices. Video to show how to use Outbound message to integrate Salesforce without writing code<\/p>\n","protected":false},"author":1,"featured_media":6986,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[495,120,456,493,494,364],"class_list":["post-6975","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce","tag-firewall","tag-integration","tag-mulesoft","tag-proxy-server","tag-reverse-proxy","tag-security"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/02\/Integration-Patterns-in-Salesforce.png?fit=2039%2C722&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":6449,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-integration-with-sql-server-integration-services\/","url_meta":{"origin":6975,"position":0},"title":"Salesforce Integration with SQL Server Integration Services","author":"Jitendra","date":"April 15, 2018","format":false,"excerpt":"Video - Connecting SQL Server Integration Services (SSIS) with Salesforce using COZYROC Connector","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/RA5azDuubU4\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":7770,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-integration-with-chatgpt\/","url_meta":{"origin":6975,"position":1},"title":"Salesforce Integration with ChatGPT","author":"Jitendra","date":"April 22, 2023","format":false,"excerpt":"Enhancing Conversational AI Capabilities and Ensuring Security","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce integration with chatGPT","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/04\/Salesforce-integration-with-chatGPT.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/04\/Salesforce-integration-with-chatGPT.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/04\/Salesforce-integration-with-chatGPT.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/04\/Salesforce-integration-with-chatGPT.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/04\/Salesforce-integration-with-chatGPT.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3762,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-rest-api-playground\/","url_meta":{"origin":6975,"position":2},"title":"Salesforce REST API Playground","author":"Jitendra Zaa","date":"February 25, 2014","format":false,"excerpt":"What is REST API ? In my words, Getting data from Other System or Same System using HTTP request is known as REST API. If you know, how website works, you know REST API. Before REST API, there was SOAP request which needed lots of configuration and very tightly coupled.\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"REST API playground in Salesforce","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/02\/REST-API-playground-in-Salesforce-1024x362.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/02\/REST-API-playground-in-Salesforce-1024x362.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/02\/REST-API-playground-in-Salesforce-1024x362.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":7757,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/10-differences-between-salesforce-solution-and-technical-architect\/","url_meta":{"origin":6975,"position":3},"title":"10 Differences Between Salesforce Solution and Technical Architect","author":"Jitendra","date":"March 17, 2023","format":false,"excerpt":"Discover the amusing tale of a Salesforce project , where confusion arises between the roles of Solution Architect and Technical Architect. This engaging story highlights their journey towards understanding the 10 key differences between their roles, leading to project success. Learn how proper communication and collaboration can help differentiate between\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Top 10 difference in roles & responsibilities of Solution & Technical Architects in Salesforce","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/03\/Solution-Architect.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":7147,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-integration-with-nodejs-based-applications-using-canvas\/","url_meta":{"origin":6975,"position":4},"title":"Salesforce Integration with Nodejs based applications using Canvas","author":"Jitendra","date":"July 20, 2020","format":false,"excerpt":"How to use Canvas Signed Request Authentication with web based applications like Nodejs & how to use Canvas LifeCycle Handler Class","rel":"","context":"In &quot;Integration&quot;","block_context":{"text":"Integration","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/integration\/"},"img":{"alt_text":"Salesforce Canvas Integration","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/07\/Salesforce-Canvas-Integration-e1624579092898.png?fit=700%2C567&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/07\/Salesforce-Canvas-Integration-e1624579092898.png?fit=700%2C567&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/07\/Salesforce-Canvas-Integration-e1624579092898.png?fit=700%2C567&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/07\/Salesforce-Canvas-Integration-e1624579092898.png?fit=700%2C567&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":30699,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/complete-mulesoft-guide-40-expert-interview-questions\/","url_meta":{"origin":6975,"position":5},"title":"Complete MuleSoft Guide: 40+ Expert Interview Questions &amp; Answers","author":"Jitendra Zaa","date":"December 18, 2025","format":false,"excerpt":"Master MuleSoft interviews with 40+ expert questions covering API-led connectivity, DataWeave, Kafka, Salesforce integration, AI capabilities (Agentforce, MAC Project), CloudHub deployment, VPC\/VPN security, certifications, and career paths. Includes Gartner iPaaS 2025 insights.","rel":"","context":"In &quot;Integration&quot;","block_context":{"text":"Integration","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/integration\/"},"img":{"alt_text":"Complete MuleSoft Guide - 40+ Expert Interview Questions covering API-Led Connectivity, DataWeave, Agentforce AI, CloudHub VPC, Certifications, Career Path, Kafka Integration, and Gartner iPaaS 2025","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/mulesoft-interview-questions-2025-featured-new.png?fit=1200%2C704&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/mulesoft-interview-questions-2025-featured-new.png?fit=1200%2C704&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/mulesoft-interview-questions-2025-featured-new.png?fit=1200%2C704&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/mulesoft-interview-questions-2025-featured-new.png?fit=1200%2C704&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2025\/12\/mulesoft-interview-questions-2025-featured-new.png?fit=1200%2C704&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/6975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=6975"}],"version-history":[{"count":2,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/6975\/revisions"}],"predecessor-version":[{"id":6988,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/6975\/revisions\/6988"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media\/6986"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=6975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=6975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=6975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}