tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Lightning Connectのチュートリアルを試してみました

f:id:tyoshikawa1106:20150523190423p:plain

Salesforce Lightning コネクトチュートリアル

Lightning ConnectはSAPなどの外部データをコードを書かずに、かつSalesforce組織にコピーせずにアクセスできるようにしてくれる連携ツールです。Lightning Developer Weekで紹介されたチュートリアルサイトでわかりやすく勉強できるようになっています。

Module 1: Developer Editionアカウントの作成

f:id:tyoshikawa1106:20150523190826p:plain

チュートリアルではSalesforce Developer Editionのアカウント作成の方法から確認できます。既にアカウント作成済みならスキップして大丈夫です。

チュートリアル内で使用するカスタムオブジェクトなどを用意するためにパッケージのインストールを行ったりするので、それらの作業を行っても大丈夫な環境を用意してください。とのことです。

モジュール 2: Schemaパッケージのインストール

f:id:tyoshikawa1106:20150523191148p:plain


インストールすると『External Orders』というアプリケーションが作成されます。このアプリケーション内のカスタムオブジェクトなどを利用して進めていきます。

モジュール 3: 外部データソース及び外部オブジェクトの設定

f:id:tyoshikawa1106:20150523191520p:plain


このモジュールで、サンプルの注文データを含む外部のデータベースへ接続し、Salesforce内の外部オブジェクトで表示を行います。

ステップ 1: 外部データソースの設定

設定→開発→外部データソースのメニューを選択します。
f:id:tyoshikawa1106:20150523191706p:plain


新規ボタンから新しい設定を作成できます。今回のチュートリアルで必要な設定はこんな感じです。
f:id:tyoshikawa1106:20150523191907p:plain


チュートリアルに記載された注意事項です。

これはシンプルな読み込み専用のデータベースで認証がない場合の設定となります。実際の外部システムは認証が必要となるケースがほとんどですが、Lightning コネクトでは全てのデータソースへのアクセスに同じセットを利用するか、ユーザ毎に異なる認証を行うかを選択することができます。オンラインヘルプの'Identity Type'により詳しい情報があります。

実際の設定では認証のための設定が必要になりますが、今回のチュートリアルではそのあたりはスキップします。という感じだと思います。


上記設定が完了したら最後に検証して同期ボタンから同期するオブジェクトを設定します。
f:id:tyoshikawa1106:20150523193855p:plain



これで外部データソースの設定が完了し、Salesforce環境に任意のテーブル定義を読み込むことが可能になりました。

ステップ 2: 外部オブジェクトの設定を確認

外部オブジェクトの設定については設定→開発→外部オブジェクトから確認できます。
f:id:tyoshikawa1106:20150523192939p:plain


外部オブジェクトは通常のオブジェクトと違い、外部のデータを表示するだけなので、データストレージは気にする必要がありません。(たしか...)

チュートリアルで試した時点(Spring'15)では、作成や編集もできないようになっていますが、今後できるようになるという話だったと思います。


これが外部オブジェクトの設定画面です。
f:id:tyoshikawa1106:20150523192840p:plain


カスタムオブジェクトと外部オブジェクトの違いです。

  • 外部オブジェクトのAPI名はサフィックスに __c の代わりに __x を持ちます。
  • 外部オブジェクトは外部データソースへの参照を持っており、実際のテーブルはソース側にあります。
  • 外部オブジェクトは別の標準項目を持っています。表示 URL はレコードの外部データベースのOData 2.0 URL を表しており、 外部 ID はレコードごとの主キーの値を表します。


外部オブジェクトがSalesforceの組織にコピーされずにアクセスできるメリットについても紹介されていました。

外部データはSaleforceにコピーされることは無いという点は重要です。Lightning コネクトは常に現在の外部データをリアルタイムに取得しに行きます。


通常のオブジェクトと同じような感じでタブなどからレコード情報を確認できます。
f:id:tyoshikawa1106:20150523192347p:plain

モジュール 4: 間接及び外部参照関係の設定

f:id:tyoshikawa1106:20150523194312p:plain

外部オブジェクトはただレコードに表示できるだけではなく、間接参照 / 外部参照の設定が可能になっています。これにより外部オブジェクト同士で参照関係を設定したり、標準オブジェクトやカスタムオブジェクトと参照関係を設定することができます。

ステップ 1: 外部参照関係の設定

外部オブジェクトにリンクするリレーションを設定したい場合は、データ型の外部参照関係で設定します。
f:id:tyoshikawa1106:20150523195009p:plain


設定の進め方は画面に記載されているとおりです。
f:id:tyoshikawa1106:20150523194922p:plain


項目レベルセキュリティも設定できます。
f:id:tyoshikawa1106:20150523195155p:plain


表示ラベルや追加するレイアウトも設定できます。
f:id:tyoshikawa1106:20150523195348p:plain


リレーションを設定すると関連リストで表示できます。
f:id:tyoshikawa1106:20150523195312p:plain

ステップ 2: 間接参照関係を設定する

続いて間接参照関係についてです。これは外部オブジェクトを標準オブジェクトに関連付けしたい場合に使用するデータ型です。
f:id:tyoshikawa1106:20150523195557p:plain


通常の参照関係とは異なり、特定のID値と一致するレコードと関連付けされます。
f:id:tyoshikawa1106:20150523195714p:plain


外部オブジェクト側のCustomerID項目値
f:id:tyoshikawa1106:20150523195748p:plain:w200


標準オブジェクト側のCusotmerID項目値
f:id:tyoshikawa1106:20150523195823p:plain


少し特殊な感じですがリンク等は利用できるようになっています。この設定で標準オブジェクトやカスタムオブジェクトのレコードの関連リストに外部オブジェクトの情報を表示できます。
f:id:tyoshikawa1106:20150523195930p:plain

モジュール 5: 確認: Chatterを有効化しSalesforce1で注文を見る

外部オブジェクトは有効化の設定を行うことでChatter機能でも利用できます。有効化はChatter設定のフィード追跡で行います。項目の追跡はできませんが、フィード追跡の有効化は可能です。
f:id:tyoshikawa1106:20150523200244p:plain


これで外部オブジェクトでChatterが利用できます。
f:id:tyoshikawa1106:20150523200546p:plain


Chatterが有効化されたオブジェクトはSalesforce1の最近参照したレコードからアクセスできるようになります。
f:id:tyoshikawa1106:20150523200807p:plain


これでSalesforce1モバイルアプリで外部オブジェクトの情報にアクセスできます。
f:id:tyoshikawa1106:20150523200832p:plain

チュートリアル完了

f:id:tyoshikawa1106:20150523200916p:plain


以上がLightning Connectの基本的な設定方法です。Lightning Connectは有料のサービスですが、Developer Editionでは無料で試してみることができます。連携のための複雑なコードを実装することなく標準カスタマイズと同じように設定することができるので便利な連携ツールだと思います。