我有一个应用程序允许不同的用户更新一些数据,然后发布到网站。该应用程序使用JPA作为持久层。我现在想为此场景添加一些工作流程管理,以便当具有初级角色的用户更新数据时,不会直接发布,而是等待高级用户前来审批更新。虽然更新未经批准,但原始数据应保持可见。使用Java EE进行简单的工作流管理
理想情况下,高级用户应该能够拒绝更新,并且初级用户将看到被拒绝并相应地编辑更新。
问题是,创建这种场景的好模式是什么?
我有麻烦缠着我的部分是如何表示更改的数据,而不重复我拥有的每个实体。那么在批准之前对数据进行多重更改呢?
我认为command模式,因为它允许一种撤消类型。我想知道是否有人有类似的情况下的经验,并有任何建议提供?
我应该指出,我知道一些工具,如JBPM这是一个工作流引擎,但我希望避免将这些工具集成到现有架构中的复杂性。如果有人指出使用这种工具最终可以提高生产力,我将不胜感激。
感谢