Auditing

Work With Plus では、実行される各アクションに対するトランザクションを監査できます。これは、監査が有効なトランザクション内で各アクションが実行された後の結果であり、ユーザーが完全にコントロールできるプロシージャーが呼び出されます。

Auditing プロシージャーの目的は、上記のプロセスを監査するための独自の方法をユーザーが開発できるようにすることです。たとえば、トランザクションの新しいレコードがデータベースに追加されるたびに、それを通知するログレコードを挿入したり、関連するユーザーに通知を送信したりするように開発することができます。

この機能を有効にするには、インスタンスのメインノードを選択して、そのプロパティのいずれかを変更する必要があります。

プロパティ [Enable Auditing] を [True] に設定します:

次に、オブジェクトを保存します。この後、LoadAuditPerson と名付けられたプロシージャーが Person トランザクションのインスタンスに作成されたことが分かります:

このプロシージャーによって次の情報が SDT 「AuditingObject」内にロードされます:

- アクションが実行されたトランザクション名
-
監査されたアクション (Insert、Update、Delete)。これはトランザクションの 1 番目のレベルと 2 番目のレベルの各アイテムのために含まれます。
- 各項目属性が次の場合:
                             - 主キーに属する場合
                             - トランザクションの名称項目属性の場合
                             - 古い値 (レコードを更新または削除した場合)
                             - 新しい値 (レコードを挿入または更新した場合)

このことが、Person トランザクションのルール内にパターンによって次のコードが追加される理由です:

[WWP Configuration] 内に、トランザクションの 1 番目のレベルのみに監査を実行するか、または 1 番目と 2 番目のレベルに実行するかどうかを判断する [Template] ノードのプロパティがあります。これらの違いは、プロシージャーを呼び出すルールと情報をロードするプロシージャーにあります。このプロパティは、[Auditing Levels] です。

After Trn イベントでは、パターンによって AuditTransaction プロシージャーが呼び出されます:

このプロシージャーでは、実行されたアクションに関して取得された情報を使用して、どのアクティビティ (ログ、通知など) が行われるのかが判断されます。トランザクションを監査する際の実行内容を判断する必要があるのはユーザーであるため、既定ではコードがありません。アクションのすべての情報を含む SDT を受け取ります。

[AuditingObject] の構造は、次のとおりです:

 

アクションのモード (Insert、Update、Delete)、レコードが属するトランザクションのテーブルの名前が含まれます。また、トランザクションの各項目属性については、その名前、trn の主キーに属するのかどうか、およびその古い値と新しい値が含まれます。

古い値は更新 (Update) または削除 (Delete) の場合に適用され、新しい値は追加 (Insert) または更新の場合に適用されます (これは削除の場合に新しい値が存在しないためです)。 

どちらのオブジェクトも Auditing フォルダ内に配置されます。

Auditing の例では、次のように一部の情報が含まれたビジネスコンポーネントであるトランザクション「Audit」が作成される可能性があります:

次に、AuditTransaction プロシージャーでは、ユーザーの情報、変更された項目属性、日時などを使用して、呼び出しのたびにこのトランザクションのレコードを作成する動作をコード化することができます。このプロシージャーには、トランザクションに加えられた変更をデータベース内に保存するための提示される命令がいくつか含まれています。

また、WorkWithPlus パターンを Audit トランザクションに適用する場合、次のように監査情報を表示できます:

これは、監査の一例に過ぎませんが、開発者は監査情報を使用して必要な作業を実行できます。


Copyright © 2007-2015 DVelop Software Solutions - www.workwithplus.com