快速业务通道

使用JBoss jBPM实现流程访问和执行的授权 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
查看和管理运行中流程执行(execution)的方 法。

管理服务,提供一组查看和管理工作(job)的方法

任务服务,提供一组查看和管理用户任务(task)的方法。

历史服务,提供一组访问运行中和已完成流程执行的历史信息的方法。

这组可用服务和实现这些服务的类(使用前面说的绑定)被配置成流程引擎的上下文。

服务执行被实现成一组命令(command),它们作为服务方法执行的一部分被调用。命令的实际执行由 命令服务控制。

命令服务在命令服务上下文中被配置成一组拦截器,实现横切关注点,环绕(around)命令调用(命 令执行管线)。缺省的jBPM分发包在命令执行管线中 携带了以下拦截器:

重试(Retry)拦截器负责重试命令执行

环境(Environment)拦截器负责在必要时把jBPM上下文注入命 令执行中

事务(Transaction)拦截器负责介入命令调用的事务边界划分。

拦截器是将jBPM移植到不同环境以及引入其他横切关注点的核心机制。

命令执行一般会利用环境,它也是可配置的。典型的环境组件有:

仓储会话

DB会话

消息会话

定时器会话

历史会话

邮件会话

可以添加其他会话来扩展PVM的功能。

使用JBoss jBPM实现流程访问和执行的授权(3)

时间:2011-08-09 infoq 译:胡键

最后,部署管理器配置允许指定一组部署器,它们依次执行,把业务流程部署到PVM。这种方法使得扩 展流程定义可以通过实现额外的部署步骤完成,无需覆盖 jBPM分发包自带的部署器。

整个PVM的架构如图1示:

图 1 PVM架构

在流程定义中引入授权

我们在图2中看到,可以给流程定义添加任意属性。利用这种扩展选项,我们现在定义以下流程属性, 描述授权策略:

starter-users,具有“starter”角色的用户列表

starter-groups,具有 “starter”角色的组列表

user-users,具有“user”角色的用户列表

user-groups,具 有“user”角色的组列表

每个属性的值是逗号分隔的组/用户id列表。

图 2 流程定义模式

使用JBoss jBPM实现流程访问和执行的授权(4)

时间:2011-08-09 infoq 译:胡键

此外,我们还定义了一个特殊的用户类型——“any”和两个用户组——“all”和“admin”。任何用 户,不论其真实ID是什么,都是“any”用 户。任何组,不论其ID是什么,也都是“all”。最后, “admin”组的成员被认为是任意组的成员。

流程授权定义由以下规则驱动:

如果user-users和user-groups都未被指定,则user-users=”all”

如果 starter-users和starte-groups都未被指定,则流程用户被额外地分配“starter”角色。

按照这个规则,清单1中的流程可以被任何人启动和使用。

<process package="com.navteq.jbpm"     key="NO_AUTHORIZATION"     name="Test Authorization not required"  version="1"     xmlns="http://jbpm.org/4.0/jpdl"> <start g="68,14,48,48" name="start" >   <transition to="end"/> </start> <end g="78,383,48,48" name="end"/> </process>

清单 1 没有授权信息的流程定义

清单2的流程可以被mark或tomcat组中的任何人使用和启动。

<process package="com.navteq.jbpm"   key="AUTHORIZATION"   name="Test  Authorization Required" version="1"   xmlns="http://jbpm.org/4.0/jpdl"   user- users="mark"   user-group

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号