Webアプリケーションに対するOracleキャッシング・サポートについて

このトピックでは、次の情報を提供します。

Oracle Application ServerとJSPのキャッシング機能

Oracle Application ServerとOC4Jには、次のキャッシング機能があります。

JSP Web Object Cacheのロール

Webアプリケーション全体の設定におけるOC4J Web Object Cacheのロールを理解していることが重要です。このキャッシュは、Javaレベルで機能し、サーブレットとJSPアプリケーションのHTTP環境と緊密に統合されています。一方、Oracle9i Application Server Java Object Cacheは、Javaオブジェクト・レベルで機能しますが、HTTPとは統合されていません。OracleAS Web Cacheの場合は、HTTPと適切に統合され、Web Object Cacheと比べて一段と高速です。ただし、Javaレベルでは動作しません。たとえば、このキャッシュでは、スタイルシートをJ2EEコンテナにあるキャッシュ内のDOMオブジェクトに適用したり、他のプロトコルにあるキャッシュ内の結果を再利用したりすることはできません。

Web Object Cacheは、アプリケーションの主要なWebキャッシュとしては使用しません。サーブレットやJSPページを実行するJava Virtual Machine内に埋め込まれた補助的なキャッシュです。Web Object Cacheのキャッシュ結果に対する検索パスには、JVM、JSPおよびサーブレットの各エンジンが含まれているため、通常は、OracleAS Web Cacheと比べると、Web Object Cacheからのページの対応に時間がかかります。

Web Object Cacheは、OracleAS Web CacheやOracle Application Server Java Object Cacheの必要性を否定したり、排除するものではありません。あくまでもWebアプリケーションの全体的フレームワークにおける補足的なキャッシング・コンポーネントであり、必要に応じて、他のキャッシング製品とともに使用する必要があります。実際に、Web Object Cacheでは、Java Object Cacheをそのデフォルトのリポジトリとして使用しています。また、OC4J JESIタグとWeb Object Cacheタグを組み合せて使用することによって、Web Object CacheとOracleAS Web Cacheを同一ページで使用できます。

Web Object CacheとOracleAS Web Cacheの比較

OracleAS Web Cacheは、プライマリ・キャッシング・コンポーネントと考えてください。キャッシュ内のページをHTTPクライアントに直接供給し、大量のHTTP通信量を迅速に処理でき、ほとんどのWebサイトの要件に適応しています。OracleAS Web Cacheを使用すると、Webページの全体または一部を(JESIタグを使用して)格納できます。キャッシュ内のページは、クライアントへの送信前に、ある程度カスタマイズできます。たとえば、Cookie置換やページ・フラグメントの連結などが対象となります。

OracleAS Web Cacheをできるだけ多用して、Webアプリケーション・サーバーやバックエンド・データベースへのロードを軽減することをお薦めします。大部分のWebページのキャッシング・ニーズに対しても、OracleAS Web Cacheのみで対処できます。

OracleAS Web Cacheの補完としてWeb Object Cacheを使用すると、JSPおよびサーブレットの実行の中間結果を取得し、後でこのキャッシュ結果をJavaアプリケーション・ロジックの他の部分で再利用できます。キャッシュ時とクライアントへの供給時の間にキャッシュ内のオブジェクトに対して大量の後処理を実行しない場合は、WebアプリケーションでWeb Object Cacheを使用するメリットがありません。

Web Object CacheとOracle Application Server Java Object Cacheの比較

Web Object Cacheでは、Oracle Application Server Java Object Cacheと比べると、動的Web ページでの実行結果の一部を格納およびメンテナンスする作業がはるかに容易になります。Java Object Cacheは、一般的なJavaアプリケーションにとって純粋なオブジェクト・ベースのフレームワークであるため、どのHTTP環境でも埋込みが可能です。たとえば、このキャッシュは、HTTPのCookieまたはセッションに直接依存していません。Java Object CacheをWebアプリケーション内で直接使用する場合に必要なすべてのインタフェースは、開発者の責任で行います。Java Object Cacheには、メンテナンス・ポリシーを宣言して指定する手段が含まれていません。

JESIタグ・ライブラリのサマリー

OC4Jでは、JESIタグ・ライブラリを、ESIタグとWebキャッシングに関するEdge Side Includes機能への便利なインタフェースとして提供しています。開発者は、WebアプリケーションでESIタグを直接使用できますが、JESIタグは、JSP環境で使用したほうがはるかに便利です。

Web Object Cacheタグ・ライブラリのサマリー

OC4J Web Object Cacheは、Javaで記述されたWebアプリケーションが、JSPやサーブレットなどの動的Webページが生成した部分的な結果と中間結果を取得、格納、再利用、後処理およびメンテナンスできるようにする機能です。プログラミング・インタフェースについては、タグ・ライブラリ(JSPページでの使用)とJava API(サーブレットでの使用)を備えています。