Salesforce Integration 概覽(六) UI Update Based on Data Changes(UI自動更新基於數據變更)

Salesforce用戶界面必須由於Salesforce數據的更改而自動更新。這個場景其實在我所經歷的項目中用到的不是特別多,因爲客戶可能直接點擊刷新按鈕就直接看到了最新的數據,而不是那種一直不刷新然後基於數據變化以後等着自動刷新。所以這種集成模式應該是基於某種特定的行業數據變動很快要求實時性的UI查看那種。

一. 上下文

 您使用Salesforce管理客戶Case。一位客戶服務代表正在和一位正在辦案的客戶通電話。客戶進行支付,客戶服務代表需要從支付處理應用程序中查看Salesforce中的實時更新,指示客戶已成功支付訂單的未付金額。對這個場景更好的解釋是當一個用戶打開了某個UI場景下,如果後臺的數據發生改變以後,即使用戶不手動刷新頁面情況下也要展示變更後的數據信息

. 問題和考慮因素

 問題: 當Salesforce中發生事件時,如何在Salesforce用戶界面中通知用戶而不必刷新屏幕並可能潛在的丟失工作內容?

 考慮因素:

當基於這種模式應用解決方案時,需要考慮各種各樣的因素:

  •  所處理的數據是否需要存儲在Salesforce中?
  •  是否可以構建自定義用戶界面層來查看這些數據?
  •  用戶是否有權調用自定義用戶界面?

三. 解決方案

 此種集成問題的推薦解決方案是使用Salesforce Streaming API。此解決方案由以下組件組成:

•帶有查詢定義的PushTopic,允許以下操作:

–指定觸發更新的事件

–選擇要包含在通知中的數據

•基於JavaScript的Bayeux協議(目前爲CometD)實現,可供用戶界面使用

•Visualforce頁面或Lightning組件

•作爲靜態資源包含的JavaScript庫

 詳情可以查看:

salesforce零基礎學習(八十五)streaming api 簡單使用(接近實時獲取你需要跟蹤的數據的更新消息狀態)

四. 流程草圖

 五. 其他關鍵點

 應用與此模式相關的解決方案有以下好處:

•無需編寫自定義輪詢機制

•無需用戶啓動反饋迴路

壞處:某些場景並不支持(Push Topic的限制):

•不保證發送通知。

•不保證通知的順序。

•批量API所做的記錄更改不會生成通知。(其實說的不夠嚴謹,只有針對 batch job並且設置了'Use Bulk Mode' 不會生成通知)

六. 常見考題

Customer Support Reps at Universal Containers (UC) work on a Case record in Salesforce while talking to a customer on the phone about a piece of machinery they have purchased from UC. This machine is a connected device and sends data packets to UC as the customer presses buttons on the machine. What integration pattern will allow the support Rep to watch their screen and diagnose problems customer is having in near real-time?

UI Update Based on Data Changes

總結:此種模型基本上需要 streaming api,然後需要的頁面作爲訂閱端,基於輪詢操作去實時監聽。篇中有錯誤地方歡迎指出,有不懂歡迎留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章