DB2R SQLJ サポートにより、 SQLJ アプレットおよびアプリケーションのビルドと実行が可能になります。 DB2 SQLJ プロファイル・カスタマイザー db2sqljcustomize は SQLJ のコンポーネントの 1 つです。他の 2 つのコンポーネントは変換プログラムとランタイムです。
SQLJ アプリケーション開発の一部として、まず .sqlj ファイルに対して DB2 SQLJ 変換プログラムを実行して、ソース SQLJ プログラムを変換します。結果は、ソース SQLJ プログラム内の 組み込み SQL ステートメントに基づいた Java? コードと、 別個の直列化 SQLJ プロファイル (.ser ファイル) に作成された SQL ステートメントのバイナリー表記です。
次に、DB2 SQLJ プロファイル・カスタマイザーを実行してこの .ser ファイルを処理することができます。カスタマイザーは、DB2 固有の情報でプロファイルを拡大して、実行時に使用できるようにします。プロファイルがカスタマイズされると、プリコンパイル・コードを含む静的 SQL パッケージがデフォルトで作成されます。アプリケーションの実行中に検索されるのはこれらのパッケージです。この検索の結果、アプリケーションの実行が JDBC を使用する場合より高速になります。 JDBC を使用する場合は、コードを動的にコンパイルする必要があるため、時間が長くかかります。 -automaticbind no オプションを指定すれば、 パッケージの作成を後日に延ばすことができます。ただし、アプリケーションを実行するより前に作成しなければなりません。
要約すると、DB2 SQLJ プロファイル・カスタマイザーは、アプリケーションを変換した後、アプリケーションを実行する前に使用します。
DB2 SQLJ プロファイル・カスタマイザーと EJB デプロイメント
SQLJ を使用してデータ・アクセスのためにエンタープライズ Bean をデプロイするためには、まず EJB デプロイメント・ツールを実行する必要があります。ツールは、カスタマイズ・プロファイルを生成するために、DB2 SQLJ 変換プログラムを呼び出します。 EJB JAR ファイルごとに少なくとも 1 つのカスタマイズ・プロファイルがあります。その場所は、websphere_deploy ディレクトリーのサブディレクトリーの 1 つ (例えば、FS_TopDown1_SJProfile0.ser) です。
ここで、DB2 SQLJ プロファイル・カスタマイザーを実行することができます。カスタマイズ・ステップが容易になるように、-sqlj オプションを指定した ejbdeploy コマンドを EAR ファイルに対して実行すると、Ant スクリプトが生成されます。このスクリプトを使用して、 関連した EAR 内のすべての EJB JAR 内にあるすべてのカスタマイズ・プロファイルに対して DB2 SQLJ プロファイル・カスタマイザーを実行することができます。このスクリプトは、変更されたカスタマイズ・プロファイルを使用して各 EJB JAR ファイルを更新し、EAR の中の JAR ファイルを変更されたバージョンに置き換えます。この Ant スクリプトは対応する EAR ファイルに固有であり、既存 EAR ファイルを変更します。
カスタマー・ステップ (カスタマイズ・プロファイルに対する db2sqljcustomize の実行) により、分離レベルごとに 1 つずつ静的 SQL を含んだ 4 つのデータベース・パッケージが作成されます。さらに、カスタマイズ・ステップにより、生成済みカスタマイズ・プロファイルが更新されます。更新されたプロファイルは、実行時に生成済みコードに使用可能でなければなりません。 これらは WebSphereR Application Server にインストールされている実際の EJB JAR ファイルに組み込む必要があります。
カスタマイズ・ステップを実行しない場合、エンタープライズ Bean は実行されますが、データベースに保管されている静的 SQL が使用されないため、SQLJ のパフォーマンス上の利点が活用されません。
DB2 SQLJ プロファイル・カスタマイザーの実行について詳しくは、 DB2 文書を参照するか、 www7b.boulder.ibm.com/dmdd/zones/java/bigpicture.html (SQLJ support のセクション) にアクセスしてください。