1. Salesforce Developer Documentation
Change Data Capture Developer Guide
"What Is Change Data Capture?": "Use Change Data Capture to synchronize Salesforce data with an external system. Change Data Capture publishes change events
which represent changes to Salesforce records. Changes include record creation
updates to existing records
record deletion
and record undeletion."
2. Salesforce Architects
Salesforce Integration Patterns and Practices
"Data Synchronization": This guide discusses various patterns. For the "Remote Call-In" pattern where Salesforce initiates the communication
it highlights event-based mechanisms. It states
"Change Data Capture is the preferred solution for keeping an external system in sync with Salesforce data... It provides a scalable way to publish and subscribe to a near-real-time stream of record changes." (This concept is detailed in the sections on event-based integration).
3. Salesforce Developer Documentation
Platform Events Developer Guide
"Platform Events vs. Change Data Capture": "Use Change Data Capture for... Synchronizing Salesforce records with an external data store." and "Use platform events for... Communicating business process changes
such as the status change of an order." This clearly differentiates the primary use cases.
4. Salesforce Developer Documentation
Streaming API Developer Guide
"Streaming API": "Salesforce offers a variety of streaming APIs that enable you to push events to client apps... The streaming APIs that Salesforce offers are PushTopic events
generic events
platform events
and Change Data Capture events." This confirms that Streaming API is a category
not a specific choice.