RUEIでは、追加設定なしでOracle ADFアプリケーションを監視することができます。 自動的にOracle ADFアプリケーションを検出して、ネットワーク・オブジェクトをビジネス機能に変換します。 このサポートを使用すると、個々のユーザー・アクションが正しいWebアプリケーション、タスク・フローおよびビューと自動的に一致します。
ADFアプリケーションおよびFusionアプリケーションでは、ADF監視サービスを利用すると、ネットワーク収集から受信したデータを、ADF監視サービスから受信した追加のデータ(ユーザー名など)によって拡充できます。 これには、ADF監視サービスのデプロイと構成が必要です(『Oracle Real User Experience Insightインストレーション・ガイド』を参照)。
この付録でこれから説明する監視のサポートは、Oracle ADFバージョン11gに基づくアプリケーションについて検証されています。
Oracle ADFベースのアプリケーションのスイート定義を作成できます。 スイートを作成する手順については、「スイート定義の作成」を参照してください。
多くのADFコンポーネントでは、ホバー・イメージが使用されており、これによりRUEIでは正しくないページ・ロード時間がレポートされる可能性があります。 ページ・ロード時間の精度を向上させるには、「フレームワーク例外によるアプリケーション定義の微調整」で説明されているように、ホバー・イメージをフレームワーク例外として構成します。
adf-faces-databinding-rt.jar
ファイルによって、ExecutionContextProvider(oracle.adfinternal.view.faces. context.AdfExecutionContextProvider)
クラスのDMSベースの実装が提供されます。 実装クラスは.jar
ファイルで事前に定義されていますが、機能が有効になるのは、次のアプリケーション・コンテキスト・パラメータをweb.xml
ファイルに指定したときです。
<context-param> <description>This parameter notifies ADF Faces that the ExecutionContextProvider service provider is enabled. When enabled, this will start monitoring and aggregating user activity information for the client initiated requests. By default, this param is not set or is false. </description> <param-name>oracle.adf.view.faces.context.ENABLE_ADF_EXECUTION_CONTEXT_PROVIDER</param-name> <param-value>true</param-value> </context-param>
Oracle ADFはJavaテクノロジに基づいているため、Oracle ADFアプリケーションは多くの場合JSESSIONID
状態Cookieを使用します。 また、RUEIによって、完了したセッションのユーザーを監視および追跡するには、Cookieのパスを/に設定する必要があります。 Oracle ADFアプリケーションが、状態の追跡のために別のCookie名を使用する場合は、それを反映するようにアプリケーション定義を更新する必要があります。 また、ユーザー名の認識はj_username
構造に基づくことに注意してください。 cookieの構成の詳細は、「セッション・トラッキング・メカニズムの指定」を参照してください。
ADFのレポートの作成において、RUEIはヘッダーとして提供されるAdf-View-IDに大きく依存しています。 そのため、ADF開発者がビューIDにそれ相応の値を設定しておくことが重要です。 デフォルトでは、コンテンツを生成したjspxの名前を基にビューIDが設定されます。
動的なリージョンでは、特別なコーディングを行わなくても常にUIShell.jspxが表示されます。 次のようなコードを実装することをお薦めします。
jsfフェーズのリスナー
FacesContext context = FacesContext.getCurrentInstance();
Object response = context.getExternalContext().getResponse();
if (response instanceof HttpServletResponse) {
HttpServletResponse httpResponse = (HttpServletResponse)
response;
httpResponse.setHeader("Adf-View-Id", viewID);
}
ここで、viewIDは関連するviewIDです。
クライアントが閲覧したコンテンツの生成元Javaコード・ブロックを、ビューIDからおおよそ推測できるようにしておく必要があります。 Fusionの場合、これは製品のコンテキストで意味を持つため、範囲は個々のリージョンよりも広くなります。
このコードは、"BeforePhase"のあと、つまり、ユーザー・アクティビティ・モニタリング・ツールのレスポンス・ヘッダーを設定するRenderResponseフェーズの開始前に実行する必要があります。 そうしないと、デフォルトのヘッダーを挿入するフェーズ・タイプのコードでヘッダーが上書きされます。
ADFページは、セッション診断機能を使用したリプレイ・ビューアでは使用できない可能性があるか、リッチ・インターネット・アプリケーション(RIA)に基づくページの場合は、文字化けする可能性があります。 RIAフレームワークの例には、Ajax、Curl、GWT、Adobe Flash/Adobe Flex/AIR、Java/JavaFX、MozillaのXUL、OpenLaszloおよびMicrosoft Silverlightがあります。
再生したページに何も表示されない場合は、対象のページ内でoracle.adf.view.rich.security.FRAME_BUSTING
コンテキスト・パラメータの使用を中止することを検討してください。 このセキュリティ・パラメータは、悪意のあるWebサイトが別のドメインのページをフレームに引き出して偽のページで覆い隠すクリックジャックという攻撃を防止するときに使用します。
表I-1に示すADF固有のデータ・アイテムがRUEIでレポートされます。
表I-1 ADF固有のデータ・アイテム
項目 | 説明 |
---|---|
ADFスイート/コード |
構成定義で定義されたADFフレームワーク・スイートのコード。 このデータを使用して、監視対象の様々なADFフレームワーク・スイートを区別することができます。 |
ADFスイート/名前 |
構成定義で定義されたADFフレームワーク・スイートの名前。 このデータを使用して、監視対象の様々なADFフレームワーク・スイートを区別することができます。 |
ADFアクション/名前 |
このヒットによってトリガーされたアクション(表示、アクション、ダイアログ、フォーカス、ディスクロージャ、起動、問合せ、ソート、valueChangeなど)。 |
ADFアプリケーション/名前 |
ADFフレームワークにおけるアプリケーション・モジュールの名前。 |
ADFコンポーネント・クライアントID/名前 |
エンドユーザーが(前の)ページでクリックした構成要素の一意のID。 |
ADFコンポーネント表示名/名前 |
(前の)エンドユーザー・アクションによってアクティブになった構成要素の表示名。 |
ADFコンポーネント・タイプ/名前 |
(前の)エンドユーザー・アクションによってアクティブになった構成要素の種類。 |
ADFリージョン/名前 |
(前の)エンド・ユーザー・アクションが実行された直前のアクティブ・リージョン名。 |
ADFビューID/名前 |
(前の)エンドユーザー・アクションが行われた画面(の一部)のID。 |
関連情報
Oracle ADFのアーキテクチャおよび機能の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。 これは次の場所から入手できます。
http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/title.htm