CData Sync CLI で SAP Ariba Procurement のデータ を複数のデータベースにレプリケーションする方法

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
1つの設定ファイルでSAP Ariba Procurement のデータを複数の異なるデータベースにレプリケーションする方法をご紹介します。

常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync for SAP Ariba Procurement を使えば、ミラーリングデータベース、常時稼働のクラウドデータベース、レポーティングサーバーなど、さまざまなデータベースにSAP Ariba Procurement のデータをリアルタイム連携できます。Windows やJava が動作するあらゆるマシンから、リモートのSAP Ariba Procurement のデータとの自動同期が可能です。

Sync のコマンドラインインターフェース(CLI)を使えば、レプリケーションのほぼすべての設定を簡単に制御できます。設定を変更することなく、SAP Ariba Procurement のデータ を1つまたは複数のデータベースにレプリケーションすることが可能です。

SAP Ariba Procurement のデータ に接続する

接続文字列やメール通知などの設定は、XML 設定ファイルに保存できます。

以下は、SQLite へレプリケーションする場合の設定例です。

Windows

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>System.Data.SQLite</DatabaseProvider>
  <ConnectionString>ANID=AN02000000280;API=PurchaseOrdersBuyerAPI-V1;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;AuthScheme=OAuthClient;</ConnectionString>
  <ReplicateAll>False</ReplicateAll>
  <NotificationUserName></NotificationUserName>
  <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
  <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
  <TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType><DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
<ConnectionString>ANID=AN02000000280;API=PurchaseOrdersBuyerAPI-V1;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;AuthScheme=OAuthClient;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>

それでは、SAP Ariba Procurement に接続していきましょう。接続するには、以下のプロパティを設定します。

  • ANID:Ariba Network ID
  • API:CData 製品にSAP Ariba データを取得させたいAPI を指定してください。ビジネスロールに基づき、Buyer またはSupplier API を選択します(可能な値は、PurchaseOrdersBuyerAPIV1、または PurchaseOrdersSupplierAPIV1 です)
  • Environment:接続先がテスト環境か本番環境かを指定してください(可能な値は、TEST またはPRODUCTION です)

OAuth 認証

続いて、接続プロパティを設定した後、認証のためにOAuth 接続を設定する必要があります。

  • AuthScheme をOAuthClient に設定します
  • サービスにアプリケーションを登録し、APIKeyOAuthClientId、およびOAuthClientSecret を取得する必要があります

OAuth アプリケーションの作成について、詳しくはヘルプドキュメントをご確認ください。

OAuth の自動リフレッシュ

以下のプロパティを設定して、接続してみましょう。

  • APIKey:アプリケーション設定のApplication key
  • OAuthClientId:アプリケーション設定のOAuth Client Id
  • OAuthClientSecret:アプリケーション設定のOAuth Secret

接続すると、CData 製品が自動でOAuth プロセスを完了します。

  1. CData 製品がSAP Ariba からアクセストークンを取得し、それを使ってデータをリクエストします
  2. CData 製品がアクセストークンの期限が切れると自動的にリフレッシュします
  3. OAuth 値はOAuthSettingsLocation で指定された場所に基づいてメモリに保存されます

レプリケーションクエリの設定

Sync では、標準 SQL を使ってレプリケーションを制御できます。REPLICATE 文は、データベース内のテーブルをキャッシュして維持するための高レベルコマンドです。 SAP Ariba Procurement API がサポートする任意の SELECT クエリを定義できます。 以下の文は、SAP Ariba Procurement のデータ のテーブルをキャッシュし、差分更新を行います:

REPLICATE Orders;

レプリケーションクエリを含むファイルを指定することもできます。これにより、同じレプリケーションクエリを使って複数のデータベースへレプリケーションできます。

Sync を実行する

接続文字列とレプリケーションクエリを設定したら、以下のコマンドラインオプションで Sync を実行できます:

Windows

SAPAribaProcurementSync.exe -g MySQLiteConfig.xml -f SAPAribaProcurementSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar SAPAribaProcurementSync.jar -g MySQLiteConfig.xml -f SAPAribaProcurementSync.sql

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData Sync お問い合わせ