• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
bobmazelin
博客园    首页    新随笔    联系   管理    订阅  订阅

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

权限分配模式

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

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

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

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

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

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

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

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

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

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

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

posted @ 2008-10-17 10:58  bobmazelin  阅读(2046)  评论(7)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3