...

Oracle9iAS キャッシュ・ソリューション

by user

on
Category: Documents
20

views

Report

Comments

Transcript

Oracle9iAS キャッシュ・ソリューション
Oracle9iAS キャッシュ・ソリュー
ション
オラクル・テクニカル・ホワイト・ペーパー
2002 年 9 月
Oracle9iAS キャッシュ・ソリューション
概要................................................................................................................................ 3
キャッシュの実行........................................................................................................ 3
「キャッシュを認識する」Web アプリケーションの構築 .................................... 3
はじめに........................................................................................................................ 5
キャッシュ・ソリューションの概要 ........................................................................ 6
ブラウザ・キャッシング............................................................................................ 7
プロキシ・キャッシング............................................................................................ 7
コンテンツ配信ネットワーク・サービス ................................................................ 7
サーバー・アクセラレータ........................................................................................ 8
発展するアプリケーション・サーバー .................................................................... 9
Oracle9iAS Web Cache.................................................................................................. 9
Edge Side Includes for Java(JESI).......................................................................... 10
JESI タグ・ライブラリ ............................................................................................. 10
JESI タグ・ライブラリの使用 ..................................................................................11
アプリケーション・レベル・キャッシング .......................................................... 14
Java Object Cache ........................................................................................................ 14
Web Object Cache........................................................................................................ 14
Web オブジェクト・キャッシュ・タグ・ライブラリ .......................................... 15
Oracle9iAS Web キャッシュと Java レベル Web オブジェクト・キャッシュ .... 16
キャッシュ使用可能 Web アプリケーションの配布 ............................................. 17
結論.............................................................................................................................. 19
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
2
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
Oracle9iAS キャッシュ・ソリューション
概要
同時に多くのユーザーを扱う Web サイトに対しては、スピードとスケーラビリティの厳しい要求があります。Web アプリ
ケーションは、レスポンス・タイムを低下することなく、世界中からアクセスができなければなりません。Web アプリケー
ションの速度を早め、スケーラビリティを増大させるためには、キャッシングは有効な手段です。また、Web サイトでは、
特定のユーザー・グループや個人向けのカスタマイズとともに、コンテンツが高度に動的であることが求められます。動的
なコンテンツの生成は、同じ静的コンテンツを繰り返し使用する従来のキャッシュ・テクノロジーとは根本的に異なります。
この難しい問題を解決する、Oracle9iApplication Server(Oracle9iAS)を使用した革新的なキャッシュ・ソリューションにつ
いて説明します。基本的に、ソリューションには 2 つの目標があります。
•
要件に合うキャッシュを使うこと。
•
キャッシュ・ソリューションの長所を活用できる「キャッシュを認識する」Web アプリケーションを構築すること。
キャッシュの実行
Web が閲覧の場から取引の場へと変わったことに伴い、Web キャッシュ・ソリューションは進化してきました。初期のソ
リューションは、ブラウザの中にキャッシュを持ち、効率的にブラウズできるように考えられていました。ブラウザ・キャッ
シュは、コンテンツが主に静的な場合に有効で、デスクトップでブラウザが実行されることが通常の前提とされていました。
Web ユーザー数が大幅に増加し、
インターネット・サービス・プロバイダやイントラネットが普及すると、
サーバー側にキャッ
シュを置く、プロキシ・キャッシュなどが使用されるようになりました。キャッシュは、キャッシュ自身でリクエストに対応
するか、ブラウザのかわりにサーバーにリクエストを渡します。Web がユビキタスになると、コンテンツ・デリバリ・ネッ
トワーク(Content Celivery Networks: CDNs)といった、より新しいソリューションが、グローバルに散在するユーザーのス
ケーラビリティおよびレスポンス・タイムへの要件に対応するために、市場に出るようになりました。キャッシュ・ストラ
テジーのもう 1 つのバリエーションは、ブラウザ・ユーザーのグループに代わってではなく、1 つ以上の特定の Web サーバー
の代役をするサーバー・アクセラレータ(またはリバース・プロキシ・キャッシュ)です。
Web コンテンツが高度に動的になると、変更されるコンテンツをキャッシュすることが非常に困難になってきました。動的
コンテンツの新鮮さを確保しながら、同時に世界中に分散した、または大規模にローカライズされた Web ユーザー・グルー
プのパフォーマンス要件に対応するために、複数のキャッシュ・テクノロジーを結合した新しいソリューションが開発され
ました。
「キャッシュを認識する」Web アプリケーションの構築
キャッシュ・ソリューションを最大限に利用するため、開発者は、そのソリューションの特長を十分に活用するためのアプ
リケーションを構築する必要があります。CDNとサーバー・アクセラレータを組み合せた技法で、大きな効果を得ることが
できます。この組合せにより、インターネットのエッジで動的に生成されたコンテンツを配信できるようになります。アプ
リケーションを支店へ配信する企業CDNの構築にも、サーバー・アクセラレータは社内イントラネットで使用します。開発
者が、
「キャッシュを意識した」動的アプリケーションを開発するために、ESI(Edge Side Include)と呼ばれる業界標準マー
クアップ言語が開発されました。W3C(World Wide Web Consortium)の標準トラックであるESIにより、Webアプリケーショ
ン開発者は、キャッシュ可能なフラグメント化したページを、ネットワーク・エッジで完全なWebページとして動的に組み
立てることができます。ESI標準用JavaAPIは、JESI(ESI for Java)タグと呼ばれるJavaSever Pagesタグ・ライブラリの形式
でも使用できます。JESIタグも、Java Community Process JSR 128で、J2EE規格化の方向で検討されています。
ESI と比べ、Java アプリケーション・レベルでのプログラムによるキャッシュ・テクノロジーの採用は、より高精度な最適
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
3
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
化を達成できます。Web 開発者は、多くの場合、自分が得意とするアプリケーションの知識を活用し、キャッシュされたコ
ンテンツを再利用または後処理したときに、直接パフォーマンスを高めることができます。
この文書では、Oracle9iAS アプリケーション開発者が自分のアプリケーションで使用できる数種類のキャッシュ・ソリュー
ションとテクノロジーの概要を示します。ユーザー数が増加した場合でも、動的コンテンツのキャッシングと新しいコンテ
ンツの迅速な供給に対応するための、Oracle9i Application Server Release 2 が提供するキャッシュの特性と機能を紹介します。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
4
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
はじめに
E-Business モデルは、Web サイトに対する新しいパフォーマンス要件を設定しました。Web 上でビジネスを成功させるため
には、短いレスポンス・タイムと過度な負荷によるシステム停止に対する保護が重要です。Web サイトは、インターネット・
ユーザーを満足させるためには、高速でなければなりません。コンテンツ配信の遅れで、潜在的な顧客が競合他社へ移る可
能性があります。様々な市場調査が、E-Business におけるレスポンス・タイムの重要性を強調しています。
特に不況時には、E-Business は収益性を維持するために、革新的でなければなりません。インフラストラクチャ・コストを
低く抑えることも必要ですが、様々なアプリケーション・サーバーの特長を十分に活用し、パフォーマンスを落とすことな
くグローバル・ユーザーに配信できるアプリケーションを作成することも重要です。
競争力を持つためには、アプリケーション開発者は、アプリケーションの開発時間を削減し、スケーラビリティ、可用性お
よび高速なレスポンス・タイムを実現するテクニックを採用する必要があります。今日では、動的コンテンツの供給に加え、
Web アプリケーションは、パーソナライズ機能もサポートする必要があります。アプリケーション開発者は、それらの要件
に対応し、拡張可能な Web アプリケーションの設計を維持する必要があります。
大部分の Web アプリケーション開発者の主な課題は、スケーラブルで高速なアプリケーションを作成することです。「私の
使っているアプリケーションが速すぎる。」という不満を持つ顧客はいません。
スケーラビリティとレスポンス・タイムの要求に対応するための簡単な方法は、ハードウェア資源を追加することですが、
特に毎秒何千ものアクセスがある Web サイトの処理に対しては、コストのかかる方法です。アプリケーションを静的 Web
ページに制限することも、実行可能な選択ではありません。今日の Web アプリケーションは動的に定義されており、多くの
場合、トランザクション型です。キャッシュを革新的に使用することで、今日の Web アプリケーションのスケーラビリティ
およびレスポンス・タイムの要求に対する対応が可能です。それには、静的および動的なコンテンツを、完全な Web ページ
またはキャッシュのためにフラグメント化したページから完全なページを組み立てる方法が使用されます。
この文書では、アプリケーション開発者が自分のアプリケーションで使用できる数種類のキャッシュ・ソリューションと技
法の概要を示します。この文書は 6 つの項から構成されています。
•
第 1 項は、様々なキャッシュ・ソリューションの概要を説明します。
•
第 2 項は、コア部分へのキャッシングなど、初期のニッチの特長を持つアプリケーション・サーバーの機能性の拡
大について説明します。
•
第 3 項は、概念やタグ・ライブラリなどの JESI の機能を示します。
•
第 4 項は、Java アプリケーション・レベルのキャッシュの必要性を明確に説明し、アプリケーション・レベル・キャッ
シュ API および I 関連するタグ・ライブラリを説明します。
•
第 5 項は、JESI とアプリケーション・レベルのキャッシュ・テクノロジーを比較し、1 つの Web アプリケーション
でいかに効果的に組み合せることができるか示します。
•
第 6 項は、キャッシュ対応アプリケーションを、Oracle9i Application Server に配置する手順を示します。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
5
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
キャッシュ・ソリューションの概要
キャッシュは、オペレーティング・システムやデータベースなど多くのコンピュータ領域で、パフォーマンス向上のために
以前から使用されています。キャッシュは、コンピュータの負荷と経済的コストの両面を軽減できるキーテクノロジです。
Web アプリケーションでは、基本的にキャッシュは、部分的または Web ページ(静的および動的な)全体をブラウザのメモ
リーに保存する技術であり、Web サイトへのアクセス速度の問題に効果的に対応します。コンテンツを検索している消費者
とコンテンツ・ソース自身(オリジナル・サーバーとして知られる)の間のノードに、Web コンテンツ・キャッシュを持つ
ことは、ほとんどのアプリケーションにとって有効です。
実用的なキャッシュ・ソリューションは、次の要件を満たさなければなりません。
•
新鮮さを保ちつつ、動的コンテンツを供給。
•
多数の同時ユーザーに、継続的な高いスループット率で対応。
•
高速なレスポンス・タイムを実現。
•
ローカルな配置とグローバルな配置をサポート。
•
ひとつのソリューションではすべての要件に対応不可能なため、他のキャッシュ・テクノロジーと統合。
•
キャッシュ・コンテンツを後処理。
•
低コストのインフラストラクチャで高い利益を実現。
キャッシュ・ソリューションは様々な層で使用できます。各ソリューションは、特定の層を対象にして、一定の機能を提供
します。利用者のアーキテクチャ内の、様々な層へのアクセスの累積がレスポンス・タイムであることに注目してください。
アプリケーションの開発者およびシステム・アーキテクチャは、様々な層におけるアクセス・タイムを削減する必要があり
ます。多くの場合、完全なソリューションとは、複数のキャッシュ・ソリューションの組合せです。次に、キャッシュ・ソ
リューションの例を示します。
•
ブラウザ・キャッシング
•
プロキシ・キャッシング
•
コンテンツ配信ネットワーク・サービス
•
サーバー・アクセラレータ
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
6
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
ブラウザ・キャッシング
キャッシングは、市場のすべての Web ブラウザがサポートしている機能です。多くのブラウザでは、ユーザーが Web 上で
アクセスしたイメージなどの静的オブジェクトを、ユーザーのハードディスク・ドライブ内のディレクトリに保存すること
ができます。ブラウザは、一定量のハードディスク・ドライブの領域を、この目的に割当てるように構成されています。ブ
ラウザ・キャッシングは、キャッシュされたオブジェクトを持つページのレンダリングを高速化します。
ただし、このアプローチでは、静的ページ要素の配信のみ高速化が可能なため、効果が限られています。また、HTTP レス
ポンス・ヘッダーの nocache Pragma により、静的に作成したコンテンツのキャッシュさえもプロバイダが使用不可能にす
るため、有効性がさらに限られます。コンテンツ・プロバイダは、特にコンテンツが頻繁に変更される場合、コンテンツの
管理を維持するために、これを行います。また、一部のインターネットの Thin 端末には、有用なキャッシュ・コンテンツ量
をサポートするためのローカル・ストレージがない場合もあります。
プロキシ・キャッシング
ストレージがクライアントのマシンで行われるブラウザ・キャッシングに対し、プロキシ・キャッシングは、サーバーでス
トレージを行うソリューションです。プロキシ・キャッシュは、ダイアルアップ ISP ユーザーや企業イントラネットのユー
ザーなどの多数のブラウザ・クライアントとパブリック・インターネットの間に配置されます。ユーザーが URL にアクセス
する場合、HTTP リクエストがクライアント・ブラウザからプロキシ・サーバーへ送られます。プロキシ・サーバーは、リ
クエストオブジェクトがローカル・キャッシュにないかをチェックします。もし、チェック結果が「ミス」(存在しない)
の場合、プロキシ・サーバーは元の Web サーバーにオブジェクトをリクエストし、オブジェクトがキャッシュに保存されて
クライアントに転送されます。もし、チェック結果が「ヒット」の場合(期限切れ前のオブジェクトがある場合)、プロキ
シ・サーバーは If-Modified-Since(変更有無確認)ヘッダーリクエスト付きで元の Web サーバーに GET を送信します。
その後、元の Web サーバーから、Last-Modified(最新の変更)レスポンス・ヘッダーの回答が送信されます。プロキシ・
サーバーによりタイムスタンプが比較されます。有効の場合は、キャッシュされたオブジェクトはクライアントに直接送信
されますが、失効の場合は、元の Web サーバーにオブジェクトがリクエストされ、クライアントに転送されます。
プロキシ・サーバーの第 1 の目的は帯域幅使用の削減ですが、レスポンス・タイムも削減される場合もあります。プロキシ
で、より多くのリクエストをローカルに対応することで、長距離の高コストのネットワークを通して元の Web サーバーへ送
られるリクエスト件数が減少します。また、プロキシ・キャッシュは、企業内イントラネット・サーバーを、インターネッ
トから侵入するウイルスから保護するファイアウォールとしても有効です。
プロキシ構成のデメリットは、それを使用するために、明示的に各ブラウザを構成する必要があることです。また、プロキ
シ・キャッシュ自身がシステム障害となる可能性もあります。
コンテンツ配信ネットワーク・サービス
コンテンツ配信ネットワーク・サービス(Content Delivery Network Services: CDNs)はエンド・ユーザーの地理的位置の利点
を生かすように設計されています。第 1 世代の CDN は、主に静的コンテンツをサポートしました。クライアント・ブラウザ
により、Web サーバーからのコンテンツがリクエストされた場合、CDN のサービス・ドメインを参照する HREF リンクを埋
込んだ HTML が、サーバーから返信されます。それにより、クライアント・ブラウザにより、CDN 参照オブジェクトがリ
クエストされます。CDN は、分散 DNS 機構とインターネット上の現在の通信量条件から、リクエストに応答する最適キャッ
シュ・サーバーを選択します。
Akamai EdgeSuite2 のような、より新しい CDN サービスでは、動的に生成されたコンテンツをエッジ・サーバーから配信す
ることができます。コンテンツ・プロバイダは、CDN サービス・プロバイダで管理されるホストネームとして、DNS エイリ
アスを Web サイトに作成する必要があります。
組み込み静的コンテンツと同様に、
ブラウザがリクエストする動的生成 HTML
も、エッジ・サーバーの CDN に管理されているネットワークを通って配信されます。Edge Side Includes(ESI)機能では、
CDN により、部分化した動的 Web ページを一括集約し、個々のユーザー向けに処理進行中に迅速に再構築できるようにし
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
7
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
ます。ESI は、オラクル社とアカマイ・テクノロジ社の共同開発の結果であり、W3C と JCP(JSR#128)のオープン標準とし
て提案中です。仕様の詳細な情報およびその他詳細は、次の Web サイトを参照してください。http://www.esi.org/
CDN サービスは、世界規模で分散するインターネット・ベースのユーザー人口に最適です。ただし、CDN には、Web サイ
トで頻繁に大容量のコンテンツを更新する場合に弱点があります。また、このサービスは、多くの E-Business にとって非常
にコストのかかるものになる可能性があります。3
サーバー・アクセラレータ
サーバー・アクセラレータは、ブラウザ・ユーザーのグループ用ではなく、少数の特定の Web サーバーにかわるキャッシュ
です。サーバー・アクセラレータ・キャッシュ(または「リカバリ・プロキシ」キャッシュ)は、Web サーバーに対するす
べてのリクエストを代行し、提供されたオブジェクトのコピーをキャッシュし、次にリクエストを受けた際に、そのオブジェ
クトを提供します。サーバー・アクセラレータへキャッシュされ、リクエストされるコンテンツをその中から供給できるこ
とは、アプリケーション・サーバーの中のリソース処理やデータベースを他のタスクに開放することもできることを意味し
ます。より高価なバックエンド・アプリケーション・サーバーで行ってきた処理を、サーバー・アクセラレータを実装した
低価格の PC プラットフォームで行い、コストを削減できます。
次の項で、以前にリストアップした要件に適用する様々なキャッシング・ストラテジを検討します。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
8
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
発展するアプリケーション・サーバー
アプリケーション・サーバーが発達するにつれ、ユーザーは、アプリケーション・サーバーが統合化することで、ポータル、
ビジネス・インテリジェンス、ワイヤレス機能、セキュリティなど、以前はニッチであった機能に期待しています。今日、
アプリケーション・サーバーには開発機能を伴ったキャッシュが、本来備わっていることが要求されています。Oracle9iAS
は、それらの要求に対応し、高パフォーマンス HTTP レベルキャッシュである Oracle9iAS Web Cache が、静的、動的データ
の両方をキャッシュします。
Oracle9iAS Web Cache
Oracle9iAS Web Cache は、コンテンツを認識するサーバー・アクセラレータで、一般的なハードウェアで毎秒何千件のリク
エストを処理するスループット率を実現します。Oracle9iAS Web Cache は、頻繁にアクセスされるページをメモリーに保存
し、中間層アプリケーション・サーバーおよびデータベース上の、ページに対するリクエストの繰返し処理をなくすことで、
Web サーバーの負荷を軽減します。インフラストラクチャの一部としての Oracle9iAS Web Cache の使用で、キャッシュはコ
ンテンツの配信手段となり、アプリケーション・サーバーやデータベースで更新と新規コンテンツ生成の処理を行うことが
なくなりました。コンテンツ配信をコンテンツ生成から分けることで、Oracle9iAS Web Cache はスケーラビリティと高パ
フォーマンスを達成するコストを抑えた手段を提供します。
図 1: Oracle9iAS Web Cache とともに Oracle9iAS Containers for J2EE を使用 −
コンテンツ配信をコンテンツ生成から分ける
Oracle9iAS Web Cache は、コンテンツをキャッシュし、リクエストに応じてブラウザへコンテンツを配信する Oracle9iAS
Containers for J2EE(OC4J)のようなアプリケーション Web サーバーの前に置かれます。Oracle9iAS Web Cache は HTTP ヘッ
ダーを解釈し、ユーザーの指定したキャッシュビリティ・ルールに基づいてキャッシュを行ったり、経路指定を行ったりす
ることができます。Web ブラウザが Web サイトにアクセスすると、HTTP プロトコルまたは HTTPS プロトコルリクエスト
を Oracle9iAS Web Cache へ送信します。送信を受けると、Oracle9iAS Web Cache はアプリケーション・サーバーの代わりの
働きをします。もし、リクエストされたコンテンツの有効期限がすぎているか、無効とされているか、またはそれにアクセ
スできない場合、Oracle9iAS Web Cache は、アプリケーション・サーバーから新しいコンテンツを取得します。Oracle9iAS Web
Cache は、頻繁にリクエストされる大容量のコンテンツの更新に対処できるだけでなく、負荷がかかるオリジナルのデータ・
ソースとの一貫性を維持することもできます。
Oracle9iAS Web Cache には ESI プロセッサがあり、アプリケーション Web サーバーからの応答に対して、Edge Side Includes
マークアップ言語の使用をサポートします。ESI は、簡単なマークアップ言語で、アプリケーション開発者は、この言語を
使用し、ネットワーク・エッジで動的キャッシュとページ組み立てのためのコンテンツ・フラグメントをマーク付けします。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
9
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
Edge Side Includes for Java(JESI)
オラクル社とアカマイ・テクノロジ社(Akamai Technologies)は、ESI に加えて、Java と J2EE APIs を使用している Web ア
プリケーション開発者のために Edge Side Includes for Java(JESI)を導入しました。Oracle9iAS Containers for J2EE(OC4J)
は、ESI タグと Edge Side Includes の WebCache 用機能に対する便利なインタフェースとして、JESI タグを備えています。ESI
タグは、どのような Web アプリケーションの中でも直接使用できますが、JESI タグは JavaServer Pages の環境の中でさらに
便利に使用することができます。JESI には、次のような利点があります。
•
標準 JSP フレームワーク
インクルードされたページを、完全な URL またはファイルパスのかわりにページ関連またはアプリケーション関連
の構文で参照することができます。− 便利な機能
•
JESI ショート・カット構文
JESI タグは、メタデータ情報(キャッシュ・ページの期限切れなど)の指定、必要に応じて明示的に行うページの
無効化、Cookie 情報を使用するページのパーソナライズなどを行うために、便利な構文およびタグ属性をサポート
します。
•
アプリケーション・レベル・構成ファイル
JESI タグ・ライブラリでは、配置時間を指定するパラメータの設定および特定のユーザー環境に対する適切なデフォ
ルトの設定を行うために、アプリケーション・レベル構成ファイルを使用することができます。
JESI タグ・ライブラリ
Oracle で実装される JESI タグ・ライブラリは、標準 ESI フレームワークの先頭部に重ねられている標準の JavaServer Pages
タグ・ライブラリです。JESI タグは、1.1 バージョン以降の標準 JSP コンテナおよびバージョン 1.0 以降の仕様に準拠する
ESI 対応のキャッシュ環境で、使用することができます。JESI および ESI については、次の Web サイトを参照してください。
http://www.esi.org/.
次の表で様々な JESI タグを示します。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
10
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
Tag
目的
<jesi:include>
“テンプレート”ページの中で使用され、ESI プロセッサが、
どのようにフラグメントをアセンブルするかを示す。(その
タグが<esi:include>tag タグを生成。)
<jesi:control>
テンプレートとフラグメントに対する属性割当て(期限切れ
など)
<jesi:template>
本体の中の JSP コンテナ・ページのコンテンツ全体を含める
ために使用。
<jesi:fragment>
JSP ページの個々のコンテンツ・フラグメントのカプセル化。
<jesi:invalidate>
ESI プロセッサが、選択したオブジェクト・キャッシュを明示
的に削除または期限切れにするために使用。
<jesi:personalize>
パーソナライズしたコンテンツをページに挿入。コンテンツ
は Cookie に置かれ、ESI プロセッサによりページに挿入され
る。
JESI タグ・ライブラリの使用
JESI タグは、JSP ページの動的要素を、キャッシュできる構成要素またはフラグメントに分解します。最近の Web ページは、
いくつかのフラグメントまたは部分的なページから構成されています。たとえば、Web ページを 4 時間ごとに変化する各地
の天気、15 分ごとに更新される株価表示、30 秒ごとに変わるニュースのヘッドライン、週単位で表示する販売促進活動報告
などの構成にすることが可能です。各情報の断片は固有の属性(有効期間など)を持つキャッシュ可能な構成要素です。
図 2: 固有の有効期間を持つ多数のフラグメントから作成された
典型的な Web ページレイアウト
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
11
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
JESI タグを JSP ページ設定およびキャッシュ可能なコンテンツの定義に使用できる 2 つのアプローチがあります。
•
コントロール/インクルード型
•
テンプレート/フラグメント型
コントロール/インクルード型
コントロール/インクルード型はモジュール・アプローチであり、jesi:include タグを使用してキャッシュ可能コンテンツ
がトップレベルページにインクルードされます。インクルードされた各ページに対して、そのコンテンツはトップレベルペー
ジの HTTP 出力の jesi:include 文の部分でマージされます。トップレベルページとインクルードされた各ページは、デフォ
ルト設定が適当でない場合は、オプションとして、期限切れ時期などのキャッシュ・パラメータを設定するための
jesi:control タグを持つことができます
コントロール/インクルード JESI タグの数多くの使用方法の 1 つを、次に示します。例 1 では、jesi:control タグが
maxRemovalDelay および expiration のための非デフォルト・キャッシュ設定を指定するために使用されています。
•
maxRemovalDelay – キャッシュされたオブジェクトが期限切れになった後、ESI プロセッサが保存できる最大時間
を秒単位で指定します。デフォルトは 0 です。
•
expiration − キャッシュされたオブジェクトの存続期間を秒単位で指定します。デフォルトは対象ページの存続期
間の制限がありません。
jesi:include タグは、order.jsp が取得できない場合、alt.jsp を指定します。また、order.jsp と alt.jsp の両方とも
ESI プロセッサの継続処理が可能になります。
2 つ目の jesi:include
取得できない場合でも、ignoreError=”true”の設定で、
は、代替ページを持たず、ignoreError を true に設定することもしていません。もし commit.jsp が取得できなかったとき
は処理を停止します。
例 1 − コントロール/インクルード型
<%@ taglib uri=”/WEB-INF/jesitaglib.tld” prefix=”jesi” %>
<jesi:control maxRemovalDelay=”1000” expiration=”300” cache=”yes”/>
<jesi:include page=”order.jsp” alt=”alt.jsp” ignoreError=”true”/>
<jesi:include page=”commit.jsp” />
テンプレート/フラグメント型
テンプレート/フラグメント型では、Web ページのコンテンツは別々にキャッシュされるフラグメントに分けられます。
jesi:template フラグメントは、フラグメント内外のすべてのキャッシュ可能なコンテンツの集合を包括ために使用されま
す。jesi:fragment タグは、集計ページの中のフラグメントを定義するために使用します。各フラグメントは、固有のキャッ
シュ・パラメータを持つ個別のキャッシュ可能なエンティティです。jesi:template はフラグメント外のコンテンツのキャッ
シュ・パラメータを設定するために使用されます。jesi:template と jesi:fragment のどちらにもキャッシュ・パラメータ
が設定されていない場合、デフォルト値が使用されます。既存の JSP ページの JESI への変換に、テンプレート/フラグメン
ト・アプローチを推奨します。
例 2 − テンプレート/フラグメント
<%@ taglib uri=”/WEB-INF/jesitaglib.tld” prefix=”jesi” %>
<jesi:template expiration=”3600”>
...HTML block #1...
<jesi:fragment expiration=”60”>
...JSP code block #1...
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
12
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
</jesi:fragment>
...HTML block #2...
<jesi:fragment>
...JSP code block #2...
</jesi:fragment>
...HTML block #3...
<jesi:fragment expiration=”600”>
...JSP code block #3...
</jesi:fragment>
....HTML block #4...
</jesi:template>
例 2 は、テンプレート/フラグメント・アプローチを示します。各 JSP ブロックは、周囲を囲む jesi:fragment タグで境界
分けされたオブジェクトとしてキャッシュされます。トップレベル HTML ブロック(#1 - #4)全体で、jesi:template タグ
の中で設定されるパラメータにしたがってキャッシュされるオブジェクトが構成されます。テンプレートと大部分のフラグ
メントでは、キャッシュ期限切れ時期が設定され、他の属性ではデフォルト値が使用されます。2 つ目のフラグメントでは、
期限切れ時期を含むすべての属性はデフォルト値です。
他の JESI 機能
キャッシュ・コンテンツを明示的に無効化する場合があります。たとえば、商品の需要または供給の変化のために、キャッ
シュしたページを明示的に無効化する場合などです。また、アプリケーションで JSP ページを実行した場合、他のページに
対応するキャッシュされたオブジェクトを無効化する可能性もあります。データベースの元データの変更で、強制的に無効
化を行うこともあります。jesi:invalidate タグおよび付随するサブタグを使用し、ページの無効化を行います。URI また
は URI のプリフィックスに従って無効化します。さらに、オプションとして、Cookie 名と値のペアまたは HTTP/1.1 リクエ
ストヘッダー名と値のペアを指定することができます。
JESI タグは、限定されたパーソナライズもサポートします。jesi:personalize タグは、Cookie 情報を使用し、個々のユー
ザーに合わせた出力調整をするために使用されます。このタグは、動的文字列でキャッシュされたページのプレースホルダ
を置換するよう、ESI プロセッサに命令を出します。そのキャッシュされたページは、キャッシュ・ページの共用性を維持
しながら、リクエストまたはレスポンスのため Cookie から送信されます。次に例を示します。
jesi:personalize tag: <jesi:personalize name=”user_id” value=”guest” />
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
13
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
ここで、ESI プロセッサは名前が user_id の Cookie を検索し、その値を取得します。Cookie が検出されない場合は、guest
のデフォルト値が使用されます。Oracle9iAS Release 2 にはパーソナライズ・タグもあり、より充実した最新の機能が提供さ
れています。
OC4J における JSP コンテナは、基本的に 2 つの jar ファイル、ojsp.jar と ojsputil.jar にパッケージされています。配布
ソフトウェアには、jesitaglib.tld や demos などの様々なタグ・ライブラリのための tld ファイルも含まれています。
ESI は、出力ページの一部として必要な ESI タグを生成することで、サーブレットからも使用することができます。
Web アプリケーション開発者は、多くの組合せと属性設定を使用することができます。ここで実例を示します。
アプリケーション・レベル・キャッシング
ここまで、JESI タグを使用し、高速な HTTP レベルの Oracle9iAS Web Cache および JESI を使用して ESI を使用可能にする
CDN の利点を活かす方法をみてきましたが、Web アプリケーション開発者は、XML DOM オブジェクト、Java シリアル化可
能オブジェクトなどの、HTML または XML フラグメント以外のアプリケーション・オブジェクトを扱う場合があります。
また、キャッシュ・コンテンツの再利用や後処理、または中間結果の維持が必要である場合があります。アプリケーション・
レベルのキャッシュに対応するため、Oracle9iAS Release 2 には次のキャッシュがあります。:
•
Java Object Cache – 低レベル・オブジェクト・キャッシュ API。Java オブジェクト用キャッシュ・サービスを提供し
ます。
•
Web Object Cache – Web アプリケーション・レベル・キャッシュで、機能は Java Object Cache をリポジトリとして使
用して構築されています。
Java Object Cache
Java Object Cache は低レベル・オブジェクト・キャッシュ API であり、メモリー・オブジェクト、ディスク・オブジェクト、
プール・オブジェクト、StreamAccess オブジェクトのような一般的オブジェクト・タイプをサポートしています。Java Object
Cache は、Java オブジェクトの更新および無効化を調整するため、分散オブジェクト管理を使用します。アプリケーション・
サーバーで、Java プログラムを使用しコンテンツを送信する場合、Java Object Cache は、高価または高頻度に使用されてい
る Java オブジェクトに対してキャッシュを提供します。新しいコンテンツの作成支援プログラムで、キャッシュされた Java
オブジェクトは、生成したページを含んだり、オブジェクトをサポートできます。Java Object Cache は、Java アプリケーショ
ンで指定されたとおりに自動的にオブジェクトをロードしたり、更新したりします。また、Java Object Cache には、キャッ
シュした Java オブジェクトを管理する API があります。Java Object Cache は、多くの点で柔軟で強力ですが、ユーザーが定
義できる JSP タグなどのより高いレベルの抽象化手段は持たず、HTTP 環境との統合性に欠けますが、Java Object Cache は、
一般的であるがゆえに、Web Object Cache(次に説明)などのより高いレベルのキャッシュのための理想的なキャッシュ・リ
ポジトリの役目を果たし、開発の負担を軽減し複雑さを削減してくれます。
Web Object Cache
Web Object Cache は、API コール(サーブレット用)またはユーザー定義タグ・ライブラリ(JSP 用)の使用で、プログラム
に基づいたキャッシュできめの細かい管理をアプリケーション開発者に提供し、Web アプリケーション・レベルのキャッシュ
を容易にしています。Web Object Cache は、Java で書かれた Web アプリケーションを使用し、取得、保存、再利用、後処理
を可能にします。さらに、動的 Web ページによって生成された部分的な中間結果を維持します。Web Object Cache は Java
レベルで動作し、JSP の HTTP 環境およびサーブレット・アプリケーションと緊密に一体化されています。キャッシュされ
たオブジェクトは HTML か XML フラグメント、XML DOM オブジェクト、または Java シリアライズ可能オブジェクトによ
り構成されているはずです。
アプリケーションは、XSLT スタイルシートをキャッシュされた XML DOM オブジェクトに動的に適用して、ユーザー・グ
ループまたはデバイスに合わせたページを提供します。キャッシュされたオブジェクトは、E-Business アプリケーションの
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
14
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
共通タスクである SMTP を使用する複数のユーザーへ、電子メールで送信することができます。
Web Object Cache は次の場合、最も効果的です。
•
キャッシュされたデータ・オブジェクトに対して行う XSLT または XML DOM オペレーションなどの特別な後処理。
•
キャッシュ XML データまたは Java オブジェクトの再使用および SMTP、JMS、AQ、SOAP を介したデータ送信な
どの非 HTTP 条件でのデータ共有化。
•
長期存続期間対象のデータを継続して保存するために、ファイル・システムまたはデータベースへキャッシュ・デー
タとして保存するなどの特別なストレージ・ニーズ(記憶域の必要性)。
•
Web ベースのグループウエア・アプリケーションなどの異なるユーザーに、個別のアクセス権で異なるデータ項目
に対して許可するアプリケーション固有の認証およびセキュリティ方式。
Web Object Cache は基本的に 2 つの要素で構成されています。i)キャッシュ・リポジトリおよび ii)プログラム・インタフェー
ス
キャッシュ・リポジトリは、データ記憶域、データ分散およびキャッシュ期限切れを担当するコンポーネントです。 Java
Object Cache は、Java アプリケーション用に設計された API で、汎用性と柔軟性があるキャッシュ・サービスであるため、
Web Object Cache ではデフォルトのキャッシュ・リポジトリとして使用されます。単純なファイル・システムのような他の
実装も使用できますが推奨されません。
Web Object Cache プログラミング・インタフェースには、Web Object Cache JSP タグ・ライブラリおよび Web Object Cache API
などがありますが、この文書では Web Object Cache JSP タグ・ライブラリについて説明します。
Web オブジェクト・キャッシュ・タグ・ライブラリ
次の表では、Web Object Cache タグを示します。
Tag
目的
<ojsp:cache>
一般的なキャッシュ(XML オブジェクトのキャッシュと
は異なる)。
<ojsp:cacheXMLObj>
XML オブジェクトのキャッシュに使用。
XML 文書のキャッシュおよび後処理
<ojsp:useCacheObj>
各種の JAVA シリアル化可能オブジェクトのキャッシュ
に使用。
<ojsp:cacheInclude>
上述キャッシュ・タグおよび標準 JSP インクルード・タ
グの機能の組合せ
<ojsp:invalidatecache>
プログラム・ロジックにより明示的にキャッシュブロッ
クを無効化
Web Object Cache は、単純な HTML および XML フラグメントのキャッシュよりも、XML DOM または JAVA シリアル化可
能オブジェクトのキャッシュに適しています。ojsp:cacheXMLObj タグで、XML オブジェクトをキャッシュできます。必要
な動きに応じて、様々な属性を設定します。属性には、scope、TTL(有効期間)、writeThrough、fromXMLObjname、toXMLObjName
などがあります。
ojsp:useCacheObj タグは、各種の Java シリアルライズ可能オブジェクトのキャッシュに使用されます。ojsp:useCacheObj
タグにも、キャッシュした Java オブジェクトの動きを管理する様々な属性セットがあります。ojsp:useCacheObj の使用方
法を次の例で示します。
例 3 − ojsp:useCacheObj
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
15
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
<ojsp:useCacheObj id=”a2” policy=”/WEB-INF/test-policy.cpd”
type=”examples.RStrArray” >
<%
// create a temp writeable array
WStrArray tmpa2=new WStrArray(3);
tmpa2.setStr(2,request.getParameter(”testing4”));
tmpa2.setStr(1,”def”);
tmpa2.setStr(0, (new Java.util.Date()).toString() );
// create a readonly copy for the cache
a2=new RStrArray(tmpa2);
// storing the a2 into pagecontext
// so useCacheObj tag can pick it up
pageContext.setAttribute(”a2”,a2);
%>
</ojsp:useCacheObj>
OC4J の JSP コンテナは、Java Object Cache をリポジトリとして使用するように構成済みです。Web Object Cache タグの機能
は ojsputil.jar および jwcache.tld の一部として、パッケージされています。OC4J/Oracle9iAS Release 2 ディストリビューション
には両方のタイプのキャッシュ・デモがあります。
Oracle9iAS Web キャッシュと Java レベル Web オブジェクト・キャッシュ
Oracle9iAS Web Cache と Web Object Cache の 2 つのキャッシュは、いくつかの点では同じように見えますが、それぞれが最
大の効果をあげるために意図された使用方法は大きく異なります。
Oracle9iAS Web Cache はフロント・キャッシュとして使用されるように考えられています。そのため、キャッシュされたペー
ジは、HTTP クライアントへ直接送信されます。Oracle9iAS Web Cache は、大きな容量の HTTP 通信を高速のレスポンスで取
り扱うことが可能で、その点で、大部分の Web サイトの要件を満たします。また、完全または部分的な動的 Web ページを
保存することができます。キャッシュされた Web ページもクライアントへ送信される前にある程度カスタマイズできます。
カスタマイズの例としては、Cookie 置換、ページ・フラグメントの連結などがあります。Oracle9iAS Web Cache は、主要な
Web キャッシュ機構として使用することをお薦めします。Oracle9iAS Web Cache はレスポンス・タイムを短縮するだけでな
く、アプリケーション・サーバーおよびバックエンド・データベースの負荷も削減します。さらに、Oracle9iAS Web Cache
は、非力なハードウェアで実行が可能なため、パフォーマンスに対するコストが非常に低く抑えられます。
Web Object Cache は「フロントエンド」キャッシュとして使用するよう意図されていません。それは Java Web アプリケーショ
ン内に組み込まれ、保持されているアプリケーション・レベルのキャッシュです。すでに説明したとおり、Web Object Cache
は、Java Web アプリケーション開発者が、JSP とサーブレット実行の中間結果の取得し、さらに Java アプリケーション・ロ
ジックの他の部分で再利用します。Web Object Cache のキャッシュ結果の取得パスには、JVM および JSP/Servlet コンテナが
含まれていますが、Oracle9iAS Web Cache と比較し、1 ページの送信に時間がかかります。Web Object Cache は、クライアン
トにページを送信する前にキャッシュしたコンテンツの後処理を行う Web アプリケーションに対してのみ効果がある補助
キャッシュです。Web Object Cache がどのような場合に効果的であるかはすでに説明しました。それ以外の場合には、圧倒
的に速い Oracle9iAS Web Cache をお薦めします。
Oracle9iAS Web Cache と Web Object Cache の目的はまったく異なりますが、状況によって、興味深い方法で互いを補完し合
います。Oracle9iAS Web Cache の長所を利用してキャッシュ・コンテンツを後処理する場合に、JESI と Web Object Cache タ
グの両方を使用できます。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
16
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
例 4 − JESI タグと Web Object Cache タグおよび他のユーザー定義タグを併用。
<jesi:template cache=”no”>
<% String userStyleLoc=”style/rowset.xsl”; %>
<h3>Transform DBQuery Tag Example</h3>
<h4>Current Time=<%= new Java.util.Date() %></h4>
<jesi:fragment expiration=”60”>
<!-- You can cache HTML in Oracle Web Cache with JESI
or you can cache it in Oracle Web Object Cache -->
<h4>Cached Time=<%= new Java.util.Date() %></h4>
<sql:dbOpen connId=”conn1” URL=”<%= connStr %>”
user=”scott” password=”tiger” />
<jml:transform href=”<%= userStyleLoc %>” >
<%-- The XML DOM object is produced by dbQuery
And, the DOM object is cached in OracleJSP Web Object Cache.
XSLT is performed on the cached object. --%>
<ojsp:cacheXMLObj TTL=”60” toWriter=”false”>
<sql:dbQuery connId=”conn1” output=”xml” queryId=”myquery” >
select ENAME, EMPNO from EMP
</sql:dbQuery>
</ojsp:cacheXMLObj>
</jml:transform>
<sql:dbCloseQuery queryId=”myquery” />
<sql:dbClose connId=”con1” />
</jesi:fragment>
</jesi:template>
高コストのデータベース問合せの結果を Web Object Cache の中のフラグメントとしてキャッシュし、Oracle9iAS Web Cache
で後処理し(スタイルシートを適用など)、配信することができます。図 4 は Web Object Cache タグと JESI タグの結合を示
します。SQL や変換タグなど他のタグが、1 つのアプリケーションの中で JSP プログラムを単純に保ちながらユーザー定義
タグが有効に使用されていること注目してください。
例 4 は効果的に使用されている様々なタグを示します。ここで、sql:dbquery タグを使用し、単純な SQL 文を実行します。
出力属性は XML に設定されています。問合せ結果は、ojsp:cacheXMLObj を使用し、XML DOM オブジェクトとして Web
Object Cache に保存されます。XSLT スタイルシートは、jml:transform タグによって、キャッシュされたオブジェクトに適
用されます。変換された XML DOM オブジェクトは、HTML とともに、JESI テンプレート/フラグメントタグによってキャッ
シュされ、Oracle9iAS Web Cache により供給されます。jesi:fragment タグと jesi:template タグの中の HTML コンテン
ツに注目してください。
キャッシュ使用可能 Web アプリケーションの配布
Oracle9iAS におけるキャッシュ使用可能 Web アプリケーションの配布手順は、通常の Web アプリケーションに対する手順
と同じです。配布準備の前に、まず Oracle9iAS Web Cache を使用可能にします。Web Cache Manager と呼ばれる付属の簡単
な GUI ツールを使用し、Oracle9iAS Web Cache の管理と構成を行います。
また、詳細情報は、Oracle9iAS Web Cache 管理および配置ガイド リリース 9.0.2e を参照して下さい。
Oracle9iAS Web Cache をインストールし、実行する構成を選択します。その後、Oracle9i JDeveloper に内蔵されたツールを使
用するか、次の手順で説明する手動方法で、キャッシュ対応 Web アプリケーションを配布することができます。
手順 1: 該当するアプリケーションを EAR ファイルとしてパッケージします。EAR ファイルは、J2EE アプリケーションが
順守する標準構造に従います。ディレクトリ構造は図 3 のとおりです。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
17
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
図 3: EAR ファイル構造
図 4: WAR ファイル構造
application.xml が、マニフェスト・ファイルの働きをし、アプリケーション名、アプリケーションを構成している様々なモ
ジュール、Web アプリケーションのコンテキストルートなどの情報を提供します。JAR ファイルや WAR ファイルの各 EAR
構成要素は、標準構造に従います。Web アプリケーションは、WAR ファイルにパッケージされています。JSP、サーブレッ
ト、ojsputil.jar などの jars、jesitaglib.tld のような TLD ファイル、および他のアプリケーションで必要な依存ファイ
ルなどをインクルードしたかを確認します。WAR ファイルの構造を
図 4 に示します。
Web アプリケーションを配布するには、EAR ファイルを作成する必要があります。サーブレットのみ使用の場合は、EAR
ファイルの構成要素が必要です。JSP は空でもかまいません。
手順 2: admin.jar tool を使用して、パッケージした EAR ファイルを配布します。
例:
Java -jar $J2EE_HOME/admin.jar ormi://localhost admin
<passwd> -deploy -file ./app/HRapp.ear deploymentName HRweb-app
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
18
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
HRapp.ear は、ユ-ザ-定義の Hrweb-app を使用して配布されます。これは server.xml の中に新しいエントリを作成します。
<application name=“HRweb-app”
path=“../applications/HRapp.ear”/> ]
手順 3: Web アプリケーションをバインドします。
例:
Java -jar $J2EE_HOME/admin.jar ormi://localhost admin
<passwd> -bindWebApp HRweb-app emp-web default-web-site/employees
Hrweb-app Web アプリケーションは、特定の Web サイト(この例ではデフォルトの Web サイト)およびコンテンツルート
(/employees)に対してバインドされます。これにより default-web-app.xml の中に新しいエントリが作成されます。
<web-app application=“HRweb-app” name=“emp-web” root=“/employees”]
アプリケーションは http://<host>:<port>/employees でアクセスできます。
結論
Web サイトの要件が複雑になり、Web のコンテンツのほとんどが動的になったため、異なるキャッシュ・ソリューションを
組合せた革新的技術を採用することが必要となりました。パフォーマンスを最適化するキャッシュ・ソリューションを持つ
ことが重要です。さらに重要なことは、採用されたソリューションを有効活用できる Web アプリケーションを構築すること
です。JESI タグを使用し、Oracle9iAS Web Cache のようなサーバー・アクセラレータで企業とインターネット CDN を組み合
せることで、ネットワーク・エッジでの動的 Web コンテンツの迅速な組み立てと配信が可能になります。ESI と JESI は、標
準に準拠したテクノロジーです。Web アプリケーション開発者は、Java アプリケーション・レベルのキャッシュのメリット
を様々な状況で活かすことも可能です。JESI とアプリケーション・レベル・キャッシュを興味深い方法で同時に使用するこ
とで、最大限のパフォーマンスを得ることができます。
_________________________________________________________________________________________________________________________
Oracle9iAS キャッシュ・ソリューション
19
オラクル・テクニカル・ホワイト・ペーパー
Oracle Corporation 発行の
「Oracle9iAS Caching Solution
An Oracle White Paper 」の翻訳版です。
Oracle9iAS キャッシュ・ソリューション
2002 年 9 月
著者: Prasad Shiva
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
海外からのお問合せ窓口:
電話: +1.650.506.7000
ファックス: +1.650.506.7200
www.oracle.com
オラクル社は、インターネット上での活動を強化するソフトウェアを提供します。
Oracle はオラクル社の登録商標です。
このガイドで使用されているさまざまな製品名およびサービス名には、オラクル社の商標が含まれています。
その他のすべての製品名およびサービス名は、各社の商標です。
Copyright © 2002 Oracle Corporation
All rights reserved.
Fly UP