概要説明
Smart Data Integration(SDI)を使用して、SalesforceにあるカスタムオブジェクトをSAP HANA Clouldへデータ連携する検証作業を行いました。
このブログポストでは、SalesforceとSAP HANA CloudをSAP HANA Data Provisioning Agent (以下DPエージェント)で連携させるための設定方法について紹介します。
なお、Salesforceとの接続のために、ADVANTCO社製のアダプタを使用しました。
ここに、ADVANTCO社のご協力に深く感謝の意を表します。
ブログポストでは、以下のセクションに分けて方法を説明します。
- DPエージェントの導入とHANA接続設定
- Salesforce用アダプタのデプロイと登録
- SAP HANA Cloudのリモートソースの追加
前提
以下の環境が事前に構築されていることとします。
- Salesforce
- SAP HANA Cloud
- DPエージェントをインストールするためのOS(Linux/Windows)
今回はWindows環境を使用しています。
それでは、進めていきましょう。
1.DPエージェントの導入とHANA接続設定
SAP HANA Cloudの
SAP Help Portalを参考にしてDPエージェントをインストールします。
前提に記載した通り、DPエージェントは、SAP HANA Cloudとは独立したOS上にインストールをします。
- DPエージェントからSAP HANA Cloudへ接続するためHANAユーザを作成します。SAP HANA Cockpitを開き、以下の権限を持つユーザを作成してください。
System Privilege |
AGENT ADMIN, ADAPTER ADMIN |
- Windows環境固有の問題で、DPエージェントインストール後にDDLの不足によって起動エラーが発生する場合があります。必要に応じてSAPNote 2959710に従ってDPエージェントをインストールするWindowsOSにx64 Visual C++ Redistributable Packageを事前にインストールしておきます。
- インストール完了後、コマンドプロンプトを開き、以下のコマンドからインストールパスに格納されているagentcli.batを起動し、DPAgent Configuration Toolを開きます。
cd C:\usr\sap\dataprovagent\bin
agentcli.bat --configAgent
- Option2(Start or Stop Agent)を選択後、続いて、Option1(Start)を選択して、エージェントを起動します。
- 起動完了後、再度上記の画面に戻り、Option6(SAP HANA Connection)を選択し、
続いて、Option1(Connect to SAP HANA Clod via JDBC)を選択します。
- 以下、接続に関するプロンプトに対して入力を行います。(環境や要件に応じて設定は適宜変更して下さい。)
Use encrypted JDBC connection |
true |
Host Name |
HANAインスタンスのEndpointのホスト名
※SAP HANA Platform Cockpitから確認できます |
Port Number |
HANAインスタンスのEndpointのポート番号
※SAP HANA Platform Cockpitから確認できます |
Agent Admin HANA User |
手順1.で作成したHANAユーザ名 |
Agent Admin HANA User Password |
手順1.で作成したHANAユーザのパスワード |
Use Proxy Server |
false |
HANA User Name for Agent Messaging |
(新規登録の場合)任意のユーザ名
(既存アカウントを利用する場合)使用するユーザ名 |
HANA User Password for Agent Messaging |
(新規登録の場合)任意のパスワード
(既存アカウントを利用する場合)上記ユーザのパスワード |
Do you want to create a new SAP HANA user ... |
true
Agentとのコミュニケーション用のアカウントを新規登録する場合はtrueを選択します。
既存アカウントを利用する場合はfalseを選択してください。 |
- 無事接続設定が完了したら、DPAgent Configuration Toolのトップ画面まで戻りOption7(Agent Registration)を選択し、続いてOption1 (Register Agent)を選択します。
- エージェントを任意の名前で登録します(ここでは'dpagent_172'としています)。
このエージェント名はライセンスキーの登録の際に必要となるため、控えておきます。
これで、DPエージェントの登録と、SAP HANA Cloudへの接続設定が完了です。
このセクションの作業でDPエージェントとSAP HANA CloudとのJDBC接続を確立することができました。
次のセクションでは、DPエージェント上にSalesforce用アダプタを登録して、SAP HANA Cloudがアダプタを介してSalesforce
に接続できるようにします。
2.Salesforce用アダプタのデプロイと登録
ADVANTCO社製アダプタのデプロイと登録を行います。
今回は接続検証のために直接ADCANCO社からトライアル版のアダプタとライセンスキーを提供いただいています。
このセクションの詳細な手順はADVANTCO社のAdvantcoSFDCAdapter InstallationGuideをもとに実施します。ガイドはアダプタと併せてADVANTCO社より入手可能です。
- ADVANTCO社製のSalesforceアダプタ(jarファイル)を入手し、DPエージェントのインストールされたサーバへアップロードします。
- 手順1.3と同様にして、DPAgent Configuration Toolを開きます。
- Option9(Custom Adapters)を選択し、続いてOption2(Deploy Custom Adapter)を選択します。
- 手順2.1でアップロードしたアダプタ(jarファイル)を絶対パスで指定します。
- 無事アダプタのデプロイが完了したら、DPAgent Configuration Toolのトップ画面まで戻り、Option8(Adapter Registration)を選択し、続いてOption2 (Register Adapter)を選択します。
- adapter nameに’AdvantcoSFDCAdapter’と入力します。
- コマンドプロンプトから以下のコマンドを実行し、DPAgent Adapters Configuration Toolを開きます。
これまで操作を行ってきたDPAgent Adapters Configuration Toolとは、batファイル実行時のパラメータが異なりますので、注意してください。
cd C:\usr\sap\dataprovagent\bin
agentcli.bat --configAdapters
- Option2(Set Adapter Preferences)を選択し、続いてOption28(Set AdvantcoSFDCAdapter preferences)を選択します。
- ライセンスキーをコピー&ペーストで入力します。
- オプションで、監視用のHANAユーザ名とパスワードを入力します。
このユーザ設定は、データのリアルタイム連携(Real-time change data capture(CDC))を行う場合においては必須となります。このBlogではその設定手順については割愛します。
ここまでの作業で、アダプタのデプロイおよび登録が完了しました。
3.SAP HANA Cloudのリモートソースの追加
最後のセクションでは、いよいよSAP HANA Cloud上でリモートソースとしてSalesforceを登録し、Salesforce上のデータをSAP HANA Cloudで表示させるところまでを説明します。
- HANA Database Explorerを開き、Remote Sourceを右クリックし、Add Remote Souceをクリックします。
- Salesforceへ接続するための接続情報を入力します。
パラメータは多岐にわたりますが、ここでは主要なものに絞って記載します。
Source Name |
HANA上でのSalesforceのリモートリソース名
※任意の名前を入力します |
Adapter Name |
AdvantcoSFDCAdapter |
Source Location |
手順1.8で登録したDPエージェント名 |
Login Authentication Endpoint |
認証要求を送るためのSalesforceのログインサーバ |
User Name |
SalesforceのユーザID |
Password |
上記IDのパスワード |
Security Token |
SalesforceのAPIを利用する際に必要となるトークン
※Salesforceの管理画面より発行をするか、Salesforceのアプリケーション管理者へ発行の依頼をして入手してください。 |
Read Timeout |
アダプタがSalesforceからデータを読み取る際の応答待ち時間(秒) |
Connection Timeout |
アダプタがSalesforceから初期接続を行う際の応答待ち時間(秒) |
- リモートソースの設定が成功すると、HANA Cockpit上でリモートオブジェクトを見ることができるようになります。
- リモートオブジェクトを直接HANA上でテーブルとして取り扱うことはできないため、リモートオブジェクトを仮想テーブル(VIRTUAL TABLE)として定義します。
- 定義した仮想テーブルに対して、SELECTクエリを実行してください。SAP HANA Cloud上で Salesforceのカスタムオブジェクトを参照できることが確認できます。
以上でSalesforceのカスタムオブジェクトへの接続作業は一通り終了です。お疲れ様でした!
おわりに
最後までお読みいただいてありがとうございます。
このBlogではSalesforceのカスタムオブジェクトとSAP HANA Cloudとの連携設定を紹介しました。
ADVANTCO社のガイドによれば、追加で設定を行うことでSalesforceからのリアルタイム連携も実現できるようです。
SalesforceとSAP HANA Cloudとのデータ連携に興味のある方のお役に立てたのであれば幸いです。