现在的位置: 首页 > 综合 > 正文

【讨论】【工作流】由资源模式中的“权限分配”想到资源结构

2012年11月11日 ⁄ 综合 ⁄ 共 686字 ⁄ 字号 评论关闭

最近正在向PE中加入资源模式的控制,在测试权限分配模式时,发现了资源结构的问题,在此和大家分享、讨论。

首先简单解释一下权限分配模式:即参与活动的人,由其权限决定。

比如:审批流程中的审批活动必须由经理来完成,其中经理是“权限”概念的一种。

这个模式本身不复杂,大部分工作流系统都支持,PE当然不能不支持...^_^.....

但是,如果连带思考资源的结构时,就会发现问题。

关键是,参与者和权限之前的关系并不是多对一这么简单的关系,不同企业定义他们之间的关系不同,一般来讲,至少是多对多的关系;

即某个参与者拥有多重权限,而每种权限可以分配给多个参与者。把这种关系映射到数据库模式中,大家都知道需要3个表来维护,比如:User,RoleOfUser,Role。

这样,RoleOfUser就成为了User和Role之间的连接者。既然RoleOfUser在数据库中实际存在的,那么它在流程资源中存在吗?这个问题很重要.

如果不存在,RoleOfUser就不在流程系统的控制中,这样Role和User之间的关系对于流程系统等于是没有;那么它就应该存在。

有了RoleOfUser这个资源,上面的这个模式就不那么简单了。试想,流程设计者想表达的是,只有经理级别的参与者才能审批,但是经理和参与者之间还有个中间人,即RoleOfUser。如此,流程设计者就必须把表达方式改为:只有RoleOfUser的Role是经理,同时RoleOfUser的User是某某时,才能审批。

虽然,通过这种方式的确可以实现权限分配模式;但从优雅和简洁的角度看,这个解决方案并不理想。如果哪位有更好的想法,请不吝赐教。

抱歉!评论已关闭.