在jBPM中,d的分配有两种模式Q?
一般的应用中,角色与用L的概忉|较常见,而参与者池则不常见?
针对一个Task一般会有多个可能的操作Q而不同的角色有可能有权限q行其中的一部分或全部操作。所以,不同角色有可能属于相同的参与者池Q一个角色也有可能被加入到多个参与者池中?
一 般用L是按l织架构q行划分的,在同一个用L可能会有多个不同的角Ԍ或者具有不U别的权限。即使将同一角色、具有同一U别权限的用户划分ؓ一l,? 不能回避h更高U别权限的用h作低U别工作d的情Ş。另一斚wQ在Multi-Entity架构下,也存在跨Entity操作的情形?
总而言之,参与者池是区别于按角艌Ӏ按l织q行划分的、一U特别的用户分组Ҏ。换a之,参与者池其实也是可以预先定义的?
既然参与者池是可以预见的Q那么在“拉模式”下Q何时进行Q务分配计呢Q?
毫无疑问Q在工作系l中Q计是在Q务状态{换时自动完成的。(当然Q相对于应用的事务提交,工作的q些操作都可以是异步完成的。)
因些Q“拉”的含义Q不是在用户hd列表时才去计他/她的所有工作项Q恰恰相反,无论是“拉”或是“推”,工作系l其实都预先计算好了参与者的d列表或可以从中挑选Q务的“Q务池”?
Jbpm的如来神掌就没有上面的简单了Q它l合应用了状态图+zd?PetriNet的知识,而且Q这里的zd图还是UML2.0版的? UML2.0的活动图中,节点不叫zdQActivityQ而叫动作QactionQ,zd成了一个高层次的概念,它包含一个动作序列。一个活动图展现一 pd的动作,q些动作l成了活动。Jbpm把action也改名了Q称为state。Jbpm使用的状态图的概忉|transition/event{, q个自己ȝ吧。Jbpm来内部实Cq采用了PetriNet的概念,如tokenQsignal{。什么?又不知道PetriNet什么东东?那你? 学是学计机的吗Q不是?那你可能是学文科的,学机?甉|/土木工程/交通运输等专业都有接触PetriNet的课E,如果没有学过Q还是看看jbpm 吧,反正我们也不搞理论,知道大致概念p?/p>
http://finance.jrj.com.cn/news/2007-06-20/000002347063.html
4QOpenWFE
5QEOS: ftp://211.152.33.58