天天看點

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 簡單使用(接近實時擷取你需要跟蹤的資料的更新消息狀态)

四. 流程草圖

Salesforce Integration 概覽(六) UI Update Based on Data Changes(UI自動更新基于資料變更)

 五. 其他關鍵點

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

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

•無需使用者啟動回報回路

壞處:某些場景并不支援(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,然後需要的頁面作為訂閱端,基于輪詢操作去實時監聽。篇中有錯誤地方歡迎指出,有不懂歡迎留言。

作者:zero

部落格位址:http://www.cnblogs.com/zero-zyq/

本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接

個人下載下傳了一些相關學習的PDF檔案,如果需要下載下傳請通路百度雲 點選此處通路 密碼:jhuy

如果文章的内容對你有幫助,歡迎點贊~

為友善手機端檢視部落格,現正在将部落格遷移至微信公衆号:Salesforce零基礎學習,歡迎各位關注。

繼續閱讀