Jetty の接続プールから SAP Ariba Source のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
SAP Ariba Source JDBC Driver は接続プールをサポートしています。この記事では、Jetty の Web アプリから SAP Ariba Source のデータ に高速に接続する方法を説明します。

CData JDBC Driver for SAP Ariba Source は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から SAP Ariba Source のデータ に効率的に接続する方法を説明します。Jetty で SAP Ariba Source 用の JNDI リソースを設定していきましょう。

Salesforce 用の JDBC Driver を JNDI データソースとして設定

以下のステップで Jetty から Salesforce に接続します。

  1. Jetty ベースで JNDI モジュールを有効にします。次のコマンドは、コマンドラインから JNDI を有効にします。

    java -jar ../start.jar --add-to-startd=jndi
    
  2. インストールディレクトリの lib サブフォルダにある CData およびライセンスファイルを、コンテキストパスの lib サブフォルダに追加します。
  3. リソースとそのスコープを宣言します。リソース宣言に必要な接続プロパティを入力します。次の例では、WEB-INF\jetty-env.xml に Web アプリレベルで SAP Ariba Source データソースを宣言しています。

    
    <Configure id='saparibasourcedemo' class="org.eclipse.jetty.webapp.WebAppContext">
        <New id="saparibasourcedemo" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg><Ref refid="saparibasourcedemo"/></Arg>
        <Arg>jdbc/saparibasourcedb</Arg>
        <Arg>
          <New class="cdata.jdbc.saparibasource.SAPAribaSourceDriver">
            <Set name="url">jdbc:saparibasource:</Set>
            <Set name="API">SupplierDataAPIWithPagination-V4</Set>
            <Set name="APIKey">wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU</Set>
            <Set name="Environment">SANDBOX</Set>
            <Set name="Realm">testRealm</Set>
            <Set name="AuthScheme">OAuthClient</Set>
          </New>
        </Arg>
      </New>
    </Configure>
    

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

    • API:CData 製品にSAP Ariba データを取得させたいAPI を指定してください。ビジネスロールに基づき、Supplier、Sourcing Project Management、またはContract API を選択します(可能な値は、SupplierDataAPIWithPaginationV4、SourcingProjectManagementAPIV2、または ContractAPIV1 です)
    • DataCenter:アカウントのデータがホストされているデータセンター
    • Realm:アクセスしたいサイト名
    • Environment:テスト環境、または本番環境のいずれかを指定してください。(可能な値は、TEST またはPRODUCTION)

    Supplier Data API またはContract API に接続する場合は、さらに以下のプロパティも設定してください。

    • User:API 呼び出しを行うユーザーのId
    • PasswordAdapter:認証するUser に関連付けられたパスワード

    Supplier API に接続している場合は、ProjectId をデータを取得したいソーシングプロジェクトのId に設定してください。

    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 で指定された場所に基づいてメモリに保存されます
  4. Web.xml でリソースを設定します。

    
      jdbc/saparibasourcedb
      javax.sql.DataSource
      Container
    
    
  5. これで、java:comp/env/jdbc/saparibasourcedb をルックアップして SAP Ariba Source にアクセスできます。

    InitialContext ctx = new InitialContext();
    DataSource mysaparibasource = (DataSource)ctx.lookup("java:comp/env/jdbc/saparibasourcedb");
    

Jetty 統合の詳細

上記のステップでは、シンプルな接続プールのシナリオでドライバーを設定する方法を説明しました。その他のユースケースや詳細については、Jetty ドキュメントのWorking with Jetty JNDI の章を参照してください。

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

SAP Ariba Source Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP Ariba Source Icon SAP Ariba Source JDBC Driver お問い合わせ

SAP Ariba Source データと連携するパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。