データ同期はもういらない?Salesforce Connectで別組織のデータをリアルタイム表示してみた

「Salesforceにデータを持たずに参照する」という画期的な連携方法について、その概要から設定方法までを詳しく解説します。

はじめに

基幹システムや、別システムのデータをSalesforce上で確認したい...そう思ったことはありませんか?

通常、外部のデータをSalesforceで扱うには、Data LoaderでのインポートやAPIを利用した連携開発が必要です。
しかし、これには「データの二重持ちによるストレージ消費」や「同期のタイムラグ」といった課題が常に付きまといます。

そこで活用したいのがSalesforce Connectです。
今回は、「Salesforceにデータを持たずに参照する」という画期的な連携方法について、その概要から設定方法までを詳しく解説します。

Salesforce Connectとは

従来のデータ連携で外部システムのデータをSalesforceで使いたい場合、冒頭でも触れた通りデータをインポートして持ってくる必要があります。
しかし、Salesforce Connectはデータは元の場所に置いたまま、Salesforceから見に行くという仕組みになっています。

■Salesforce Connectの3つの大きな特徴
1.ストレージ容量がゼロ
 データは外部システムにあるため、Salesforceのデータストレージを消費しません。

2.常に最新のデータを参照
 ユーザーが画面を開いた瞬間にデータを取得しに行くため、外部システムで更新された内容は、即座にSalesforce側に反映されます。

3.「外部オブジェクト」として扱える
 連携したデータは、Salesforceの中で「外部オブジェクト」という箱に入ります。

■外部オブジェクトの特徴
・API名の末尾が __x になる(例:Inventory__x)。

・リストビューや詳細画面の見た目や操作感は、標準の「取引先」や「商談」とほぼ同じ。

・Salesforceのデータと紐付けて関連リストに表示することが可能。

■どうやって繋がっているのか
Salesforce Connectは、OData(Open Data Protocol)という「データの共通言語」を使って外部システム接続します。

Salesforce Connectの設定方法

今回は、「社内のSQL Serverにあるデータを、MuleSoftをインターフェースとして介し、Salesforce Connect(OData 4.01)でリアルタイムに表示する」という構成を例に解説します。
1.指定ログイン情報の登録
まず、安全に外部システムへ接続するための「指定ログイン情報(Named Credentials)」を設定します。ここでは、MuleSoftで発行されたベースURLと、認証情報(外部資格情報)を登録します。

指定ログイン情報画面

2.外部データソースの登録
次に、Salesforce Connect本体の設定を行います。

種別はSalesforce Connect: OData 4.01を選択。
そして、接続先情報は先ほど作成した「指定ログイン情報」を選択。

※OData 4.01を使用する場合は、URLを直接外部データソースへ登録するのではなく、指定ログイン情報を指定し、その中のURLを参照する仕様となります。

外部データソース

3.外部データソースの同期
設定が正しく行われると「検証」が可能になります。
「検証して同期」ボタンを押し、外部オブジェクトとして作成したいテーブルにチェックを付けて同期をすれば、準備完了です。

同期画面

外部オブジェクトの確認

設定完了後、レコードを開くとSalesforceの標準画面と同じようにデータが表示されます。
しかし、このデータは「開いた瞬間に外部から取ってきたもの」です。

標準画面:見慣れたSalesforceのレイアウトで外部データを確認できます。

外部オブジェクト詳細画面

リストビュー・レポート: 他のオブジェクトと同様に、絞り込みや出力が可能です。

リストビュー

「外部のデータだから、他のデータと紐付けられないのでは?」という心配は無用です。
外部オブジェクトであっても、他のオブジェクトとリレーション(参照関係)を貼ることができます。
また、システム的な見分け方はひとつだけです。オブジェクトマネージャで確認すると、API参照名の末尾が __x になっています(カスタムオブジェクトの __c にあたるものです)。
これ以外は、開発者にとっても管理者にとっても、使い勝手は通常のオブジェクトと変わりません。

おわりに

Salesforce Connectはデータの置き場所は変えずに、活用場所だけをSalesforceにまとめる、非常にスマートなシステムです。

もちろん、ライセンス費用がかかったり、複雑な集計には不向きだったりと注意点もありますが、システム間の壁をなくし、営業やサポート担当が必要な情報にすぐアクセスできる環境を作る上では、これ以上ないものといえます。

「データ連携=難しい開発」という固定観念を捨てて、まずは小さなデータソースから繋いでみることから始めてみてはいかがでしょうか?