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

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

一. 上下文api

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

. 問題和考慮因素spa

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

 考慮因素:blog

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

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

三. 解決方案ip

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

•帶有查詢定義的PushTopic,容許如下操做:get

–指定觸發更新的事件

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

•基於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,而後須要的頁面做爲訂閱端,基於輪詢操做去實時監聽。篇中有錯誤地方歡迎指出,有不懂歡迎留言。

相關文章
相關標籤/搜索