実稼働環境での SQL ステートメントのキャプチャーをサポートするために、pureQuery 対応アプリケーションと分かれているファイル・システムまたはデータベース内のリポジトリーに pureQuery 構成情報を保管するように、pureQuery クライアント最適化を使用するアプリケーションを構成できます。pureQuery Runtime は、絶えず SQL データをキャプチャーし、キャプチャーした SQL を指定したロケーションに保管します。データベース管理者は、そのロケーションからキャプチャーした SQL データを取り出し、pureQuery Merge、Configure、および StaticBinder ユーティリティーを使用して、アプリケーションを再始動することなく SQL を更新して、トランザクション・データベース上で静的に実行されるようにします。
次の図は、実働 WebSphere® Application Server 環境での継続プロセスのある時点における描写を示しています。
この図では、個々のアプリケーション・インスタンスが pureQuery クライアント最適化に対応しており、静的に SQL ステートメントを実行しています。 個々のアプリケーションは、pureQuery プロパティーおよび pureQueryXML データを取得するために、トランザクション・データベースと分かれたデータベースのリポジトリーを使用しています。リポジトリーには、pureQuery Runtime によってキャプチャーされた SQL データも保管されます。スクリプトは、キャプチャーした SQL データと pureQuery Runtime によって使用される pureQueryXML データを取り出し、キャプチャーした SQL を pureQueryXML データとマージし、DB2® パッケージを更新して SQL を静的に実行し、pureQueryXML データをリポジトリーに保管します。pureQuery 情報および DB2 パッケージを更新するのに、アプリケーション・インスタンスを再始動する必要はなく、データベース管理者はスクリプトを実行するタイミングをコントロールできます。
例えば、pureQuery クライアント最適化に対応した既存の実動 Web アプリケーションを、それが発行する SQL ステートメントに影響を与える変更内容で更新すると仮定します。キャプチャー・モードで実行するように pureQuery クライアント最適化を構成すると、アプリケーションは pureQueryXML ファイルにある SQL ステートメントを静的に実行します。同時に、アプリケーションの新規 SQL ステートメントは動的に実行され、pureQuery Runtime によってキャプチャーされてリポジトリーに保管されます。更新済みのアプリケーションからキャプチャーした SQL データには、実行カウントや最後に使用された日付、新規スタック・トレース、特殊レジスター情報、バッチ処理についての情報などのメタデータおよび統計が含まれています (それらの情報に変更があった場合)。
pureQuery Merge ユーティリティーを使用して、新しくキャプチャーした SQL データを処理し、それを pureQuery Runtime によって使用される pureQueryXML ファイル内の既存ステートメントに適用できます。Merge ユーティリティーを使用して、長期間実行されなかったステートメントを削除することもできます。
データベース管理者は、キャプチャーした SQL データをリポジトリーから取り出し、Merge ユーティリティーを実行してデータを、Web アプリケーションで pureQuery Runtime によって使用される pureQueryXML ファイルとマージし、更新した pureQueryXML ファイルを構成し、バインドしてからリポジトリーにアップロードできます。