Infosys and Salesforce accelerate enterprises in their journey to be a cloud-based customer centric organization. We deliver engaging customer experiences, drive smarter business decisions and co-create new business opportunities.

« Game Changers - How to adapt to the Key disruptors of the status quo in the Retail Energy market? | Main | Delete Files Generic Lightning Component for All sObjects »

Salesforce Event Driven Architecture

Salesforce Event Driven Architecture is the new way of implementing business logic by leveraging High Volume Platform Event. The Event Driven Architecture is also called as a publisher/subscriber model where the publishers and the subscribers are not known to each other and can co-exist independently. Here Event is the core of the communication and the data an event can carry with it is called a message.

Publishers are responsible for generating or publishing the events. Whereas the subscribers who are interested in particular events need to subscribe to the corresponding channels to get the event notification probably in near real time. Underneath this publisher/subscriber model is a push notification framework where the subscriber doesn't need to check for the notification or doesn't need to query for the event bus in certain intervals.

The communication between the publisher and the subscriber established through a subscription channel. That means each entity are fully independent of joining or leaving the subscription channel. Because of the loosely coupling nature it's also easier for the developer to develop each component independently.


When a publisher publishes an event it went to the Event Bus and available for subscription through a subscription channel and can pass on to the subscribers who already subscribe to the corresponding channel.  

The "High Volume Platform Event" which is the core of the Salesforce Event Driven Architecture can be publish or subscribe either programmatic (Trigger) or declarative (Process Builder). For external integration the Platform Event can be published just by creating a record in Salesforce Platform Event object using either SOAP/REST API. Even though Salesforce is having out of the box solution to subscribe platform event but for external application like Java need to have a streaming API Bayeux - CometD protocol setup. 

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.