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,然后需要的页面作为订阅端,基于轮询操作去实时监听。篇中有错误地方欢迎指出,有不懂欢迎留言。
Salesforce Integration 概览(六) UI Update Based on Data Changes(UI自动更新基于数据变更)的更多相关文章
- salesforce Integration 概览(一) 杂篇
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 我们在做sales ...
- Salesforce Integration 概览(四) Batch Data Synchronization(批量数据的同步)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 前两篇博客讲了一下 ...
- Salesforce Integration 概览(二) Remote Process Invocation—Request and Reply(远程进程调用--请求和响应)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 我们在项目中,经常 ...
- Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 本篇博客介绍 Re ...
- Salesforce Integration 概览(七) Data Virtualization数据可视化
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf Salesforc ...
- Salesforce Integration 概览(三) Remote Process Invocation—Fire and Forget(远程进程调用-发后即弃)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 我们在上一篇讲了远 ...
- Salesforce LWC学习(六) @salesforce & lightning/ui*Api Reference
上一篇中我们在demo中使用了很多的 @salesforce 以及 lightning/ui*Api的方法,但是很多没有细节的展开.其实LWC中针对这些module提供了很多好用的方法,下面对这两种进 ...
- [React] Optimistic UI update in React using setState()
In this lesson we will refactor an existing UI update from a typical loading approach to an optimist ...
- Web UI开发速速种草—Kendo UI for jQuery网格编辑操作概述
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
随机推荐
- 30、css介绍
30.1.css概述: css是Cascading Style Sheet的简称,中文称为层叠样式表,是用来控制网页数据表现的,可以 使网页的表现与数据内容分离: 30.2.css的四种引入方式: 1 ...
- keycloak~自定义SPI的注入与扩展
项目结构 自定义SPI注册 1. 直接复制文件方式 docker cp keycloak-service-self-spi.jar keycloak:/opt/ docker cp module-on ...
- Java进阶 | IO流核心模块与基本原理
一.IO流与系统 IO技术在JDK中算是极其复杂的模块,其复杂的一个关键原因就是IO操作和系统内核的关联性,另外网络编程,文件管理都依赖IO技术,而且都是编程的难点,想要整体理解IO流,先从Linux ...
- ctf杂项之easy_nbt
下载附件查看 除了几个文件之外,没有思路 搜索nbt可知,可以使用nbtexplorer工具 果断下载,然后打开题目下载的目录 crrl+f搜索flag 猜测kflag{Do_u_kN0w_nbt?} ...
- springMVC-2-MVC初步了解
Spring MVC的特点 轻量级,简单易学 高效 , 基于请求响应的MVC框架 与Spring兼容性好,无缝结合 约定优于配置 功能强大:RESTful.数据验证.格式化.本地化.主题等 简洁灵活 ...
- 怎么添加对Shopify 的WebHook 验证
怎么添加对Shopify 的WebHook 验证 背景介绍 Shopify 是一家一站式SaaS 模式的电商服务平台,总部位于加拿大首都渥太华,专注于为跨境电商用户提供海外品牌建立及销售渠道管理.为电 ...
- debian9 独显安装后进入不了桌面解决方法
# apt-get purge nvidia. # /etc/init.d/sddm stop (sddm for kde) # aptitude --without-recommends insta ...
- ThinkPHP3.2.3 语言包切换中英文切换
今天要用ThinkPHP3.2.3做一个小网站,其中涉及到切换中文与英文,通过查询手册和百度实现了该操作,现在将我具体的操作步骤记录下来,作为笔记和大家分享. php开发框架:ThinkPHP3.2. ...
- 02_Java基础类型和包装类型
基本数据类型 包装类名称 所占字节数 默认值 byte Byte 1 0 short Short 2 0 Int Integer 4 0 long Long 8 0L double Double 8 ...
- Python自动化测试面试题-性能篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...