JDBI からJD Edwards データのデータアクセスオブジェクトを作成

加藤龍彦
加藤龍彦
デジタルマーケティング
JDBI でJD Edwards のデータ 用のSQL オブジェクトAPIを作成する方法を概説します。

JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for JDEdwards は、Java アプリケーションとリアルタイムJD Edwards のデータ のデータ連携を実現します。これらの技術を組み合わせることによって、JD Edwards のデータ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するJD Edwards のデータ の読み書きのためのコードの作成について説明します。

JD Edwards AccountsPayable.AccountLedger Entity のDAO を作成

以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。


public interface MyAccountsPayable.AccountLedgerDAO {
  //request specific data from JD Edwards (String type is used for simplicity)
  @SqlQuery("SELECT Amount FROM AccountsPayable.AccountLedger WHERE BusinessUnit = :businessUnit")
  String findAmountByBusinessUnit(@Bind("businessUnit") String businessUnit);

  /*
   * close with no args is used to close the connection
   */
  void close();
}

JD Edwards への接続を開く

必要な接続プロパティを収集し、JD Edwards に接続するための適切なJDBC URL を作成します。

ドライバーは 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 に送信してセッショントークンを取得し、キャッシュします。セッションの有効期限が切れる前に、新しいトークンが自動でリクエストされます。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、JD Edwards JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。


java -jar cdata.jdbc.jdedwards.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

JD Edwards の接続文字列は、通常次のようになります。

jdbc:jdedwards:URL=https://your-jde-environment-app.example.com;User=admin;Password=myPassword;

構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。


DBI dbi = new DBI("jdbc:jdedwards:URL=https://your-jde-environment-app.example.com;User=admin;Password=myPassword;");
MyAccountsPayable.AccountLedgerDAO dao = dbi.open(MyAccountsPayable.AccountLedgerDAO.class);

//do stuff with the DAO

dao.close();

JD Edwards データについて

JD Edwards への接続を開いた状態で以前定義したメソッドを呼び出すだけで、JD Edwards のAccountsPayable.AccountLedger エンティティからデータを取得できます。


//disply the result of our 'find' method
String amount = dao.findAmountByBusinessUnit("100");
System.out.println(amount);

JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for JDEdwards と統合することで、SQL Object API for JDEdwards を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムJD Edwards を操作しましょう。

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

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

 ダウンロード

詳細:

JD Edwards Icon JD Edwards JDBC Driver

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