Integration Flashcards
You use Salesforce to manage customer cases. A customer service rep is on the phone with a customer working on a case. The customer makes a payment and the customer service rep needs to see a real-time update in Salesforce from the payment processing application.
Which pattern does this describe?
UI Update based on Data Changes
What is the recommended solution for the UI Updates based on Data Changes Pattern?
The Salesforce Streaming API using:
1- A push topic
2- Bayeux/CometD JS implementation
3- VF or Lightning component
4- JS lib included as a static resoruce
What are the benefits of using the Streaming API to update the UI based on changes?
No need to write a custom poller
No need to have the user manually poll
What are the limitations of using the Streaming API to update the UI based on changes?
1- Delivery of notifications isn’t guaranteed
2- Order of notifications isn’t guaranteed
3- Notifications aren’t generated from record changes made by Bulk API
A telecommunications company uses Salesforce to manage customer cases. The customer service managers want to be notified when a case is successfully closed by one of their customer service reps.
Describe what the solution for this use case would look like.
- Create a PushTopic that sends a notification when a case is saved with a status of Closed and resolution of Successful
- Create custom UI and subscribe the UI to the PushTopic Channel
- Implement logic in the UI that shows alerts generated by that managers reps
What are two implementation drivers for Streaming API solutions?
- Appliations that poll frequently
- General notification of data changes in the org.
T/F: A PushTopic can define specific criteria about which it will notify subscribers.
TRUE
What is Bayeaux?
A Protocol for transporting asynchronous messages, primarily over HTTP.
What is CometD?
A scalable HTTP-based routing bus that uses an AJAX push technology pattern known as Comet. It implements the Bayeaux protocol.
What five CometD methods are supported by the Streaming API?
Connect
Disconnect
Handshake
Subscribe
unsubscribe
What are two major differences between a PushTopic and a Change Data Capture?
PushTopic send only specific fields, wheereas CDC send all of the fields that changed.
CDC also sends details of the change in the header
What is the retention period for a PushTopic Event?
24 hours
What is the retention period for a Change Data Capture Event?
72 hours
What is the retention period for a regular Platform Event?
24 Hours
What is the retention period for a High-volume Platform Event?
72 hours
What is the retention period for a Generic Event?
1 Day
What are Generic Events?
Generic events send custom notifications that are not tied to Salesforce Data Changes
What is a replay ID and what is it’s impact on Event Durability?
The ReplayID is a value populated by the system to represent the event’s position in the event stream.
The replay even can be used to retrieve events that are within the retention window
True/False:
A subscriber can choose which events to retrieve as long as the event is within its retention window or starting after a particular event.
TRUE
What events will a subscriber receive by default after subscribing to a messaging queue?
The default is to receive only the new events sent after subscribing.
If there are ten messages in a queue, and a subscriber tries to replay events using the replayId of -1, what events will the subscriber receive?
the subscriber will receive all events after the client subscribes.
If there are ten messages in a queue, and a subscriber tries to replay events using the replayId of -2, what events will the subscriber receive?
the subscriber will receive all events that are within the retention window + all new events.
If there are ten messages in a queue, and a subscriber tries to replay events using the replayId of 5, what events will the subscriber receive?
the subscriber will receive events 6-10 (NOT 5) + all new events
What is a PushTopic?
What’s included?
A PushTopic triggers notifications for changes to Salesforce records resulting from a create, update, delete or undelete.
The PT Notification is based on the criteria specified in the PushTopic record and the SOQL query defined to retrieve the notification.
What is a Platform Event?
A Platform Event represents the definition of the custom data to be sent in a platform event message.
What is a Change Data Capture Event?
A CDC triggers notification for changes in Salesforce records resulting from a create, update, delete or undelete operation. All changed fields are sent in the notification, and information about the change can be found in the header
Describe the relationship between an event, notification, subscription channel and the event bus
An event occurs as the result of a CRUD operation, and triggers a notification, which is published to the channel of an event bus for consumption
You use Salesforce to track leads, manage your pipeline, create opportunities, and capture order details that convert leads to customers. However, Salesforce isn’t the system that contains or processes orders. Orders are managed by an external (remote) system. But sales reps want to view and update real-time order information in Salesforce without having to learn or use the external system.
What pattern describes the best solution?
Data Virtualization
What are the two solutions for Data Virtualization on Saleforce?
Salesforce Connect (best)
Request/Reply (suboptimal)
Describe how Salesforce Connect works.
Salesforce Connect maps data tables in an external system to external objects in your org.
Salesforce Connect uses a live connection to external data to always keep external objects up-to-date.
What protocols must the external system support for Salesforce Connect to be an option?
Odata 2.0 and Odata 4.0
How can 2 Salesforce orgs be connected to share data using Data Virtualization?
Using a cross org adapter
How does the Salesforce cross-org adapter communicate between orgs?
The orgs connect directly to each other, and send data using the Salesforce REST API
If Odata and cross-org adapters are not suitable, what other option can be used to implement Salesforce Connect?
A custom Apex adapter can be created with the Apex Connector Framework
What volume considerations are related to Data Virtualization in Salesforce?
The Data Virtualization pattern is primarily used for small volume/real-time activities.
What are the data state management concerns when using the Data Virtualization pattern?
The remote system stores either the Salesforce record ID or some other unique surrogate key from the record.
The call to the remote process returns the unique key from the application, and Salesforce stores that key value in a unique record field.
External Objects supports lookup relationships similarly to custom and standard objects.
What is the relationship name if a standard object is the parent, the external object is the child and the SF ID is the field used for mapping?
Lookup Relationship