`
xiechangming
  • 浏览: 26027 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Audit Trail Framwork实现系列-需求

阅读更多

 

最近要求实现Audit Trail Framework ,简单的说就是记录业务数据的修改,以便以后查询谁,在什么时候,做了什么的修改。比如,Supplier 有个属性叫做Name, 如果一个用户 A 于今天2 点将一个Supplier sp1Namea 改成b, 那么就要记下来该用户A 在今天2 点将Supplier sp1Name 属性从 a 改成了b

业务中将这些修改称作Amend Log ,针对某个业务对象,可查看其Amend Logs ,如对某个Supplier ,其展示给用户的显示模式如下:

Action

Data Key

From

To

Remark

Modify

Name

name1

name2

 

Add Supplier Type

Supplier Type

 

Depot

 

Remove Supplier Type

Supplir Type

Facility

 

 

Add Contact

Main - person name1

 

Purpose:Main
Contact Name:person1

Address1: nanjin XXX

...

 

Modify Contact

Main - person name2

Purpose:Main
Contact Name:person1

Address: nanjin XXX

...

Purpose:Main
Contact Name:person2

Address: nanjin XXX

...

 

 

在这里先介绍一下该例子中的业务Supplier 的领域模型,其类图如下:

Supplier domain model

 

以上的例子算是比较简单的了,在项目中通常一个业务实体有很复杂的关联,比如 Order->ChargeSummary->ChargeDetail 下的 Amount 属性改变了,从 Order Amend Log 列表中可以查询出 Amount 的属性的变化。

 

需要实现的 Audit Trail Framework 要求以非侵入式的方式集成到应用系统中去,即业务逻辑不需要与 Audit Trail 耦合,并且以最简单的配置来实现对关系的业务数据的监控 , 简单非常重要,并且易于维护,如果使用者不够简单的配置,不能方便的维护,则对项目的维护成本很大。

 

将如何设计呢?

 

 

  • 大小: 49.9 KB
0
7
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics