この付録では、Oracle E-Business Suite(EBS)ベースのアプリケーションの正確な監視のために提供されるサポートについて詳しく説明します。このサポートの対象となるのは、有効なApplication Management Suite for EBSライセンスを所有している場合に限られることに注意してください。詳細は、オラクル社の担当者に問い合せてください。
RUEIで提供される監視のサポートはEBS R12に対して検証されています。ただし、他のバージョンのEBSでも同様に機能するように設計されています。
Oracle Formsのサポート
Oracle Formsは、サーブレットとソケットという2つのモードで構成できます。サーブレット・モードでは、Javaサーブレット(Forms Listenerサーブレット)がForms JavaクライアントとOracleAS Formsサービスの通信を管理します。ソケット・モードではデスクトップ・クライアントがFormsサーバーに直接アクセスします。RUEIではサーブレット・モードとソケット・モードの両方がサポートされます。サーブレット・モードおよびソケット・モードでのOracle Formsの操作と構成の詳細は、次のサイトを参照してください。
http://metalink.oracle.com/metalink/plsql/ml2_documents.showNOT?p_id=384241.1
Oracle Formsが構成されているモードを確認する方法は、M.8項「ソケット・モードとサーブレット・モードのチェック」を参照してください。
Formsのみのユーザー
このマニュアルで提供する情報はすべてのEBSユーザーに関連するものです。ただし、情報がEBSユーザーまたはFormsのみのユーザーに固有の場合は明記しています。
Formsのみの環境を使用するユーザーは、この項で説明する点に特に注意する必要があります。
RUEIでEBSベース・アプリケーションについての正確なレポートを行うには、本番環境の情報が必要です。特に、機能領域とレポートされる名前をマッピングする必要があります。これは、M.7項「RUEIとEBS本番環境の同期化」で説明するようにcreate_EBS_info.pl
Perlスクリプトを実行して行います。このスクリプトを実行して、生成される.txt
ファイルを.zip
ファイルに含めてアップロードすることを、Formsのみの環境のユーザーにお薦めします。
機能マッピングの手動作成
create_EBS_info.pl
スクリプトは、いくつものEBSデータベース表を使用して、Oracle Formsインスタンスのインストールと構成に関する情報を取得します。使用される正確なデータベース表をM.10項「データベース表」に示します。
ただし、このスクリプトで使用されるAPPLSYS.FND_APPLICATION、APPLSYS.FND_APPLICATION_TL、APPLSYS.FND_FORM、APPLSYS.FND_FORM_TLおよび他の表は、Formsのみの環境には存在しません。このため、RUEIで提供されるデフォルト(テンプレート)のマッピング(この項で後から説明)を利用するか、対応する.txt
ファイルを手動で作成することで必要なマッピングを指定できます。
これらのファイルを手動で作成するときは、次のタブ区切りファイルが必要です。
EBS_formname2details.txt
: 各フォームの機能の説明を指定します。このファイルの各行は次のような形式です。
formname
{TAB}form_description
次に例を示します。
ADSAPCRD Credit Card Expense Transaction Entry ADSAPPRC Procurement Card Transaction Entry ADSCONC Running Jobs ADSCONC Tax Locations ADSCSCRC Healthcare CC ADSMAILI Mail InformationADSRSETUP ADS Repurpose Setup ADSSOE Custom Order EntryADSSOE View Person Life Event Information AKDAPREG Application Module Parameters Registry
EBS_formname2appshort.txt
: 各フォームが含まれているアプリケーション名の短縮形(3文字)を指定します。このファイルの各行は次のような形式です。
formname
{TAB}short_application_name
次に例を示します。
ADSAPCRD ads ADSAPPRC ads ADSCONC ads ADSCSCRC ads ADSMAILI ads ADSRSETUP ads ADSSOE ads AKDAPREG ak AKDATTRS ak AKDFLOWB ak
EBS_appsort2appname.txt
: 短縮形(3文字)のアプリケーション名と完全なアプリケーション名のマッピングを指定します。このファイルは次のような形式です。
short_application_name
{TAB}application_name
次に例を示します。
abm Activity Based Management (Obsolete) ad Applications DBA ads Applications Demonstration Services ads_dev ADS Development ahl Complex Maintenance Repair and Overhaul ahm Hosting Manager(Obsolete) ak Common Modules-AK alr Alert ame Approvals Management amf Fulfillment Services (Obsolete)
作成した構成ファイルは、目的のスイートごとに.zip
ファイルに含めてアップロードする必要があることに注意してください。.zipファイルには、空でない.txt
ファイルしか含めることができません。また、これらのファイルはすべてルート・ディレクトリに存在する必要があります。つまり、サブディレクトリは許可されていません。実際の本番環境に基づいた適切な構成ファイルを目的のスイート用にアップロードする必要があります。構成ファイルの更新の手順は、M.7項「RUEIとEBS本番環境の同期化」に記載しています。
デフォルト(テンプレート)マッピングの利用
必要なマッピングの手動作成が現実的ではない場合は、すでにRUEIに構成されているデフォルト(テンプレート)マッピングを利用できます。この方法で適切なレベルのレポートを得られますが、次の制限事項があります。
form_name
: 通常、これは、機能の説明に変換される8文字のテクニカル名です。ただし、説明がない場合は、8文字のテクニカル名がかわりにレポートされます。
app
: 通常、これは、フォーム名とアプリケーションを関連付けるマッピング・ファイルから導出されます。ただし、導出されない場合は、フォーム名の先頭3文字がかわりにレポートされます。
application_name
: 通常、これはマッピング・ファイルから導出されます。ただし、導出されない場合は、かわりにapp
がレポートされます。
最新の一致情報
一般的にFormsのみの環境は時間とともに変化するため、マッピング情報を定期的に確認することを強くお薦めします。上記の制限は、最後にcreate_EBS_info.pl
スクリプトを実行してから、またはマッピング・ファイルを手動で作成してから環境に追加されたすべてのフォームに適用されることに注意してください。
Formsベース環境のメモリー要件
Formsベース・トラフィックの監視には、大容量のメモリーが必要になることに注意してください。たとえば、10,000件の同時Formsセッションの監視には、約10GBのコレクタ・メモリーが必要になります。このため、Formsベース・トラフィックをリモート・コレクタとして監視するコレクタには、少なくとも16GBのRAMをデプロイすることをお薦めします。または、単一サーバー・デプロイメントを使用している場合、サーバーには少なくとも32GBのRAMが必要です。
さらに、コレクタで使用できるシステム・メモリーのレベルを確認することを強くお薦めします。24GBのRAMを備えた単一サーバー・デプロイメントでは50%に設定する必要があります。32GBのRAMでは40%に設定する必要があります。使用可能なコレクタ・メモリーを増やす方法の詳細は、次のサイトを参照してください。
https://metalink2.oracle.com/metalink/plsql/f?p=130:14:7170176407577419410::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,762361.1,1,1,1,helvetica
多くの場合、EBSソフトウェアは標準以外のポート(8000など)を使用するように構成されます。EBSインストールが実行しているポートを確認するには、ログインURLを調べてください。これは次の形式になっています。
https(s)://hostname
:portnumber
/OA_HTML/AppsLogin
portnumber
が定義済ポート(後で説明)の1つとして構成されていることを確認します。また、HTTPSポートが指定される場合は、WebサーバーのSSL秘密鍵のコピーをコレクタ・システムにインポートするようにしてください。モードとポート番号の識別方法の詳細は、M.8項「ソケット・モードとサーブレット・モードのチェック」を参照してください。ポート番号を確認するには、13.2項「監視の有効範囲の管理」に記載されている手順を実行します。
EBSベースのアプリケーションのスイート定義を作成できます。作成方法は、サポートされている他のOracle Enterpriseアーキテクチャの場合と同じです。スイートを作成する手順は、10.1項「スイートの使用」に記載されています。
Formsを使用するEBSスイートの場合は、「Advanced」セクションを選択し、「Miscellaneous」タブをクリックすることに注意します。スイートの概要が、図M-1に示されるように変わります。
これらの設定の使用方法は次の項に記載されています。
RUEIではセッション情報はCookieに基づいています。Cookieは、ヒットを特定のアクセスに結び付けるために使用されます。一般的にCookieはユーザー・ログイン・ページにも結び付けられるため、RUEIは同じCookieを持つ後続のすべてのヒットにユーザー名を含めることができます。EBSにはいくつものCookieがあります。ただし、これらは通常は使用できません。これらの最大の問題は、一意性が低く(たとえばoracle.uix
)、範囲が狭い(たとえば、JSESSIONIDを使用できるのはWebサイトの/OA_HTML/
の部分のみ)ことです。
クライアント側のCookieメカニズムを実装することをお薦めします。この手順は、12.2項「Cookieテクノロジの指定」に記載されています。
注意: Formsのみの環境では、ビジターがForms内のアプリケーションにログオンすると、Formsログオン・ページのユーザーIDが自動的に追跡されます。 |
ドメイン全体に対応する一意のCookieを構成できない場合は、次の手順を実行する必要があります。
EBSサーバーで$OA_HTML/AppsLocalLogin.jsp
ファイルを探します。これは通常は$JAVA_TOPディレクトリにあります。
次のJavaScriptコードをページに追加します。
<SCRIPT LANGUAGE="JavaScript">if(document.cookie.indexOf('RUEItrack
=')==-1){document.cookie='RUEItrack
='+parseInt(Math.random()*2147418112)+new Date().getTime()+';path=/;domain='+document.location.host.substring(document.location.host.lastIndexOf('.', document.location.host.lastIndexOf('.') - 1));}</SCRIPT>
EBSログイン・ページを開き、ヘッダーの調査分析ツール(Mozilla Firefox用のLive HTTP Headersプラグインなど)を使用してRUEItrack
値がクライアント側に設定されていることを確認します。
重要:
また、既存のRUEItrack
Cookieを分析するとき、そのCookieがすべてのオブジェクトのヒットとリクエスト(.gif
ファイルや.js
ファイルなど)のためにクライアント側に存在することを確認します。あるいは、上記のJavaScriptコードをt.htm
ファイルまたはAppsLocalLogin.jsp
ファイルに追加して、パッチ・プルーフにすることができます。つまり、EBSのパッチまたはリリースを後でインストールしても上書きされないようになります。このJavaScriptを両方のファイルには追加しないでください。
Cookieの構成を確認する手順は、次のとおりです。
ブラウザですべてのCookieを消去します。
EBSアプリケーションに(再)ログインします。
Oracle Formsをロードする操作を実行します。
Oracle Formsでいくつかの操作を実行します。
ログアウトします。
少なくとも10分間待機します。
RUEIレポータ環境を開きます。
「Browse data」を選択し、「All sessions」グループを開いて「Session diagnostics」を選択します。記録されたセッション(ユーザーID別または時間別)を探します。アプリケーションについてフィルタリングできます。
セッションを開いて、次の点を確認します。
ログイン以外にページ・ビューがあること。これで、セッションIDがログイン後にOAフレームワークに保存されていることが確認されます。
少なくともある程度のOracle Formsアクティビティが「unidentified action」として記録されていること。これで、サーブレット・コールが正しく記録されていることが確認されます。
データ・ブラウザでレポートされるページ名に、図M-2でのハイライト表示部分のようなイベントが示されること。
すべてのヒットが同じCookieに関連していない場合、問題がある場所を調べて(たとえば、Cookieのドメインまたはパス・オプション)、適切な方法で解決することをお薦めします。
相関変数とセッションURL引数に関して指定する必要がある追跡メカニズムは、いくつかのフロー・チャートを使用して決定することをお薦めします。
FormsのセッションURL引数
図M-3に示す方法でセッションURL引数を決定できます。ソケット・モードで実行している場合、この設定は対応していません。そうでない場合は、各Formsセッションに一意の値を提供する引数をForms URLで調べる必要があります。通常、この引数はURLでセミコロンまたは疑問符の後にあります。たとえば、jsessionid
またはJServSessionIdforms
です。
相関変数
相関変数を使用すると、セッション(TCP上のソケット・モード)を1つのエンドユーザー・セッションにマージできます。図M-4に示す方法で相関変数を決定できます。
一意のクライアントIPアドレスが使用される場合、この設定は対応していません。ソケット・モードで実行している場合、HTTPトラフィックとソケットモード・トラフィックの両方で得られる相関変数(「INDEX_INITIAL_CMDLINE」に含まれる)の値がセッションの注釈として付けられます。EBS環境の場合、これは常にicx_ticket
変数を含みます。EBS以外の環境の場合、他の変数を指定する必要があります。HTTPレイヤーにおいて、Formsの初期化コールの問合せ部分で、またはgp1
=....&
gv1
=...
のような構文で、この変数が見つかります。ここで、gp1
に値の名前を示します。
HTTPレイヤーにおいて、次のように確認できる場合があります。
/OA_HTML/frmservlet?…&gp15=icx_ticket&gv15=255. 184.210.99jE82BtqiYLHJ8T6-bLxTLw…
または、次のように確認できます。
/OA_HTML/frmservlet?…&env=NLS_LANG='AMERICAN_AMERICA'+…+icx_ticket='255.184.210.99.jE82BtqiYLHJ8T6-bLxTLw..'+…
Formsレイヤーでは、変数INDEX_INITIAL_CMDLINEがコレクタのログ・ファイルで確認できることに注意してください。次に例を示します。
&Runform-001.INDEX_INITIAL_CMDLINE=server module=/oracle/r12/VIS12/apps/apps_st/appl/fnd/12.0.0/forms/US/FNDSCSGN fndnam=APPS config='VIS12' icx_ticket='255.184.210.99.jE82BtqiYLHJ8T6-bLxTLw..' resp='FND/APPLICATION_DEVELOPER' secgrp='STANDARD' start_func='FND_FNDPOMPO' other_params=…
セッション追跡Cookie
図M-5に示す方法でセッション追跡Cookieを決定できます。
一意のクライアントIPアドレスが識別される場合は、デフォルトのクライアントIPベースの追跡を使用できます。または、ホスト全体に対して一意の値を持つCookieが使用可能な場合は、JavaScriptを使用してこのCookieを作成できます。その他の場合は、デフォルトのEBS(JSESSIONID)追跡スキームを使用する必要があります。
たとえば、セッションCookieを追加するためにログイン・ページを変更できない場合があるとします。その場合は、Forms以外のトラフィックの別のEBS Cookie(たとえばJSESSIONID)を選択できます。相関関数を使用して、Forms以外のトラフィックをFormsベースのトラフィックに結び付けることができます。このとき、Forms以外のヒットはJSESSIONIDを使用して識別され、共有ヒットはJSESSIONIDと相関引数の組合せで識別され、Formsヒットはセッション追跡変数jsessionid
と最初のコマンド行の相関引数の組合せで識別されます。
Formsソケット・モードでは、アクティブなソケットモード・セッションが非アクティブになってから数分間は、コレクタがセッションを廃棄できないように設定できます。ご使用のEBS環境内で使用するタイムアウトを指定することをお薦めします。この設定はFormsソケット・モードのみに対応することに注意してください。
Formsソケット・モードのタイムアウトを指定する手順は、次のとおりです。
「Configuration」→「General」→「Advanced settings」→「Collector Forms settings」の順に選択します。「View」メニューを使用して、目的のコレクタを選択します。「System (localhost)」項目は、レポータ・システムで実行されているコレクタを表します。現時点で定義されているFormsソケット・モードのタイムアウト設定をクリックします。図M-6に示すダイアログが表示されます。
ソケット・モードのタイムアウトを指定します(分単位)。デフォルトは10分です。次に、「Save」をクリックします。
コレクタを再起動するように求められます。コレクタの再起動は、変更を有効にするために必要です。また、選択したコレクタを再起動するには、ツールバーの「Restart Collector」アイコンをクリックします。
Formsソケット・モードのタイムアウトは、EBS環境のタイムアウトよりも長く指定することができます。ただし、こうするとセッションの検出と監視が正常に行われる可能性が高なりますが、必要なメモリー容量が増えることに注意してください。
ご使用の環境でEBSフレームワークがどのように実装されているかをRUEIで認識するための手順は、次のとおりです。
create_EBS_info.pl
スクリプトをEBSサーバーのホーム・ディレクトリにコピーします。これはRUEIシステムの/var/opt/ruei/processor/local/download/ebs
ディレクトリにあります。
create_EBS_info.pl
スクリプトをEBSサーバーで任意のユーザーとして実行します脚注1。このスクリプトにより、環境内で識別されたページIDにIDが割り当てられます。create_EBS_info.pl
スクリプトは次の構文で実行してください。
create_EBS_info.pl -part
=all|DB|JTT|FORM [-connectstring
=connectstring
] [-debug
] [-exeloc=exedir
] [-dir=dir1
,dir2
]
構造の各要素の意味は、次のとおりです。
part
オプションには、生成されるファイルのサブセットを指定します。次のように指定できます。
all
: すべてのファイルが生成されます。これはデフォルトです。以下の3つのオプションを組み合せたものです。
DB
: このオプションは主としてEBS環境用です。構成ファイルのサブセットが生成されます。このオプション(またはall
オプション)を使用する場合は、-connectstring
パラメータを指定する必要があります。また、-exeloc
パラメータも指定する必要があります。これには、SQLPlus実行可能ファイルの場所を指定してください(PATHのいずれかのディレクトリにない場合)。
JTT
: このオプションは主としてEBS環境用です。すべてのJavaベース・ファイルが生成されます。Javaファイルの場所はAPPL_TOP設定に基づきます。設定がない場合、-dir
パラメータで指定されるディレクトリが使用されます。
FORM
: このオプションは主としてFormsベース環境用です。すべてのFormsベース・ファイルが生成されます。このオプション(またはall
オプション)を指定する場合は、-exeloc
パラメータを指定する必要があります。これには、frmcmp
またはfrmcmp_batch
実行可能ファイルの場所を指定してください(PATHのいずれかのディレクトリにない場合)。Forms(.fmb
)ファイルの場所はAPPL_TOP設定に基づきます。設定がない場合、-dir
パラメータで指定されるディレクトリが使用されます。
connectstring
には、データベースにアクセスできるようにSQLPlusに渡す文字列を指定します。
debug
は、デバッグ・モードを有効にする必要があることを示します。
execloc
は、実行可能ファイルがPATHのディレクトリのいずれかに存在しないこと、exedir
ディレクトリを検索する必要があることを示します。複数のディレクトリを指定するには、カンマで区切るか-exeloc
オプションを複数指定する必要があることに注意してください。
dir1
、dir2
などには、JavaまたはForms関連の情報を検索するディレクトリを指定します。複数のディレクトリを指定するには、カンマで区切るか-dir
オプションを複数指定する必要があることに注意してください。
スクリプトはAPPLSYSスキーマを読み取り、現在のディレクトリに.txt
ファイルを生成します。次に例を示します。
perl create_EBS_info.pl -part=all -connectstring=APPS/APPS@linux-ebs-r12-pc:1522/VIS12 perl create_EBS_info.pl -part=all -connectstring=APPS/APPS@VIS12
複数インスタンス環境では、目的のインスタンスごとにスクリプトを実行し、作成される.txt
ファイルを別に保存します。また、インスタンスごとに別のスイート定義を作成します。
注意: EBSアプリケーションに新たなカスタマイズを行う(または既存のカスタマイズを変更する)場合は、スクリプトを再実行して、生成されるzipファイルを再インポートする必要があります。 |
スクリプトを実行すると、実行したディレクトリにいくつかの.txt
ファイルが作成されます。関連するすべての.txt
ファイルは、.zip
ファイルにまとめて格納されます。RUEIレポータ・システムへのファイルのアップロードに使用できる場所に、この.zip
ファイルをコピーします。
10.1.2項「構成ファイルのアップロード」で説明している手順を実行し、生成されたファイルをレポータ・システムにアップロードします。
注意: create_EBS_info.pl スクリプトの実行中に警告またはエラー・メッセージを受け取った場合は、M.18.4項「create_EBS_info.plスクリプトでFRM-91500エラーがレポートされる」にある重要なトラブルシューティング情報を参照してください。 |
Perlインタプリタ
デフォルトではPerlインタプリタはMicrosoft Windowsには同梱されていません。多くの場合、Oracleデータベースおよび他のOracle製品の一部としてインストールされます。PerlインタプリタをMicrosoft Windowsシステムで探すには、「スタート」→「検索」→「ファイルやフォルダ」を選択して、perl.exe
を入力します。見つかった実行可能ファイルを使用して、構成スクリプトを実行します。
Perl実行可能ファイルがない場合は、RUEIシステムで上記の問合せのDB
の部分を実行できます(システムからEBSデータベースへの接続が可能な場合)。これは、リモート・ホストのEBSデータベースのAPPSスキーマを参照するconnectstring
の-part=DB
オプションを使用して実現できます。データベースベースのEBSカスタマイズのみが生成されることに注意してください(JTT/JavaベースのカスタマイズまたはFormsベースの変更は生成されません)。
create_EBS_info.pl
スクリプトの実行を省略した場合でも、RUEIによってEBSおよびFormsアクティビティのレポートは行われます。ただし、レポートされる名前はカスタマイズを反映しません。たとえば、職責が職責名ではなく職責キーでレポートされ、Formsがフォームの機能説明ではなくフォーム名でレポートされます。ほとんどカスタマイズが行われていない環境ではこれは問題になりません。
この項では、Oracle Formsサーバーがサーブレット・モードとソケット・モードのどちらで実行しているかをチェックする方法を説明します。
Oracle Applicationsリリース12
Oracle Applicationリリース12は、デフォルトの構成ではサーブレット・モードで実行します。
次のコマンドを使用します。
$ grep connectMode FORMS_WEB_CONFIG_FILE
現在の接続モードがレポートされます。
connectMode=servlet
または、次のコマンドを使用します。
$ grep frmConnectMode CONTEXT_FILE
現在の接続モードがレポートされます。
<forms_connect oa_var="s_frmConnectMode">servlet</forms_conr....
Oracle Applicationsリリース11
Oracle Applicationリリース11は、デフォルトの構成ではソケット・モードで実行します。
次のコマンドを使用します。
$ grep connectMode FORMS60_WEB_CONFIG_FILE
現在の接続モードがレポートされます。
connectMode=socket
次のコマンドを使用します。
$ grep xsport FORMS60_WEB_CONFIG_FILE
目的のポート番号が必要です。
xsport=9095
または、次のコマンドを使用します。
$ grep socket CONTEXT_FILE
現在の接続モードがレポートされます。
<forms_connect oa_var="s_frmConnectMode">socket</forms_conr....
HTMLソースのチェック
最後に、Oracle Formsアプリケーションの起動に使用するページのHTMLソースもチェックできます。Internet Explorerで行う場合は、「表示」→「ソース」を選択します。図M-7に示すように接続モードが含まれています。
関連する接続モードの情報をハイライト表示しています。
EBSの実装およびEBSのインスタンスはホスト名で識別できます。場合によっては、URL接頭辞で識別できます。一般的に、EBSスイートにアクセスする方法は2つあります。ホスト名のみを使用する方法、または完全修飾ホスト名(ドメインを含む)を使用する方法です。通常は、URL接頭辞なしでドメインのみを指定してください。特に設定を行っていないアプリケーションはデフォルトの場所でアクセスされます。
表M-1に、アプリケーションのディメンションがRUEIでどのようにレポートされるかを示します。
表M-1 EBSスイート定義のマッピング
ディメンション・レベル | 内容 |
---|---|
Application/Name |
|
Application/Page group |
|
Application/Page group |
|
構造の各要素の意味は、次のとおりです。
action_description
は、EBSデータベースの次のいずれかのエントリに対応するアクションの説明です。
FND_FORM_FUNCTIONS_TL表のUSER_FUNCTION_NAME列。
JDR_ATTRIBUTES表のATT_VALUE列(プロパティwindowTitle
、title
、docName
またはshortDesc
)。
application-name
は、FND_APPLICATION_TL表のAPPLICATION_NAME列に対応するアプリケーションの名前です。
app
は、FND_APPLICATION表のAPPLICATION_SHORT_NAME列に対応するアプリケーション短縮名です。
DAD_location
は、/pls/
で開始するパスのpls DAD定義の場所です(フル・ディレクトリ)。
form_action
は、アクションおよびアクションが実行された構成要素の説明です。
form_block
は、フォームの機能領域の名前です。
form_description
は、FND_FORM_TL表のUSER_FORM_NAME列に対応するフォームです。
form_name
は、8文字のテクニカル名です。
function_name
は、PLSコールの関数名です。
html_title
は、サーバーからエンド・ユーザーに送信されるHTMLから取得したタイトルです。
jsp_group
は、一連の.jsp
ファイルに割り当てられているグループ名です。
jsp_name
は、.jsp
ファイルのファイル名です。
n servlet_group
は、一連のサーブレットに割り当てられているグループ名です。
n sevlet_name
は、個々のサーブレットの名前です。
responsibility_key
は、FND_RESPONSIBILITY表のRESPONSIBILITY_KEYに対応する職責の名前です。
suite_name
は、作成時にスイートに指定されるユーザー定義名です。
図M-8に、EBSアプリケーションのRUEIでのレポートの例を示します。
次のEBSデータベース表は、カスタマイズに関する情報を取得するためにcreate_EBS_info.pl
スクリプトで使用されます。
APPLSYS.FND_FORM_FUNCTIONS
Function_id、application_id。
Function_idは、EBS_function_id2*.txt
ファイルにデータを移入するために使用されます。
APPLSYS.FND_FORM_FUNCTIONS
User_function_name。
APPLSYS.JDR_PATHS
名前およびツリー構造。
Path_nameは、EBS_pathname2*.txt
ファイルにデータを移入するために使用されます。
APPLSYS.FND_APPLICATION
アプリケーション短縮名。
Application_nameは、EBS_appshort2*.txt
ファイルにデータを移入するために使用されます。
APPLSYS.FND_APPLICATION_TL
アプリケーション名
APPLSYS.FND_FORM
Form_name、application_id
Form_nameは、EBS_formname2*.txt
ファイルにデータを移入するために使用されます。
APPLSYS.FND_FORM_TL
User-form-name。
APPLSYS.FND_RESPONSIBILITY
職責キー
APPLSYS.FND_RESPONSIBILITY_TL
職責の説明
APPLSYS.JDR_ATTRIBUTES
容易に取得できるように、select
文ではJDR_UTILSおよびJDR_MDS_INTERNALパッケージが使用されます。
各EBSフレームワークを分析して、すべてのヒットがオブジェクト・ヒットまたは、アクション・ヒットおよびページ・ヒットとして分類されるように正しい構成を得る必要があります。フレームワーク固有の考慮事項を次に示します。
OA
OAフレームワークは、M-V-C(Model-View-Controller)モデルを使用して構築されます コントローラはHTTPレベルで確認できる部分であるため、RUEIに関連するのはコントローラのみです。コントローラは、特定のページを表示するか、そのページを構成する別の場所にビジターをリダイレクトするかを内部で決定します。リダイレクトは自動的に認識されます。これはRUEIの標準の機能です。
URLパラメータに基づいてページ名が定義されます(リダイレクトの場合は、前のページのパラメータを含む元のURLではなく、リダイレクト先URLのURLを使用する必要があります)。コントローラの他に、このフレームワークには固定URL(OALogout.jsp
のようなコントローラをバイパスする)も含まれます。このようなファイルはJTTベース・ファイルと一緒に認識されます。
JTT
JTTフレームワークは、M-V-C(Model-View-Controller)モデルを使用して構築されます これはOAフレームワークの定義とは異なり、すべてのアプリケーションに対して1つのコントローラがあるのではなく、アプリケーションごとに1つ(または複数)のコントローラが存在します。つまり、関連する.jsp
ファイルの数が多く、関連するすべての.jsp
ファイルの調査が必要になります。.jsp
ファイルをサーバー側で分析すると、アプリケーション定義の判別が可能です(.jsp
ファイルの場所に基づいて)。
デフォルトのRUEIインストールでは、様々な種類のエラーが認識されます。これらはネットワーク・エラーおよびHTTPエラーです。また、関数エラーを(サイト・エラーとして)手動で追加する機能もあります。EBSフレームワークの場合、このようなコンテンツベースのエラーは自動的に分析できます。これを有効にするために、次に説明する機能が実装されます。
Oracle Formsエラー
Formsセッション中に発生するエラーは、様々なレイヤーが原因となっている可能性があります。
ネットワーク・エラーは、すべてのアプリケーションと同じ方法でRUEIでレポートされます。
HTTPサーバー・エラー(500、404など)は、すべてのアプリケーションと同じ方法でRUEIでレポートされます。
Formsサーブレット・エラー(サーブレット接続エラー)は、対応するifError
コードと一緒にレポートされます。これは、Formsフレームワークで発生する内部通信エラーです。
OAフレームワークの詳細は、次のサイトを参照してください。
http://www-apps.us.oracle.com:1100/fwk/fwksite/510/devguide/ess/ess_state.htm
OAベースのトラフィックは次のようにRUEIにマッピングされます。
コントローラは、ユーザーが開始するアクションのキー・インジケータとして使用されます。コントローラに密接に関連するヒットは、そのページの構成要素と仮定されます。OAフレームワークには、OA.jsp
とRF.jsp
という2つのコントローラがあります。
ページの名前は、コントローラに送られるパラメータに基づいて付けられます。function_id、_rc、akRegionCode、OAFunc、pageおよびregionというパラメータが考慮されます。(新しい)フォームまたは職責への参照を含まないページは、前のページのフォーム名または職責を保ちます。
パラメータのマッピング
マッピングが可能なのは、監視対象のデプロイメントと一致するIDがEBS_*.txt
ファイルに含まれる場合のみであることに注意してください。正しい構成ファイルを取得するには、スクリプト(M.7項「RUEIとEBS本番環境の同期化」を参照)を使用してデプロイメント環境から正しい情報を取得します。
このスクリプトでは、関連する情報を取得するために次の2つの方法が使用されます。
ローカルJSPファイルを分析して、すべてのJSPファイルの名前をJTT環境から取得します。これは、$APPL_TOPディレクトリでfind
文を実行して行います。
create_EBS_info.pl
スクリプトの一連のSQL文が、データベースからOAフレームワークの機能名を取得します。詳細設定は次の各項で説明します。
すべてのアクションがページに関連するとは限りません。このため、この項ではアクション(HTTPリクエストなど)がどのようにページ・ビューとしてレポートされるかを説明します。
ページについてのリクエストが受信されるたびに、OAフレームワークはOAPageContextを作成します。これは新しいページの処理が完了するまで存続します。特に、OAPageBean(ページ処理の中心機能)によってOAPageContextが作成されます。
RUEIでのレポートは、HTTPレベルで確認されるリクエストに基づくことに注意してください。ページが1つのリクエスト内で変化する場合、計測された時間は元のページに対してレポートされます。
Webアプリケーションの作業単位は、リクエストとレスポンスのペアです。ブラウザがリクエストを発行し、サーブレットがリクエストを処理してレスポンスを返します。レスポンスの送信は、1つのリクエストの終了、あるいは完了したリクエストと新しいリクエストの「境界」を示します。同様に、OAPageBeanがあるページの処理を完了したとき、これは現在のページと新しいページの「境界」です。したがって、次のシナリオでユーザーがページXからページAに、次にページBにナビゲートする場合、ページXとページAの間およびページAとページBの間に2つのリクエスト境界があります。また、ページ境界も、ページXとページAの間およびページAとページBの間という概念的に同じ場所にあります。これを図M-9に示します。
異なるリクエスト境界とページ境界
ただし、状況によっては、リクエストとページの境界は同じではありません。次のJSP Forwardのケースについて考えてみます。
図M-9に示すようにユーザーがページXからページAにナビゲートします。
ページAでユーザーが選択するコントロールが、レスポンスで表示するページを決める前にページAのコードを評価する必要があるというものです。このため、ブラウザはリクエストをページAに発行し、OAフレームワークがリクエストを処理します(ページのためのOAPageContextの作成など)。ページAで処理が完了すると、図M-10に示す最初のページ境界に到達します。
ページAのコード内では、ユーザーがどのコントロールを選択したかを開発者が評価して、JSP ForwardをページBに発行します。OAフレームワークは、ページAを再表示しないためにこの時点ではHTTPレスポンスを送らず、ページBの処理を開始します(このページのための新しいOAPageContextの作成など)。ページBで処理が終了すると、2番目のページ境界に到達します。
ここでページBをユーザーに表示する必要があるため、HTTPレスポンスがブラウザに送信されます。このときにリクエスト境界に到達します。
一般的なJSPアプリケーションの構築方法の詳細は、http://www-apps.us.oracle.com:1100/fwk/fwksite/510/devguide/ess/ess._jspprimer.htm
を参照してください。
表M-2に示すEBS固有のデータ・アイテムがRUEIでレポートされます。
表M-2 EBS固有のデータ・アイテム
項目 | 説明 |
---|---|
EBS suite/Code |
構成定義で定義されたEBSスイートのコード。このデータを使用して、監視対象の様々なEBSスイートを区別することができます。 |
EBS suite/Name |
構成定義で定義されたEBSスイートの名前。このデータを使用して、監視対象の様々なEBSスイートを区別することができます。 |
EBS framework/Name |
使用されるEBSフレームワーク。たとえば、FORMS(Formsトラフィック)、OA(Oracle Applicationフレームワーク)、JTT(JTTフレームワーク)、servlet(サーブレット)およびother-traffic(未分類のページ設定を選択した場合のみ表示されます。page-URLを使用して実際のURLを確認します)。 |
EBS form name/ID |
使用されるフォームのID。 |
EBS form name/Name |
使用されるフォームの説明。 |
EBS JSP filename/Filename |
使用されるJSPベース・ファイルの名前。たとえば、ログインイベントまたはrunformsなどのアクションが含まれることがあります。 |
EBS responsibility/Key |
領域にアクセスするために使用された職責キー。これは、OAフレームワークに関連するURLと、JTTファイルの限られたセットのみに適用されます。この場合、EBSフォーム名によって、エンド・ユーザーが参照していたフォーム名がレポートされます(FormsまたはOAフレームワークを使用)。 |
EBS responsibility/Name |
領域にアクセスするために使用された職責の説明。これは、OAフレームワークに関連するURLと、JTTファイルの限られたセットのみに適用されます。この場合、EBSフォーム名によって、エンド・ユーザーが参照していたフォーム名がレポートされます(FormsまたはOAフレームワークを使用)。 |
EBS module/ID |
エンド・ユーザーがナビゲートしたEBSモジュールのID。 |
EBS module/Name |
エンド・ユーザーがナビゲートしたEBSモジュール名。 |
EBS screen region/ID |
エンド・ユーザーがナビゲートしたEBSリージョンのID。 |
EBS screen region/Name |
エンド・ユーザーがナビゲートしたEBSリージョン・ビュー。 |
Total dabase time |
Forms関連の問合せをデータベースで実行するためにかかった時間(ミリ秒単位)。 |
次の資料が役に立つ場合があります。
OracleアプリケーションでSSLを使用するためのHTTPサーバーの構成(ノート341904.1)
Oracle Forms Service 10g: SSLでのトランスポート・レイヤー・セキュリティの構成(ホワイト・ペーパー)
Oracle Application Server Forms Services利用ガイド10gリリース2(10.1.2)、5.11 Oracle Forms ServicesおよびSSL
JPIクライアント(Sunプラグイン)のためにSSLを有効にする方法(ノート307429.1)
現在、RUEIはEBSのすべての機能には対応していません。特に次の制約事項がすでに判明しています。
Formsフレームワークにはレポートを作成する機能が含まれます。この機能ではユーザーが高度な構成を行うことができます。結果として、レポートを自動的に追跡することができません。また、レポートのために関連するビジネス指向名が含まれる便利な変換用の表もありません。解決方法としては、判明しているレポートURLを変換ファイルに基づいて正しいレポート名に記述し直すことしかできません。
この問題に関する補足情報ですが、一部のユーザーがjobs機能を使用してレポートを作成していることに注意してください。この方法は安全ではありません。前後の番号を簡単に推測できるため、権限を持たないユーザーがレポートを表示できる可能性があるためです。名前(数字のみ)がランダムであるため、このようなタイプのレポートの使用時にレポートに関するレポートを生成しても役に立ちません。
ここで説明した問題のために、Formsのレポートは監視されません。
レポートは、最後にアクティブになった部分に基づいて行われます。したがって、1人のエンドユーザーが複数のブラウザ・ウィンドウで同時に参照しているとき、レポートされるページ名には正しくない情報が含まれることがあります。
現在、OAおよびJTTフレームワークに基づくアプリケーションしかサポートされません。このため、Oracle Applications Manager(OAM)やOracle Portalのようなパッケージは現時点ではサポートされていません。
この項では、EBSアプリケーションを監視するときに特によく発生する問題について説明します。カスタマ・サポートに問い合せる前に、この項の内容を確認してください。
予期されるネットワーク・トラフィックがレポートされないように見える場合は、次の点を確認することをお薦めします。
RUEIが、OA、JTT、PLS、Oracle Formsおよびサーブレット・フレームワークに基づくEBSアプリケーションを監視できること。一般的に、スイートはインストールごとに異なる特定のポートで実行するように構成されます。これもRUEIに指定する必要があります。「Configuration」→「Security」→「Protocols」を選択します。定義されたポート設定を確認し、EBSアプリケーションの要件を満たすようにします。
RUEIシステムでデータの受信が開始しても、自動的にレポートされないこと。最小でも1つのアプリケーションを定義する必要があります。このアプリケーションは、少なくとも関連するドメイン名と、そのドメイン内の一意のページIDスキームを含む必要があります。
監視対象のトラフィックにVLANカプセル化トラフィックが含まれる場合は、そのトラフィックがRUEIで構成されていることを確認します。「System」→「Configuration」→「Security」→「Network filters」→「VLAN traffic」を順に選択して、定義済の設定を確認します。この機能の使用方法の詳細は、13.3.2項「VLANフィルタの定義」に記載されています。
EBSには、追加設定せずにセッション追跡のために使用可能なCookieはないことに注意してください。したがって、Cookieはログイン・ページで作成される必要があります。このCookieがアプリケーション全体に対応します。デフォルトでは、Jession
Cookieはアプリケーション・リンクのみに対応し、イメージ、CGIおよびライブラリには対応しません。oracle.uix
Cookieはすべてのヒットに対応しますが、ビジターごとに一意ではありません。
トラフィック・サマリー機能(「System」→「Status」→「Data processing」の順に選択)はアプリケーション・ロジックに基づいているため、トラフィックの概要にはアプリケーション以外(スイート、サービス、SSOなど)のトラフィックは示されません。
EBSスイート定義を構成した後で、EBSアプリケーションにログインし、アプリケーションでクリティカル・パスを実行することを強くお薦めします。その後、RUEIで記録されたアクションを検索し、セッション診断機能を使用してそれらが正しくレポートされていることを確認します。具体的には、次のとおりです。
説明がレポートされ、コードはレポートされないことを確認します。アプリケーション名のかわりにコードまたはページグループ名のかわりにページグループ・レベルがレポートされる場合、create_EBS_info.pl
スクリプトから導出された情報が正常にアクティブ化されていません。
短いセッションが多数レポートされる場合は、Formsトラフィックが測定されていません。
.jsp
ファイルが多数レポートされる場合は、手動ページ・ネーミングの必要性を示します(ユーザーが必要とする場合)。
レポートされるトラフィックの大部分を識別されないアクションが占める場合、Formsの追跡が正常に機能していません。次の項目に注意する必要があります。
ステータス・バーやテキストフィールドなどが表示されない場合は、監視対象トラフィックの特定の特性が取得されていません。この場合は、カスタマ・サポートに問い合せてください。
監視対象のすべてのトラフィックが識別されないアクションとしてレポートされる場合は、スイートの概要(図M-6を参照)の「Forms」タブで指定されている「URL prefix」および「Session URL argument」設定が、環境で使用されている設定と一致することを確認する必要があります。この情報は「Page URL」ディメンションに含まれます。
サーバー・ポートが正しく構成されていることを確認します。特に、サーブレット・ポートがHTTPポートとして構成されていることを確認します。
セッションが「anonymous」としてレポートされるが、ユーザーIDがすべてのセッション・キューブにある場合は、スイートの概要(図M-6を参照)の「Forms」タブに指定されている「Correlation URL argument」を確認する必要があります。
create_EBS_info.pl
スクリプトをUNIXシステムで実行すると、次のエラーが複数回レポートされます。
FRM-91500: Unable to start/complete the build.
これは、frmbatch
スクリプトがユーザー・インタフェースにアクセスできないために発生します。次の項目に注意する必要があります。
DISPLAY変数が正しく設定されていることを確認します。これはxclock
またはxeyes
などX Window Systemのツールを使用して確認できます。また、別のサーバーのX Windows Systemを使用できるようにするSSHのXフォワードも検討してください。
frmcmp_batch
スクリプトは、X Windows Systemなしで機能しようとします。これは、create_EBS_info.pl
構成スクリプトで使用される最初のスクリプトです。次のコマンドを使用して表示モードを設定します。
$ set ORACLE_TERM=vt220; export ORACLE_TERM
一部のシステムではzip機能はPerlパッケージと一緒にインストールされません。この場合は次のメッセージが表示されます。
The Archive::Zip package is not available on this system.
このメッセージの後で、サンプル・コマンドによってアーカイブの作成方法が示されます。アーカイブには空のファイルを含めないこと、およびファイルをディレクトリに入れないことに注意してください。これらに違反すると、RUEIにアップロードできません。または、適切なディレクトリでコマンドzip
EBS_*txt
を実行することもできます。
frmcmp_batch
スクリプトが不明なエラーで失敗し、次のようなレポートが生成されます。
execution of 'frmcmp_batch module=XXX/XXX/XXX.fmb module_type=form batch=yes logon=no forms_doc=yes strip_source=yes build=no output_file=/tmp/XXX.txt' failed: 11. Ignoring /XXX/XXX/XXX.fmb
これは、レポートされた.fmb
ファイルが.txt
形式に変換できなかったこと(おそらくは破損のため)を示しています。すべての.fmb
ファイルのうち少数のみがレポートされる場合は、問題ありません。実際、レポートされたフォームは本番環境で機能しない可能性が高いためです。ただし、レポートされたフォームをWebサイトのビジターが頻繁に使用しており、異常がないことがわかっている場合は、この問題をレポートしてください。このとき、関連する.fmb
ファイルと一緒に、EBS環境でのファイルのデプロイ方法がわかる情報も提供してください。
create_EBS_info.pl
スクリプトを実行しているときにエラーまたは警告(あるいは両方)を受け取った場合は、エラーや警告の種類に応じて次のようにします。
データベース関連:
次のコマンドを発行して、create_EBS_INFO.pl
スクリプトに指定されているconnectstring
を確認します。
sqlplusconnectstring
@temporarysqlfile
Forms関連:
frmcmp
またはfrmcmp_batch
が正常に機能していません。この問題のトラブルシューティング情報の詳細は、「ノート266731.1」(https://support.oracle.com/CSP/ui/flash.html
)を参照してください。
frmcmp
またはfrmcmp_batch
がsig 11セグメント・エラーを返します。これはGRDDHIST.fmb
について発生することがわかっています。
脚注
脚注1:このスクリプトは、本番環境と同じであれば検収環境でも実行できます。