salesforce零基础学习(九十八)Salesforce Connect & External Object

本篇参考:后端

https://trailhead.salesforce.com/en/content/learn/modules/lightning_connectapp

https://help.salesforce.com/articleView?id=platform_connect_about.htm&type=5工具

咱们在作salesforce开发的时候,除了须要了解最基本的先后端开发时,还须要对salesforce的设计以及government limit等有一些基础的了解。好比咱们知道salesforce一个表能够建立若干个字段,可是无论当前的字段有多少,这个表的数据每条所占的内存大约是2K,无论当前的表的数据存储了1个字段仍是多个字段。性能

公司根据不一样的需求可能选择不一样类型的 license,不一样的 license有不一样的 data storage。
经过查询 salesforce help文档能够查看到, Professional, Enterprise , Unlimited Edition 都是10G的数据内存
当咱们的 license购买的 data storage有限时,咱们能够给salesforce提case加钱去扩充,plus能够增长200M。然而不是全部的场景都须要各类扩充,由于扩充也意味着在salesforce中的数据不断变多,使用时相关的性能也会受相应的影响。某些case状况下可能咱们想使用ERP或者其余的系统的数据,咱们最开始想的是在salesforce建立一个 custom object或者一个 big object,而后数据迁移过来,当对端系统有改变,经过rest等方式将改动数据再推送过来。其实这种case下salesforce提供了另一种可能,就是这篇所说的salesforce connect 以及 External Object.ui

一. Salesforce Connectspa

Salesforce Connect是一个能够容许你查看,搜索和修改存储在salesforce系统外部的数据。他获取设计

如下的大多数场景都适用状况下推荐使用 salesforce connect:3d

1. 你有大量的存储在外部的数据可是你不想拷贝到你的Salesforce org。
2. 你在任什么时候候都须要少许的数据
3. 你须要实时访问最新的数据
4. 数据存储在云或后台系统中,但但愿在Salesforce org中显示或处理这些数据。rest

须要注意的是,若是须要频繁地访问大量外部数据,ETL(extract, transform, and load)工具仍然是实现最佳性能的最佳选择。咱们在使用 外部对象前须要去评估一下是否须要使用 salesforce connect仍是 ETL工具。经过上面的描述咱们能够看到,当想要引用外部系统而且知足上面大部分场景时候,才须要用到 Salesforce Connect,其余状况须要按照项目实际状况操做。orm

二. Salesforce Connect简单设置和集成

官方给了一个实际的业务场景的demo,这里进行简单的描述。系统的客户的订单以及订单详细信息维护在外部ERP系统,系统管理员被要求在客户详情页能够查看到当前的客户对应的订单信息以及订单详细。其中订单信息以及订单详细信息不用维护到salesforce系统,每条顾客信息不会有大量的数据,每次访问须要展现最新的订单信息。这种业务场景咱们推荐考虑使用 External Object。 步骤以下:

1. 建立 External DataSource

首先按照trailhead的demo安装一个 app exchange,连接以下:https://login.salesforce.com/packaging/installPackage.apexp?p0=04tE00000001aqG&isdtp=p1. 用来安装一些须要用到的字段以及其余的metadata。安装好之后,切换到classic之后,app选择到External Object,tab选择到 Quickstart,正常会展现一个button叫作Set Customer IDs ,点击这个button之后会展现下面的图了,证实数据初始化成功,这个在实际项目中确定不须要,只是trailhead为了保证数据能够进行关联而作的初始化操做。

 

 初始化操做结束之后,咱们开始进行 external data source的建立,在 setup 处搜索 external data source点击左侧的item便可查看当前系统的external data source信息。点击 New External Data source便可建立。

 咱们按照要求配置相关信息,须要注意的是,实际的项目中必定要使用认证证书,URL为官方提供的demo数据。

点击Save之后建立好一个External Data Source。

 2.建立 External Object

当咱们建立完 External Data Source即可以更方便的建立 External Object了。咱们进入刚刚建立的 External Data Source,点击 Validate And Sync按钮。

 这里咱们针对外部数据只选择了Order 以及Order Detail两个 External Object,点击 Sync,点击之后即可以生成了 External Object。

 setup 搜索External Object,点击左侧即可以进入相关的生成的External Object了。

 3. 设置各表之间的关系。这步很重要,咱们建立了外部对象,绑定了外部的data source,目的是要使用这些数据,因此搞清楚各个表之间的关系,了解外部对象之间以及外部对象和内部对象之间的关联关系很重要。当前的demo中,咱们能够看到, Account有一个或者多个Order,一个Order有一个或者多个 Order Detail.其中 Account是 salesforce Object, Order以及Order Detail是外部对象,咱们先根据下面的表搞清楚关系。

Type of Relationship(关系类型) Child Object(子Object) Parent Object(父Object)

Must External Data Contain Salesforce IDs?

外部数据是否包含Salesforce Id

 Lookup  Standard, Custom, or External  Standard or Custom  Yes
 External Lookup  Standard, Custom, or External  External  No
 Indirect Lookup  External  Standard or Custom  No

 经过上面的图表,咱们能够看到 针对外部对象和内部对象以及外部对象和外部对象的关系,能够有三种关系类型,分别是 lookup / External Lookup / Indirect Lookup。

 lookup类型用于当父表是salesforce表,字表是External状况,而且External Data Source的数据包含了Salesforce Id状况下,能够在 External Object中建立 lookup类型的字段,关联到salesforce的表上;

External Lookup用于 父表是外部表,而且字表是salesforce内部或者外部状况下,能够建立一个 External Lookup类型字段;

Indirect Lookup用于父表是 salesforce中的表,字表是外部的表,而且不经过salesforce Id关联,经过 外键形式的字段进行关联,能够建立一个Indirect Lookup类型字段。

根据咱们如今的场景, Account 和 Order,由于Order是外部表,适用于 Indirect Lookup; Order 和 Order Detail 表都是外部表,父是 External,因此只能是 External Lookup。

知道类型之后,咱们对表中的字段进行 change type操做,将 Order表中的 customerId字段修改为 indirect lookup类型,关联到account的customer id字段;同理对 Order Detail的orderID字段修改为 External Lookup类型,关联到Order表的order id。

 这几个表建立完关联关系,之后,咱们须要更改 account以及order的page layout,将related list相关的信息拖出来,既能够在有外键关联的 account的数据的关联列表中查看到 External Object的Order信息以及点进去Order查看到 Order Detail信息。

 总结:篇中主要讲了一下Salesforce Connect以及 External Object的简单使用。项目中不必定使用到,可是涉及到大型项目,有这个概念,知道什么场景使用它便可。Salesforce设计很神奇的地方是不一样的功能不一样的后缀。自定义表 __c, Big Object使用 __b, External Object使用 __x,若是能了解底层的知识必定是一个很奇妙的体验。篇中有错误地方欢迎指出,有不懂欢迎留言。

相关文章
相关标签/搜索