web-dev-qa-db-ja.com

レポート目的でのイベントのロギング

レポートおよびBIシステムで使用するイベントのロギングに関する設計パターンまたはベストプラクティスはありますか?.

たとえば、Webサイトからの注文を管理するシステムでは、顧客サポート担当者が注文番号を入力して、注文が特定の日に行われ、特定の日に発送され、別の日に配送されたことを確認できれば有益です。

これを回避する方法は2つあります。フィールドを持つ注文オブジェクトがあります:

OrderDate
DespatchDate
DeliveryDate

それらが発生した場合はそれらを入力し、そうでない場合はnullになります

OR

次のようなメッセージのようなイベントのログを記録します。

Order Number - "12312312" - Ordered on '2014/01/01'
Order Number - "12312312" - Despatched on '2014/01/01'

イベントをデータベースに追加して追加します。

これに関するガイドラインはありますか?たとえば、TFSの作業項目履歴はどのように機能しますか?

TFS History

7
Nick Williams

ロバートは彼の答えで良い指摘をしました。

さらに、Martin Fowler here (および、より一般的には Temporal Patterns )によって記述されているように、監査ログを確認することもできます。これらのイベントのビジネスアクティビティの監視/ビジネスレポートだけではなく、イベントソーシングを確認することもできます。 Fowlerが紹介 here を提供します。

これらの用語を使用して、ウェブ上の他の意見を検索できます。

9
Oliver Baier

これが生成されて誰かに渡される実際のビジネス関連レポートである場合は、データベースにイベントレコードを生成し、それらのレコードからレポートを作成します。単にメッセージを添付するのではなく、レコードに実際の意味の意味を与えます。つまり、彼らを一流の市民にするのです。

ロギングは別の目的に役立ちます。ロギングは、ビジネスロジックメカニズムではなく、システム監視ツールとして意図されています。レポートがビジネスの運営に不可欠な部分である場合は、アプリケーションの不可欠な部分にします。

7
Robert Harvey