Jetty の接続プールから JD Edwards のデータ に接続

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



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

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

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

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

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

    
    
    <Configure id='jdedwardsdemo' class="org.eclipse.jetty.webapp.WebAppContext">
        <New id="jdedwardsdemo" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg><Ref refid="jdedwardsdemo"/></Arg>
        <Arg>jdbc/jdedwardsdb</Arg>
        <Arg>
          <New class="cdata.jdbc.jdedwards.JDEdwardsDriver">
            <Set name="url">jdbc:jdedwards:</Set>
            <Set name="URL">https://your-jde-environment-app.example.com</Set>
            <Set name="User">admin</Set>
            <Set name="Password">myPassword</Set>
          </New>
        </Arg>
      </New>
    </Configure>
    

    ドライバーは Application Interface Services(AIS)Server を経由して JD Edwards に接続します。以下の接続プロパティを設定します。

    • URL:AIS Server のベース HTTPS URL(例:https://jde-ais.example.com:8300)。
    • User:JD Edwards のユーザー名。
    • Password:JD Edwards のパスワード。
    • Environment(オプション):使用する JD Edwards の環境(例:本番環境なら PD920、開発環境なら DV920)。指定しない場合は、AIS Server のデフォルト環境が使用されます。
    • Role(オプション):セッションで使用する JD Edwards のロール。指定しない場合は、AIS Server のデフォルトロールが使用されます。
    • DeviceName(オプション):接続元のデバイスまたはアプリケーションの識別子。AIS Server での監査やログ記録に使用されます。
    • Jasserver(オプション):リクエストのルーティング先となる Java Application Server(JAS)インスタンス。クラスタ環境で便利です。

    公開するデータの選択

    JD Edwards ではテーブルとビジネスビューが System Code ごとに整理されており、ドライバーは各 System Code をそれぞれ個別のスキーマとして公開します。利用できるスキーマは、以下のプロパティで制御できます。

    • DataModel:System Code をスキーマとして公開する ERP モジュール(カンマ区切りで複数指定可)。接続先インスタンスのすべての System Code を公開する場合は All を指定します。デフォルトは FinancialManagement です。
    • SystemCodes:DataModel の System Code に加えて公開したい System Code のカンマ区切りリスト(例:42,43)。

    接続時、ドライバーは認証情報を AIS Server に送信してセッショントークンを取得し、キャッシュします。セッションの有効期限が切れる前に、新しいトークンが自動でリクエストされます。

  4. Web.xml でリソースを設定します。

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

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

Jetty 統合の詳細

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

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

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

 ダウンロード

詳細:

JD Edwards Icon JD Edwards JDBC Driver

JD Edwards 連携のパワフルなJava/J2EE アプリケーションを素早く作成して配布。