2008-11-17 53 views
1

我有一个应用程序允许不同的用户更新一些数据,然后发布到网站。该应用程序使用JPA作为持久层。我现在想为此场景添加一些工作流程管理,以便当具有初级角色的用户更新数据时,不会直接发布,而是等待高级用户前来审批更新。虽然更新未经批准,但原始数据应保持可见。使用Java EE进行简单的工作流管理

理想情况下,高级用户应该能够拒绝更新,并且初级用户将看到被拒绝并相应地编辑更新。

问题是,创建这种场景的好模式是什么?

我有麻烦缠着我的部分是如何表示更改的数据,而不重复我拥有的每个实体。那么在批准之前对数据进行多重更改呢?

我认为command模式,因为它允许一种撤消类型。我想知道是否有人有类似的情况下的经验,并有任何建议提供?

我应该指出,我知道一些工具,如JBPM这是一个工作流引擎,但我希望避免将这些工具集成到现有架构中的复杂性。如果有人指出使用这种工具最终可以提高生产力,我将不胜感激。

感谢

回答

1

是的,我绝对认为你正在做在什么情况下开始不同业务流程。使用像JBPM或drools-flow这样的工具(您应该仔细看看)不仅可以表达您的问题,还可以让您通过其提供的设计人员了解应用程序的流程。你可以直接使用你的应用程序作为文档的工作。