PL/extJavaは、データベースサーバ内にアプリケーションサーバを組み込み、Java Virtual Machine(JavaVM)を制御するフレームワークです。
クライアントがデータベースサーバに対して、頻繁にSQLアクセスする業務では、クライアントとデータベースサーバとの間のネットワークトラフィックが増加するため、該当業務のレスポンスが低下するだけでなく、他の業務システムもレスポンスが低下します。
これらの業務処理時間を改善するには、クライアント側の業務ロジックをストアドファンクションとして、データベースサーバ上で処理させることでネットワークトラフィックを軽減できますが、多くのクライアントが同時アクセスする運用形態の場合、データベースサーバ側でJavaVMを実行すると、JavaVMの多重制御やメモリ資源の考慮が必要となります。
本機能は、上記のように、多くのクライアントが同時アクセスする運用形態の場合でも、アプリケーションサーバでJavaVMの多重制御やメモリ資源を制御することで効率的にストアドファンクションを実行できます。
図7.1 PL/extJavaの概要
ポイント
本章では、データベースに登録したPL/extJavaのストアドファンクションを「Java関数」と呼びます。また、JavaVM上で動作するアプリケーションを「Javaアプリケーション」と呼びます。
注意
「Java関数」は、クライアントとデータベースサーバ間のコネクションと異なるコネクションで動作します。このため、「Java関数」に移行する業務はトランザクション単位で運用する必要があります。
PL/extJavaを使用するデータベースは、データベース名を28バイト以下にする必要があります。また、アプリケーションサーバからデータベースに接続するためのロール名は8バイト以下にする必要があります。