SAP Business Technology Platform (BTP) のサービスの一つ、SAP Open Connectorsによる、Salesforce Sales CloudとSAP Datasphere間のデータ連携についてご紹介します。
SAP DatasphereとSAP Analytics Cloud による分析要件では、データソースとしてSAP システムだけではなく、他のアプリケーションのデータを含めた分析を検討されているお客様が少なくありません。例えばSAP S/4HANAの売り上げ実績データと、Salesforce Sales Cloudのもつ商談情報を合わせて分析するといった場合、両者のシステムのデータを集約するためにSAP Datasphereにデータを格納し、分析モデルを構築することでSAP Analytics Cloudを使って分析することが可能になります。本ブログでは、Salesforce Sales CloudのデータをSAP Open Connectorsを使用して取得し、SAP Datasphereに格納する方法について解説します。なお、S/4HANAをSAP Datasphereに連携する方法に関しては、こちらのブログをご参照ください。
SAP Open Connectors は、クラウド上の SAP アプリケーションに最適化されたイノベーション プラットフォームであるSAP BTP のサービスの一つ、 SAP Integration Suite のコア コンポーネントであり、SAP以外の クラウド アプリケーションへの接続と、シームレスな統合を簡素化するために、事前に構築された機能を提供するアダプタです。
図1.SAP Integration Suiteを構成するコンポーネント
必要な環境
SAP BTP Integration Suite、およびSAP Open Connectorsは、トライアル環境をご利用いただく事もできます。こちらのSAP Developer Center のチュートリアルを参考に、SAP Integration Suiteを準備してください。なお、SAP Open Connectors を利用するために、チュートリアルのSTEP3 Activate the capabilities の章で 後方の For this tutorial, you must select the Build Integration Scenarios and Manage APIs capabilities. Choose Next. の手順で、下の画面のように、 「Extend Non-SAP Connectivity」 も追加(合計3か所のチェックボックスをON)して下さい。これでOpen Connectorsが利用できるようになります。
図2.SAP Open Connectorsを有効化するためのチェックボックス
Salesforce Sales CloudからSAP Datasphereへデータ連携をするためには以下の様な手順が必要になります。
図3.当ブログで実施する連携の手順
以下の手順は、事前準備の項のチュートリアルを実施し、準備が整ったことを前提としています。
BTP Cockpitを起動します。左のメニューの「アカウントエクスプローラ」を選択し、右ペインにある「サブアカウント」のタイルにある、「プロバイダ」と「地域」を確認します。後方の手順で、この情報を使用しますので、控えておいてください。
図4.SAP Integration Suiteのプロバイダ情報と地域情報
BTP Cockpitのサブアカウントのタイルをクリックし、左のメニューにある「サービス」を展開、「インスタンスおよびサブスクリプション」選択します。サブスクリプションのSAP Integration Suiteをクリックし、起動します。
図5.Integration Suiteの起動のためのリンク
SAP Integration Suiteの「HOME」画面にある「Extend Non-SAP Connectivity」タイルの「Discover Connectors」のリンクをクリックし、SAP Open Connectorsを起動します。
図6.SAP Open Connectorsの起動のためのリンク
Open Connectorsが起動します。左下にあるギアのアイコン(設定)をクリックします。ここで表示される「Organization Secret」と「User Secret」の値(画面上ではセキュリティの為 * で表示されています)を、後方の手順で使用します。値の右にあるコピーボタンを使用しますので、この画面のまま、新しいブラウザ ウインドウ(もしくはタブ)を開いて次の手順に進みます。
図7.Open Connectorsの接続情報
新しく開いたブラウザ ウインドウ(もしくはタブ)で、SAP Datasphereにログインしてください。SAP Datasphereの左端のメニューから、「設定」を選択、「SAP Open Connectors」タブをクリック、「SAP Open Connectors アカウントを統合」をクリックします。
図8.SAP DatasphereのSAP Open Connectorsアカウント統合情報
表示されるダイアログウインドウの「SAP BTP サブアカウント地域」、「Open Connectors 組織シークレット」、「Open Connectors ユーザシークレット」の各フィールドに、上の手順で確認した値(図4 および 図8)をそれぞれ入力して「OK」ボタンをクリックしてください。「SAP Open Connectors アカウント」のタイルに 「接続済み」 が表示されれば、SAP Datasphereから SAP Open Connectorsへのアカウントの統合が完了 です。
図9.Open Connectorsアカウント統合結果
Salesforce Sales Cloud側にて、SAP Open Connectors用の接続アプリケーションの登録を行います。(なお、本検証にSalesforceのトライアル版を利用する事はできませんでした)
画面右上の歯車アイコン「設定」をクリックし、左メニューから「アプリケーション」>「アプリケーションマネージャ」を選択し、「新規接続アプリケーション」ボタンをクリックします。
図10. 接続アプリケーション登録
以下の必須情報を入力してください。
※ https://help.openconnectors.ext.hana.ondemand.com/home/sfdc-api-provider-setup
図11. 新規接続アプリケーション設定
接続アプリケーション設定が完了したら、左メニューから「アプリケーション」>「接続アプリケーション」>「接続アプリケーションを管理する」を選択し、管理画面から「コンシューマの詳細を管理」をクリックします。
図12. 接続アプリケーションの管理画面
表示される「コンシューマ鍵」と「コンシューマの秘密」を、以降の手順で使用しますのでこの画面を保持しておいてください。
図13. 接続情報の取得
以上でSalesforce Sales Cloud側の設定は終了です。
図7の画面に戻り、確認画面を閉じます。左のメニューから「Connectors」をクリックし、上方にある検索フィールドに「salesforce」を入力して目的のコネクタをフィルタします。
Salesforce Sales Cloud のタイルにカーソルを当てると、コンテキストメニューが表示されますので、その中から「Authenticate」を選択します。
図14. Salesforce Sales Cloud用のコネクタ
コネクターの設定画面が表示されます。「Show Optional Fields」をクリックし、必要な情報を登録します。前の手順で表示させた Salesforce Sales Cloud の「コンシューマ鍵」と「コンシューマの秘密」(図13)を以下のフィールドに記入してください。
図15. Salesforce Sale Cloudに接続するための設定
入力を確認し、「Create Instance」をクリックします。Salesforce社のログイン認証画面が表示されます。有効なユーザ名、パスワードを入力し、ログインをクリックします。二段階認証が有効な場合は規定の手続きを実施してください。
図16. Salesforce Sales Cloudのログイン認証画面
ログインが有効であれば、ブラウザに接続要求の画面が表示されますので「許可」します。
SAP Open Connectorsの左メニューから「Instances」を選択すると、作成したインスタンスが確認する事ができます。
図17. 作成されたインスタンスの確認
図9の画面に戻り(もしくはSAP Datasphereの左メニューから「接続」を選択)、「ローカル接続」のタブをクリックし、「作成」をクリックします。
図18. 接続設定の作成
表示される接続タイプからOpen Connectorsのタイルをクリックします。下の図の様にフィルタ機能を使用して「open」と入力する事で該当の接続タイプを見つける事ができます。
図19. Open Connectors接続
接続プロパティ画面で、手順2で作成した Open Connectors インスタンス名を入力します。入力フィールドがプルダウンになっていますので、リストから選択する事が可能です。
図20. 接続プロパティの設定
「ビジネス名」と「技術名」を設定し、「接続を作成」をクリックします。
図21. 接続の名称設定
ローカル接続に、作成した接続設定がリストされます。このリストの左端にあるチェックボックスにマークを入れ、「チェック」ボタンをクリックします。
図22. 作成された接続と、接続確認
正しく設定されていれば下の画面のような接続の有効を示すメッセージが表示されます。このメッセージは自動的に消えますのでご注意ください。
図23. 接続の正常を確認
作成した接続を利用して、SAP DatasphereとSalesforce Sales Cloud のデータを連携するためには、データフローを使用し、データをSAP Datasphereに複製します。
左メニューの「データビルダ」をクリックし、「フロー」タブをクリックし、「新しいデータフロー」タイルをクリックします。
図24. データビルダを使用したデータフローの作成
左ペインの「ソース」タブをクリック、「接続」アイコンをクリックして展開し、手順3で作成した「接続名」を選択し、Salesforce Sales Cloudに含まれるオブジェクトを展開します。下の図の例では、検索フィールドに「salesforce」という接続名に含まれる文字列でフィルタして選択しやすくしています。
図25. 作成した接続の選択
「接続名」が展開されると、Salesforce Sales Cloudのオブジェクトがリストされます。この中から必要なオブジェクトを、検索フィールドを使うなどして特定してください。そのオブジェクトを選択し、中央のペインにドラッグ&ドロップします。このオブジェクトがデータの抽出元となります。
図26. 展開されたSalesforce Sales Cloudのオブジェクトのリスト
抽出元のデータを格納するターゲットテーブルをSAP Datasphereに作成するため、画面上メニューにある「Add Table」アイコンをクリックし、中央のペインにドラッグ & ドロップします。
図27. オブジェクトの選択と、そのデータを格納するターゲットテーブルの配置
ターゲットテーブル(まだSAP Datasphereの実体のテーブルは作成されていません)が配置されたら、ソースからターゲットのテーブルにルートを作成します(カーソルでドラッグ&ドロップ)。
図28. ソースオブジェクトとターゲットテーブルを関連付け
ターゲットテーブルをカーソルで選択し、右ペインに表示されるプロパティのビジネス名、技術名を任意に指定します。
図29. ターゲットテーブルの命名
プロパティ画面の右上にある「テーブルを作成して配置」をクリックします。これでSAP Datasphereにターゲットテーブルの実体が作成されます。
図30. ターゲットテーブルの実体を作成
メニューにある「保存」アイコンをクリックし、ここまで設定した定義を保存します。データフローの名前を任意に指定します。続いて「デプロイ」アイコンをクリックして、定義を実体化します。デプロイが完了すると「Successful」のメッセージが出力されます(自動的に消えますのでご注意ください)。
図31. データフローの保存とデプロイ
定義したデータフローを実行する事で、Salesforce Sales Cloud から取得したデータを、SAP Datasphereに格納する事ができます。メニューにある「実行」アイコンをクリックします。
図32. データフローの実行
「Completed」のメッセージを確認後、ターゲットテーブルを選択し、コンテキストメニューの「プレビュー」をクリックすると、下のペインに格納されたデータが表示されます。これでSAP DatasphereのローカルデータとしてSalesforce Sales Cloud のデータを取得することができました。
図33. SAP Datasphereに格納されたデータの確認
以上で、SAP DatasphereにSalesforce Sales Cloud のオブジェクトデータを取得することができました。定期的にデータを取得するにはデータフローのスケジュール機能が利用できますので、試してみて下さい。以降は、SAP Datasphere で分析モデルを作成し、SAP Analytics Cloudによる分析が可能になりますので、こちらのブログを参考にしてみてください。
本ブログの内容につきましては株式会社KYOSO様のご支援をいただきました。厚く御礼申し上げます。