2月21日にSkyOnDemand V3.3がリリースされました。
今回は新機能の中から、Salesforce Connect連携をご紹介します。
(主な追加機能の一覧はこちらをご参照ください)
Salesforce Connectとは
Salesforce Connect(旧機能名:Lightning Connect)とは、ODataプロトコルで公開されたリソースをSalesforceの「外部オブジェクト」として扱う機能です。 ODataプロトコルおよびSalesforce Connectの概要は、TerraSky Tech Blogの記事で解説されていますので、未読の方はぜひご一読ください。
記事中でも触れられているように、ODataプロデューサーを自前で実装&公開できればカッコいいですが、サーバーを構築するのは、なかなか敷居が高いのではないでしょうか。
SkyOnDemandのSalesforce Connect連携は、ODataプロデューサーの作成・公開を支援し、データ連携を手軽に実現する機能です。
SkyOnDemandにおけるSalesforce Connect連携の概要
Salesforce Connect連携では、以下の機能要素を組み合わせることによりODataプロデューサーを実現します。
- 汎用的なODataプロデューサーおよび、ODataオブジェクトの設定を行うGUI
- ODataクエリを外部のデータソースに適合した構文に変換するパーサー機能
- 外部データソースに接続するためのアダプタ
以下はSalesforce Connectを利用して外部DBMSのデータを外部オブジェクトとして取り込む場合のイメージ図になります。
このケースに沿って、連携の実現に必要な手順を解説します。ステップは以下の3つです。
- ODataオブジェクトの設定
- Salesforceの外部オブジェクト定義
- 連携サーバーのスクリプト・トリガー設定
ODataオブジェクトの設定
※ODataプロデューサーを利用するためには、弊社にて設定変更が必要です。ご利用を希望される際はご一報ください。
SkyOnDemandの管理画面で、ODataオブジェクトの設定を追加します。設定するのは以下の項目です。
- オブジェクトの名称
- プロパティの名称と属性(データ型など)
- 連携サーバーと実行パス
オブジェクト、プロパティは外部DBのテーブル、フィールド(カラム) に対応するように設定します。
設定内容がODataオブジェクトとして公開されていることを確認しておきましょう。
OData プロデューサーのURLは、 https://api.skyondemand.net/odata/Services.svc/ です。
画面で設定した内容がメタデータ情報に反映されていますね。
Salesforceの外部オブジェクト定義
作成したODataオブジェクトをSalesforceから参照するための設定を行います。
冒頭でご紹介したblog記事の手順に沿って、外部データソースを作成します。設定する値は以下のとおりです。
種別:Lightning Connect:OData2.0
URL:https://api.skyondemand.net/odata/Services.svc/
形式:AtomPub
認証プロトコル:パスワード認証
ユーザ名・パスワードはSkyOnDemandのユーザ名・パスワードになります。
設定が完了しました。作成した外部データソースに対して「検証して同期」を実行すると、外部オブジェクトが作成されます。
連携サーバーのスクリプト・トリガー設定
残りは、外部DBからデータを取得する部分です。連携サーバー上で処理を構築していきます。
スクリプトの作成
Salesforce Connect専用のアイコンを使用してスクリプトを作成します。
スクリプトの作成が負担にならないよう設計されているため、もっとも単純なケースではアイコンの数はわずか2つです。
HTTPトリガーの設定
連携サーバーは、HTTPトリガーの機能を利用してSkyOnDemandからODataクエリを受け取ります。
スクリプトをサービス登録し、HTTPトリガーに関連付けます。
HTTPトリガーのパスは「ODataオブジェクトの設定」で設定した「実行パス」と同じ文字列にします。
続いて、リクエストパラメータ・実行結果を受け渡すため、入力パラメータ・出力パラメータを設定します。
これで設定はすべて完了です。外部オブジェクトを表示してみましょう。
外部DB上のデータをSalesforceの外部オブジェクトとして取り込むことができました。
もちろん、表示項目の選択、条件による絞り込みなどが可能です。
おわりに
Salesforce Connect連携によって、リアルタイムな外部データ連携が手軽に実現できることがお分かりいただけたと思います。
データの加工などを伴う複雑な処理が必要な場合でも、連携サーバーの機能を利用すれば短期間で実現できます。
また、現時点ではSalesforce Connect連携は参照のみ可能となっていますが、作成・更新・削除の各機能への対応も予定しています。
今回のバージョンアップでは、この他にも多くの機能が追加されました。
より一層機能が強化されたSkyOnDemandをぜひお試しください。