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
Recently I gave talk in one of most active webinar of Salesforce ecosystem today – Apex hours on topic Integration Patterns and Best Practices in Salesforce.
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 Youtube video that you can find towards the end of this post.
Firewall, Proxy and Reverse Proxy
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.
Firewalls : It controls and protects Malicious Traffics. Firewall can be hardware or software based.
Proxy aka Forward Proxy : 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
Reverse Proxy : Its used by Web Servers and sits before it. It can server any purpose like authentication or perform security related stuff. Best example is Mulesoft where we can configure API proxy which is used to apply throttling, avoiding DoS attacks or applying SLA as per licenses provided to customer
Sometime Salesforce Trailhead Challenge requirement and actual solution doesn’t go hand in hand. And seems many others also face same issue , Thats why I would be making notes on how I fixed Trailhead challenge issue.
Note : I would not be sharing solutions of Trailhead challenge , I will post fix only when there is discrepancy in what’s being asked and what worked.
Search content of Jitendra Zaa’s blog using federated search in Salesforce
Using Federated Search, we can search for content outside Salesforce. Federated Search utilizes Open Search Document behind the scene. Open Search was coined by Jeff Bezos (CEO – Amazon) in March 2005.Open Search is a collection of technologies & standards that allows publishing of results to be utilized by Search Engines.
For Demo purpose, I have enabled my website compatible with Open Search at below URL
Install CPQ, Field Service Lightning, B2B Commerce cloud in Scratch Org using SFDX Command
There are tons of useful SFDX commands available to help automate Salesforce deployment. However one of most important aspect of Salesforce DX is capability of spinning org within few minutes with features enabled like Person Account, Communities etc.
There could be times, where these commands might not be sufficient. I recently cam across such scenario where I wanted to install manage package for quick capability check.
Scanned through documentation, Stack Exchange and spent lots of time figuring out on how to automate package installation. There are many commands available to install second generation package but not manage package itself. Then I came across marty chang’s github repository with instruction.
It’s time to jump into water. In this blog post, I would be creating Simple Lightning Web Component (LWC). This LWC Component would be able to get value from flow, pass value to flow, navigate to Next screen and hookup into flow validation engine to restrict next page navigation if there is error in LWC input.
Using Lightning Message Services for event Communication between Lightning Web Components, Aura Components and Visualforce
Few months back, I wrote an article on how pub sub model can be used to communicate between Lightning Web Components. In that blog post, we used external library to pass event from child to Lightning Web Components.
Lightning Message Service
In Winter 20, Salesforce released Lightning Message Service which can be used to exchange data between Visualforce, Aura Component and Lightning Web Components. Unlike previous process, we don’t need to import any external library like pub or sub.
In this blog post, I would be creating Visualforce, Aura Component and Lightning Message Service and exchanging message between all of them using Lightning Message Service.