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

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

CData JDBC Driver for SAP Ariba Procurement は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から SAP Ariba Procurement のデータ に効率的に接続する方法を説明します。Jetty で SAP Ariba Procurement 用の 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 Procurement データソースを宣言しています。

    
    <Configure id='saparibaprocurementdemo' class="org.eclipse.jetty.webapp.WebAppContext">
        <New id="saparibaprocurementdemo" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg><Ref refid="saparibaprocurementdemo"/></Arg>
        <Arg>jdbc/saparibaprocurementdb</Arg>
        <Arg>
          <New class="cdata.jdbc.saparibaprocurement.SAPAribaProcurementDriver">
            <Set name="url">jdbc:saparibaprocurement:</Set>
            <Set name="ANID">AN02000000280</Set>
            <Set name="API">PurchaseOrdersBuyerAPI-V1</Set>
            <Set name="APIKey">wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU</Set>
            <Set name="AuthScheme">OAuthClient</Set>
          </New>
        </Arg>
      </New>
    </Configure>
    

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

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

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

Jetty 統合の詳細

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

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

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

 ダウンロード

詳細:

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

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