Skip to Content
Technical Articles

SalesforceにあるカスタムオブジェクトをSAP HANA CloudへSDIで連携する方法

概要説明

Smart Data Integration(SDI)を使用して、SalesforceにあるカスタムオブジェクトをSAP HANA Clouldへデータ連携する検証作業を行いました。

このブログポストでは、SalesforceとSAP HANA CloudをSAP HANA Data Provisioning Agent (以下DPエージェント)で連携させるための設定方法について紹介します。

なお、Salesforceとの接続のために、ADVANTCO社製のアダプタを使用しました。
ここに、ADVANTCO社のご協力に深く感謝の意を表します。

ブログポストでは、以下のセクションに分けて方法を説明します。

  1. DPエージェントの導入とHANA接続設定
  2. Salesforce用アダプタのデプロイと登録
  3. SAP HANA Cloudのリモートソースの追加

前提

以下の環境が事前に構築されていることとします。

  1. Salesforce
  2. SAP HANA Cloud
  3. DPエージェントをインストールするためのOS(Linux/Windows)
    今回はWindows環境を使用しています。

それでは、進めていきましょう。

1.DPエージェントの導入とHANA接続設定

SAP HANA CloudのSAP Help Portalを参考にしてDPエージェントをインストールします。
前提に記載した通り、DPエージェントは、SAP HANA Cloudとは独立したOS上にインストールをします。

  1. DPエージェントからSAP HANA Cloudへ接続するためHANAユーザを作成します。SAP HANA Cockpitを開き、以下の権限を持つユーザを作成してください。
    System Privilege AGENT ADMIN, ADAPTER ADMIN
  2. Windows環境固有の問題で、DPエージェントインストール後にDDLの不足によって起動エラーが発生する場合があります。必要に応じてSAPNote 2959710に従ってDPエージェントをインストールするWindowsOSにx64 Visual C++ Redistributable Packageを事前にインストールしておきます。
  3. インストール完了後、コマンドプロンプトを開き、以下のコマンドからインストールパスに格納されているagentcli.batを起動し、DPAgent Configuration Toolを開きます。
    cd C:\usr\sap\dataprovagent\bin
    agentcli.bat --configAgent
  4. Option2(Start or Stop Agent)を選択後、続いて、Option1(Start)を選択して、エージェントを起動します。
    DPAgent%20Configration%20Tool
  5. 起動完了後、再度上記の画面に戻り、Option6(SAP HANA Connection)を選択し、
    続いて、Option1(Connect to SAP HANA Clod via JDBC)を選択します。
  6. 以下、接続に関するプロンプトに対して入力を行います。(環境や要件に応じて設定は適宜変更して下さい。)
    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を選択してください。
  7. 無事接続設定が完了したら、DPAgent Configuration Toolのトップ画面まで戻りOption7(Agent Registration)を選択し、続いてOption1 (Register Agent)を選択します。
  8. エージェントを任意の名前で登録します(ここでは’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社より入手可能です。

  1. ADVANTCO社製のSalesforceアダプタ(jarファイル)を入手し、DPエージェントのインストールされたサーバへアップロードします。
  2. 手順1.3と同様にして、DPAgent Configuration Toolを開きます。
  3. Option9(Custom Adapters)を選択し、続いてOption2(Deploy Custom Adapter)を選択します。
  4. 手順2.1でアップロードしたアダプタ(jarファイル)を絶対パスで指定します。
  5. 無事アダプタのデプロイが完了したら、DPAgent Configuration Toolのトップ画面まで戻り、Option8(Adapter Registration)を選択し、続いてOption2 (Register Adapter)を選択します。
  6. adapter nameに’AdvantcoSFDCAdapter’と入力します。
  7. コマンドプロンプトから以下のコマンドを実行し、DPAgent Adapters Configuration Toolを開きます。
    これまで操作を行ってきたDPAgent Adapters Configuration Toolとは、batファイル実行時のパラメータが異なりますので、注意してください。

    cd C:\usr\sap\dataprovagent\bin
    agentcli.bat --configAdapters​
  8. Option2(Set Adapter Preferences)を選択し、続いてOption28(Set AdvantcoSFDCAdapter preferences)を選択します。
  9. ライセンスキーをコピー&ペーストで入力します。
  10. オプションで、監視用のHANAユーザ名とパスワードを入力します。
    このユーザ設定は、データのリアルタイム連携(Real-time change data capture(CDC))を行う場合においては必須となります。このBlogではその設定手順については割愛します。

ここまでの作業で、アダプタのデプロイおよび登録が完了しました。

3.SAP HANA Cloudのリモートソースの追加

最後のセクションでは、いよいよSAP HANA Cloud上でリモートソースとしてSalesforceを登録し、Salesforce上のデータをSAP HANA Cloudで表示させるところまでを説明します。

  1. HANA Database Explorerを開き、Remote Sourceを右クリックし、Add Remote Souceをクリックします。
  2. 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から初期接続を行う際の応答待ち時間(秒)
  3. リモートソースの設定が成功すると、HANA Cockpit上でリモートオブジェクトを見ることができるようになります。
  4. リモートオブジェクトを直接HANA上でテーブルとして取り扱うことはできないため、リモートオブジェクトを仮想テーブル(VIRTUAL TABLE)として定義します。
  5. 定義した仮想テーブルに対して、SELECTクエリを実行してください。SAP HANA Cloud上で Salesforceのカスタムオブジェクトを参照できることが確認できます。

以上でSalesforceのカスタムオブジェクトへの接続作業は一通り終了です。お疲れ様でした!

おわりに

最後までお読みいただいてありがとうございます。

このBlogではSalesforceのカスタムオブジェクトとSAP HANA Cloudとの連携設定を紹介しました。
ADVANTCO社のガイドによれば、追加で設定を行うことでSalesforceからのリアルタイム連携も実現できるようです。

SalesforceとSAP HANA Cloudとのデータ連携に興味のある方のお役に立てたのであれば幸いです。

2 Comments
You must be Logged on to comment or reply to a post.
  • ブログでユースケース紹介をしていただきありがとうございます!

    ADVANTCO社製のSalesforceアダプタ(jarファイル)はどのように入手できますか?
    ネットで購入・ダウンロード可能ですか?

     

    • コメントありがとうございます!

      今回の検証では、ADVANTCO社から直接アダプタを提供していただきました。

      コミュニティのルールに抵触するので、入手方法の詳細については差し控えますが、
      ドライバを入手するには、ADVANTCO社WebサイトやSAP Storeでコンタクトを取っていただく方法があると思います。

       

      よろしくお願いいたします。