专栏首页salesforce零基础学习Salesforce Integration 概览(六) UI Update Based on Data Changes(UI自动更新基于数据变更)

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,然后需要的页面作为订阅端,基于轮询操作去实时监听。篇中有错误地方欢迎指出,有不懂欢迎留言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【翻译】Asp.net Core介绍

    ASP.NET Core is a significant redesign of ASP.NET. This topic introduces the new...

    脑洞的蜂蜜
  • .NET 基金会项目介绍-ReactiveUI

    ReactiveUI 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • 札记:翻译-使用Scene和Transition实现【场景切换】动画效果

    简述:transitions framework 下面翻译transition为“过渡”,强调动画过程的含义,不过更多时候使用transition单词本身。 ...

    用户1172465
  • 【Redux】:Redux 指北

    Redux 是JavaScript 应用的状态管理容器,提供集中式、可预测的状态管理。

    WEBJ2EE
  • Jaeger五岁了:对项目贡献者的致敬

    2015年8月3日是Jaeger在Uber内部仓库第一次提交的日期。从技术上讲,这个项目真正的生日可能是在一个星期之前,因为当我在构建收集器服务原型时,我们经历...

    CNCF
  • 从componentWillReceiveProps说起

    componentWillReceiveProps通常被认为是propsWillChange,我们确实也通过它来判断props change。但实际上,comp...

    ayqy贾杰
  • 2020测试工具索引

    在整理过程中,我会尽量去官网找到官方对该工具的描述,包括中文和英文,保证原汁原味。

    dongfanger
  • .NET 基金会项目介绍-BenchmarkDotNet

    BenchmarkDotNet 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • .NET 基金会项目介绍-Windows Presentation Foundation WPF

    Windows Presentation Foundation WPF 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • Unity-UI(UGUI详解)01基础概念、自动布局、动画集成、富文本

    Canvas应该包含全部UI元素,全部的UI元素应该时Canvas的子物体 调整元素的显示顺序可以从Hierarchy中直接拖拽他们,顺序从也可以被控制通过S...

    祝你万事顺利
  • Recovery启动流程--recovery.cpp分析

    这篇文章主要通过分析高通recovery目录下的recovery.cpp源码,对recovery启动流程有一个宏观的了解。

    233333
  • App 组件化/模块化之路——Android 框架组件(Android Architecture Components)使用指南

    面对越来越复杂的 App 需求,Google 官方发布了Android 框架组件库(Android Architecture Components )。为开发者...

    阳仔
  • .NET 基金会项目介绍-DNN Platform

    DNN Platform 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • KnockoutJS语法

      假设我们的页面输入区域有一个div用来展示一件物品的名字,同时有一个输入框用来编辑这件物品的名字

    javascript.shop
  • .NET 基金会项目介绍-Couchbase Lite for .NET

    Couchbase Lite for .NET 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • .NET 基金会项目介绍-Umbraco

    Umbraco 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • 使用Aggregated APIServer的方式构建API服务

    工作中需要以kubernetes原生的方式构建API接口服务,并将构建出的API接口直接聚合到kubernetes的apiserver服务上。本周花了不少时间研...

    jeremyxu
  • 「首席架构师推荐」最棒的的Flutter库,工具,教程,文章列表

    Flutter是一款移动应用SDK,可通过单一代码库为iOS和Android构建高性能,高保真的应用。

    首席架构师智库
  • docker-resources资源汇集相关项目博文

    docker资源汇总。英文版本链接 资源汇集 书籍 第一本Docker书 (7.4分) Docker —— 从入门到实践 (内容一般) The Docker B...

    guanguans

扫码关注云+社区

领取腾讯云代金券