EDMRptAclogコマンドの次に示す機能の処理方式について説明します。
EDMRptAclogコマンドの集計機能では,まず,アクセスログファイル中のアクセスログを解析して,アクセスログエントリごとにアクセスログ表を作成します。その上で,動作環境定義ファイルの内容や,コマンドに指定するオプションに従って,アクセス種別(アクセスログの集計項目)で分類・集計して,結果を標準出力(stdout)またはファイルに出力します。
アクセスログ表には,動作環境定義ファイルに指定されているOIIDまたは操作対象識別子(OIID変換,操作対象識別子変換の変換対象)を含むアクセスログエントリだけでなく,アクセス種別で分類できるすべてのアクセスログエントリが出力されます。例えば,次のようなアクセスログエントリも出力されます。
これらのアクセスログエントリには,メソッド名の後ろに付加情報が付いている場合があります。アクセスログ表には,アクセスログエントリに含まれる付加情報の個数分の行が出力されます。OIIDおよび操作対象識別子は付加情報の一種であり,例えば,OIIDが2個含まれているアクセスログエントリに対して,アクセスログ表は2行出力されます。
アクセスログ表の項目を次の表に示します。
表6-3 アクセスログ表の項目
項目名 | 説明 |
---|---|
日付 | アクセスした日付(年/月/日)。 |
時刻 | アクセスした時刻(時:分:秒.ミリ秒)。 |
ユーザ名 | アクセスしたユーザのユーザ名。 |
アクセス種別 | connect,create,delete,error,refer,searchまたはupdateのどれか。アクセス種別については,「表4-1 集計機能で分類されるアクセスの内容と集計項目(アクセス種別)の関係」を参照してください。 |
OIIDの末尾16バイト | アクセス対象オブジェクトを示す16進数の数値。アクセス対象オブジェクトが登録された時に,文書空間内で割り当てられたオブジェクト番号です。 |
OIIDに対応するプロパティ | アクセス対象オブジェクトのプロパティの値/クラス名。 ただし,プロパティ拡張情報ファイルに変換対象のプロパティのクラス識別子が指定されていない場合は,アクセス対象オブジェクトを示す16進数の数値が出力されます。 |
なお,動作環境定義ファイルに指定されているOIIDまたは操作対象識別子を含むアクセスログエントリのアクセスログ表を作成する場合,そのOIIDまたは操作対象識別子は,OIID変換機能,操作対象識別子変換機能によって対応するプロパティの値に置き換えられます。それ以外の場合,アクセスログ表のOIIDの末尾16バイトおよびOIIDに対応するプロパティの値は空白になります。アクセスログ表の例を次の表に示します。
表6-4 アクセスログ表の例
日付 | 時刻 | ユーザ名 | アクセス種別 | OIIDの末尾16バイト | OIIDに対応するプロパティ |
---|---|---|---|---|---|
2000/06/19 | 02:18:19.388 | ACUser6 | connect | 0000000000001216 | 設計書/usrClass |
2000/06/19 | 02:18:52.261 | ACUser6 | create | 0000000000001216 | 設計書/usrClass |
2000/06/19 | 02:19:16.420 | ACUser6 | refer | 0000000000001216 | 設計書/usrClass |
2000/06/19 | 02:19:16.420 | ACUser6 | refer | 0000000000001221 | 企画書/usrClass |
アクセスログ表は,EDMRptAclogコマンド実行時に-vtオプションを指定することによって出力できます。
アクセスログエントリを集計するときの集計対象は次の二つです。
2000/06/19 02:18:52.261 ACUser6 DISCONNECT |
ただし,-kオプションに集計キー定義ファイルを指定したときの集計対象は,集計キー定義ファイルで指定された項目によって異なります。集計キー定義ファイルで指定された項目別の集計対象を次の表に示します。
表6-5 集計キー定義ファイルで指定された項目別の集計対象
集計キー定義ファイルで指定された項目 | 集計対象 | |
---|---|---|
OIIDおよび操作対象識別子を含まないアクセスログエントリ | OIID変換または操作対象識別子変換の変換対象を含むアクセスログエントリ | |
ユーザ | ○ | ○ |
オブジェクト | × | ○ |
ユーザおよびオブジェクト | × | ○ |
なお,OIID変換,操作対象識別子変換の変換対象を含むアクセスログエントリで,一つのアクセスログエントリにOIIDまたは操作対象識別子が二つ出現したとき,それぞれのOIIDまたは操作対象識別子の変換後の値によって集計のしかたが異なります。
EDMRptAclogコマンドのOIID変換機能,操作対象識別子変換機能では,プロパティ拡張情報ファイルを参照し,アクセスログ中のOIIDおよび操作対象識別子に置き換えるプロパティの値をデータベースから取得して変換します。
OIID変換機能の処理の流れを次の図に示します。
図6-1 OIID変換機能の処理の流れ
図6-1の1~4について説明します。
操作対象識別子変換機能の処理の流れを次の図に示します。なお,次の図では,バージョン識別子に対して操作対象識別子変換を実行する場合の処理の流れを示しています。
図6-2 操作対象識別子変換機能の処理の流れ(バージョン識別子の場合)
図6-2の1~6について説明します。
表6-6 操作対象識別子別のデータベースで検索するテーブル名およびカラム名
操作対象識別子名 (オブジェクト変換モード) | テーブル名 | カラム名 |
---|---|---|
バージョン識別子(VD) | dmaClass_VerDescription | dmaProp_Version |
リレーション識別子(RL) | edmClass_Relationship | dmaProp_Head |
リンク識別子(LD) | dmaClass_DCRelationship | dmaProp_Head |
リンク識別子(LR) | dmaClass_RCRelationship | dmaProp_Head |
リンク識別子(LV) | edmClass_VTCRelationship | dmaProp_Head |
OIID変換,操作対象識別子変換でエラーが発生した場合に考えられるエラーの要因については,「5.1.2 OIID変換,操作対象識別子変換時のエラー処理」を参照してください。
アクセスログエントリには,アクセスの内容を表すメソッド名と引数が含まれています。EDMRptAclogコマンドのエントリ抽出機能では,抽出エントリ定義ファイルに指定されたメソッド名と引数によって,アクセスログエントリを抽出して,結果を標準出力(stdout)またはファイルに出力します。